-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve Variable and Debug views #97
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
added several diagrams documenting the current state of the simulation and model animation framework API Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
New Self variable that is points to the target of the instructions of the selected stack frame Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
In case a single step create several nested eObjects, only the fields of the root one were shown. (ex: a runtime containing a turtle does not show the turtle fields). Now, when a new object is detected, it recursively look into its content. Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
add a button in order to display variable in a nested way if another variable already contains it contributes to #87 Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
- in order to differenciate currentinstruction and context - in order to use an uri based printable name instead of the java toString() Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
also removed public/private warnings Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
topmost frame is the stack created but not run yet as it is different from java usual presentation, let's differenciate it but putting it in italic Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
it highlights static data versus dynamic data using a small lock/unlock overlay Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
it highlights static data versus dynamic data using a small lock/unlock overlay Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
allows to clarify runtime data and static data in the tree - uses yellow lock (bottom right) for RTD - uses red closed lock (top right) for unmodifiable static data - uses green open lock (top right) for unmodifiable static data Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
this allows to navigate to the containing element in the tree and display a more consistent status in the label decorator Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
use uriBased name instead of java internal id when dealing with EObjects Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
added several diagrams documenting the current state of the simulation and model animation framework API Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
New Self variable that is points to the target of the instructions of the selected stack frame Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
In case a single step create several nested eObjects, only the fields of the root one were shown. (ex: a runtime containing a turtle does not show the turtle fields). Now, when a new object is detected, it recursively look into its content. Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
add a button in order to display variable in a nested way if another variable already contains it contributes to #87 Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
- in order to differenciate currentinstruction and context - in order to use an uri based printable name instead of the java toString() Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
also removed public/private warnings Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
topmost frame is the stack created but not run yet as it is different from java usual presentation, let's differenciate it but putting it in italic Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
it highlights static data versus dynamic data using a small lock/unlock overlay Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
it highlights static data versus dynamic data using a small lock/unlock overlay Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
allows to clarify runtime data and static data in the tree - uses yellow lock (bottom right) for RTD - uses red closed lock (top right) for unmodifiable static data - uses green open lock (top right) for unmodifiable static data Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
this allows to navigate to the containing element in the tree and display a more consistent status in the label decorator Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
use uriBased name instead of java internal id when dealing with EObjects Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
…studio-modeldebugging.git into improve-variable-view
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
The top frame (Global context/Engine) now is able to display its context: in this case we consider the resource use an adpater in order to display the context/resource/EList as an EObject suitable for the debugger Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
This project is used to provide an EObject representation of the Engine context This is used by an adapter class in the debugger Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
ie. ignore the top step "about to start" this allows to focus on a frame that shows runtime data changes in yellow Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
dvojtise
added a commit
to eclipse/gemoc-studio-execution-java
that referenced
this pull request
Jan 14, 2020
) * documentation of the simulation and model animation framework API ** added several diagrams documenting the current state of the simulation and model animation framework API * add a new "self" variable in the variable view ** New Self variable that points to the target of the instructions of the selected stack frame * fix creation of mutable variable when creating several nested eObject ** In case a single step create several nested eObjects, only the fields of the root one were shown. (ex: a runtime containing a turtle does not show the turtle fields). Now, when a new object is detected, it recursively looks into its content. * Nested / flat variable layout in Debug Variable view ** add a button in order to display variable in a nested way if another variable already contains it contributes to eclipse/gemoc-studio-modeldebugging#87 * small optimisation when looping on mutable variables * improve stack frame text ** in order to differentiate currentinstruction and context ** in order to use an uri based printable name instead of the java toString() * distinguish context and current instruction ** also removed some public/private warnings in code * when selecting stack frame, use currentInstruction in xtext editor * differentiate topmost frame from other ** topmost frame is the stack created but not run yet as it is different from java usual presentation, let's differentiate it but putting it in italic * add a decoration on variable icons ** it highlights static data versus dynamic data using a small lock/unlock overlay ** allows to clarify runtime data and static data in the tree *** uses yellow lock (bottom right) for RTD *** uses red closed lock (top right) for unmodifiable static data *** uses green open lock (top right) for unmodifiable static data * add notion of parent in DSLDebugElement ** this allows to navigate to the containing element in the tree and display a more consistent status in the label decorator * improve display name for the variable ** use uriBased name instead of java internal id when dealing with EObjects ** rename frame "Global context" into "Engine" * top frame also get context/instruction different presentation ** The top frame (Global context/Engine) now is able to display its context: in this case we consider the resource use an adapter in order to display the context/resource/EList as an EObject suitable for the debugger * Engine frame uses the resource name as part of its name * add new project o.e.g.executionframework.engine.model to the studio ** This project is used to provide an EObject representation of the Engine context This is used by an adapter class in the debugger * select the topmost frame where the step is actually started ** ie. ignore the top step "about to start" this allows to focus on a frame that shows runtime data changes in yellow contributes to eclipse/gemoc-studio-modeldebugging#87 eclipse/gemoc-studio-modeldebugging#88 and eclipse/gemoc-studio-modeldebugging#91 Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR provides several improvements to the Variable view and the Debug view (Stack)
It tries to harmonize several displays.
Debug (Stack) view
-- when these 2 notions points to 2 different model elements, then the frame name is displayed differently. It uses an arrow
=>
to indicates the current instruction.-- this greatly improves support for languages with nested content (such as block) and language with an xtext grammar. In xtext editor, this is the current instruction that will be highlighted.
-- the context of this frame is now the emf resource.
Variable view
-- the green vs red color for the static data is an experimental support for enabling/disabling changes in the static part of the model (live modeling). It should be red everywhere but due to other limitation not handled yet, only the top element is in red.
Official examples
FSM and Logo example not using this PR.
![runtime-fix_modeldebugging_83 - model_examples-square logo - gemoc studio _109_before](https://user-images.githubusercontent.com/661468/53809532-38400300-3f55-11e9-9710-3bcf2ed1bdb7.png)
FSM and Logo example with this PR.
![runtime-fix_modeldebugging_83 - model_examples-square logo - gemoc studio _108_after_varaible_view_improvement](https://user-images.githubusercontent.com/661468/53809782-ba302c00-3f55-11e9-945e-5e1ec41aa355.png)
Logo with this PR and experimental nested layout
![runtime-fix_modeldebugging_83 - model_examples-square logo - gemoc studio _110_variable_experimental](https://user-images.githubusercontent.com/661468/53810834-15fbb480-3f58-11e9-8e82-d287e00c5200.png)
This PR contributes to #87 #88 and #91
This PR comes with eclipse/gemoc-studio#143