Home » Modeling » MDT (Model Development Tools) » [Sphinx] The 20 Modeling Things
[Sphinx] The 20 Modeling Things [message #514149] |
Fri, 12 February 2010 15:32  |
Eclipse User |
|
|
|
Hi all,
as you might already know, Kenn and I have submitted a talk about "The
20 Modeling Things" to upcoming EclipseCon
( http://www.eclipsecon.org/2010/sessions/?page=sessions&i d=1315) and got
accepted. In this talk we want to give a high level overview of the most
essential services required for building integrated modeling tool
applications. These services could later be implemented in the recently
announced Sphinx project - with a part of them coming from the
Backbone/Core from Papyrus and the ECL layer from Artop.
Kenn and I had the idea to base this talk not only on our own thoughts
but on feedback from all members of Papyrus and Artop development team.
We already have identified an initial version of the 20 Modeling Things
including some comments detailing them a little bit (see below). We
would like to ask you to have a look at this list and comment on it.
Just let us know what you intuitively think. Tell us which of the
proposed services you find important, what their mandatory
features/properties should be, additional services that should be added,
services which you don't find important and should be removed from the
list (if any), or anything else.
In order to have enough time for consolidating your feedback an create
the presentation slides, it would be great if you could provide us your
feedback until Feb 28, 2010. While this message has also been sent out
to Papyrus and Artop mailing lists for reaching all of you, I think that
it would make sense to route all feedback over a single communication
channel. So please use only the MDT forum/newsgroup for posting your
response.
Thank you very much in advance,
Stephan & Kenn
And this is our initial list of 20 Modeling Things:
1. lifecycle management
- open, edit, save, delete
- synchronization with filesystem (or other persistence back end)
2. navigation
- views (navigate, explore, browse), including omnibar, also traversal
of links
- containment structure vs. lateral references
3. editor management
- editing domain management
- support for different kinds of editors
4. commands / "transactions"
- execution of commands (possibly complex) in a thread safe way
- allowing undo (rollback)
- integration with the undo/redo mechanisms in eclipse
5. validation
- all things validation (rules, execution, scope, problems view, markers)
- support for this in a scalable way!
6. compare & merge
- differences between different version of artifacts
- graphical merge (diagram support)
7. scoping (viewpoints)
- models typically spread over multiple files of multiple types
- relation of projects to models, also "working sets"?
- references between projects
- supports models from different versions of a metamodel at same time
- "model" vs. resources, subsetting of these
8. metamodel management
- multiple metamodels
- multiple versions of a metamodel
- between different versions of metamodels
- metamodel extension
9. memory management
- management of memory footprint
10. query & indexing
- getting answers to questions, finding things
- useful for validation (markers),
- index underlying service for query, but also for other things
- useful for navigation and search as well
11. documentation and report generation
- modeling documentation ("modeldoc"?), wikitext, BIRT?
12. persistence
- files vs. databases vs. web servers vs. repositories
13. code generation
- obvious
14. transformation
- (obvious)
15. search & replace
- (obvious)
16. variant handling (maybe rather advanced than essential?)
- variants of model elements
- feature modeling, aspect-oriented modeling, facets
17. task focused modeling
- Mylyn integration
18. workflow & scripting
- MWE, epsilon? other languages (Ruby, Groovy?)
19. build system
- complex build environments to generate code, documentation, etc.
- mixed processing of models (e.g. validation, code generation) and
files (e.g. compilation and linking)
20. version management / team integration
- configuration management, etc. (CDO, MTF)
|
|
|
Re: [Sphinx] The 20 Modeling Things [message #514549 is a reply to message #514149] |
Mon, 15 February 2010 17:48   |
Eclipse User |
|
|
|
Hi all,
Please find below some suggestions on existing items and new features at
the end.
Cheers,
Atos Origin team : Raphaël, Thibault, Emilien and Tristan
Stephan Eberle a écrit :
> Hi all,
>
>
> And this is our initial list of 20 Modeling Things:
>
> 1. lifecycle management
>
> - open, edit, save, delete
> - synchronization with filesystem (or other persistence back end)
- "lazy loading capability" (possible to load only a few model fragments
and not the whole model).
>
> 2. navigation
>
> - views (navigate, explore, browse), including omnibar, also traversal
> of links
filter elements/diagrams from a model explorer view (means the ability
to define filters and store them as preferences).
> - containment structure vs. lateral references
>
> 3. editor management
>
> - editing domain management
> - support for different kinds of editors
- Properties view : user interface concerning model elements:
Capabilities to edit graphical properties and semantic properties
>
> 4. commands / "transactions"
>
> - execution of commands (possibly complex) in a thread safe way
> - allowing undo (rollback)
> - integration with the undo/redo mechanisms in eclipse
>
> 5. validation
>
> - all things validation (rules, execution, scope, problems view, markers)
> - support for this in a scalable way!
>
> 6. compare & merge
>
> - differences between different version of artifacts
> - graphical merge (diagram support)
>
> 7. scoping (viewpoints)
>
> - models typically spread over multiple files of multiple types
> - relation of projects to models, also "working sets"?
> - references between projects
> - supports models from different versions of a metamodel at same time
> - "model" vs. resources, subsetting of these
>
> 8. metamodel management
>
> - multiple metamodels
> - multiple versions of a metamodel
> - between different versions of metamodels
> - metamodel extension
>
> 9. memory management
>
> - management of memory footprint
>
> 10. query & indexing
>
> - getting answers to questions, finding things
> - useful for validation (markers),
> - index underlying service for query, but also for other things
> - useful for navigation and search as well
>
> 11. documentation and report generation
>
> - modeling documentation ("modeldoc"?), wikitext, BIRT?
- doc2model: creating EMF models from existing documentation with data
formalized through styles, columns, tags or regex => link to existing
Eclise project.
- model2doc: consume models to build/complete a documentation (this
solution already exists in TOPCASED and will be migrated to MDT Papyrus
in a few months)
>
> 12. persistence
>
> - files vs. databases vs. web servers vs. repositories
>
> 13. code generation
>
> - obvious
>
> 14. transformation
>
> - (obvious)
>
> 15. search & replace
>
> - (obvious)
>
> 16. variant handling (maybe rather advanced than essential?)
>
> - variants of model elements
> - feature modeling, aspect-oriented modeling, facets
>
> 17. task focused modeling
>
> - Mylyn integration
>
> 18. workflow & scripting
>
> - MWE, epsilon? other languages (Ruby, Groovy?)
>
> 19. build system
>
> - complex build environments to generate code, documentation, etc.
> - mixed processing of models (e.g. validation, code generation) and
> files (e.g. compilation and linking)
>
> 20. version management / team integration
>
> - configuration management, etc. (CDO, MTF)
21.Collaborative work :
- control mode command (EMF control command to split a model resource
into several resources = model fragments)
- export mode command (control mode with all dependencies to father
model embbeded into a cache to get an autonomous sub model that can be
sent by e-mail) and dual import mode command
- integrate existing model into current model (with diagrams) at a given
position in the model
- lock management
- role management (identify who did what + authorizations)
- CDO/Teneo
22. Customization : editors, property view, model explorer,...
The final idea is to give the possibility to end users to configure the
platform to support THEIR process.
23 : model simulation/animation - see links to Eclipse MXF proposal.
- debug the behavior of a model when defined.
|
|
|
Re: [Sphinx] The 20 Modeling Things [message #514647 is a reply to message #514149] |
Tue, 16 February 2010 08:38  |
Eclipse User |
|
|
|
Hi all,
Please find below some suggestions on existing items and new features at
the end.
Cheers,
Atos Origin team : Raphaël, Thibault, Emilien and Tristan
Stephan Eberle a écrit :
> Hi all,
>
>
> And this is our initial list of 20 Modeling Things:
>
> 1. lifecycle management
>
> - open, edit, save, delete
> - synchronization with filesystem (or other persistence back end)
- "lazy loading capability" (possible to load only a few model fragments
and not the whole model).
>
> 2. navigation
>
> - views (navigate, explore, browse), including omnibar, also
traversal of links
filter elements/diagrams from a model explorer view (means the ability
to define filters and store them as preferences).
> - containment structure vs. lateral references
>
> 3. editor management
>
> - editing domain management
> - support for different kinds of editors
- Properties view : user interface concerning model elements:
Capabilities to edit graphical properties and semantic properties
>
> 4. commands / "transactions"
>
> - execution of commands (possibly complex) in a thread safe way
> - allowing undo (rollback)
> - integration with the undo/redo mechanisms in eclipse
>
> 5. validation
>
> - all things validation (rules, execution, scope, problems view, markers)
> - support for this in a scalable way!
>
> 6. compare & merge
>
> - differences between different version of artifacts
> - graphical merge (diagram support)
>
> 7. scoping (viewpoints)
>
> - models typically spread over multiple files of multiple types
> - relation of projects to models, also "working sets"?
> - references between projects
> - supports models from different versions of a metamodel at same time
> - "model" vs. resources, subsetting of these
>
> 8. metamodel management
>
> - multiple metamodels
> - multiple versions of a metamodel
> - between different versions of metamodels
> - metamodel extension
>
> 9. memory management
>
> - management of memory footprint
>
> 10. query & indexing
>
> - getting answers to questions, finding things
> - useful for validation (markers),
> - index underlying service for query, but also for other things
> - useful for navigation and search as well
>
> 11. documentation and report generation
>
> - modeling documentation ("modeldoc"?), wikitext, BIRT?
- doc2model: creating EMF models from existing documentation with data
formalized through styles, columns, tags or regex => link to existing
Eclise project.
- model2doc: consume models to build/complete a documentation (this
solution already exists in TOPCASED and will be migrated to MDT Papyrus
in a few months)
>
> 12. persistence
>
> - files vs. databases vs. web servers vs. repositories
>
> 13. code generation
>
> - obvious
>
> 14. transformation
>
> - (obvious)
>
> 15. search & replace
>
> - (obvious)
>
> 16. variant handling (maybe rather advanced than essential?)
>
> - variants of model elements
> - feature modeling, aspect-oriented modeling, facets
>
> 17. task focused modeling
>
> - Mylyn integration
>
> 18. workflow & scripting
>
> - MWE, epsilon? other languages (Ruby, Groovy?)
>
> 19. build system
>
> - complex build environments to generate code, documentation, etc.
> - mixed processing of models (e.g. validation, code generation) and
files (e.g. compilation and linking)
>
> 20. version management / team integration
>
> - configuration management, etc. (CDO, MTF)
21.Collaborative work :
- control mode command (EMF control command to split a model resource
into several resources = model fragments)
- export mode command (control mode with all dependencies to father
model embbeded into a cache to get an autonomous sub model that can be
sent by e-mail) and dual import mode command
- integrate existing model into current model (with diagrams) at a given
position in the model
- lock management
- role management (identify who did what + authorizations)
- CDO/Teneo
22. Customization : editors, property view, model explorer,...
The final idea is to give the possibility to end users to configure the
platform to support THEIR process.
23 : model simulation/animation - see links to Eclipse MXF proposal.
- debug the behavior of a model when defined.
Stephan Eberle a écrit :
|
|
|
Re: [Sphinx] The 20 Modeling Things [message #602824 is a reply to message #514149] |
Tue, 16 February 2010 08:38  |
Eclipse User |
|
|
|
Hi all,
Please find below some suggestions on existing items and new features at
the end.
Cheers,
Atos Origin team : Raphaël, Thibault, Emilien and Tristan
Stephan Eberle a écrit :
> Hi all,
>
>
> And this is our initial list of 20 Modeling Things:
>
> 1. lifecycle management
>
> - open, edit, save, delete
> - synchronization with filesystem (or other persistence back end)
- "lazy loading capability" (possible to load only a few model fragments
and not the whole model).
>
> 2. navigation
>
> - views (navigate, explore, browse), including omnibar, also
traversal of links
filter elements/diagrams from a model explorer view (means the ability
to define filters and store them as preferences).
> - containment structure vs. lateral references
>
> 3. editor management
>
> - editing domain management
> - support for different kinds of editors
- Properties view : user interface concerning model elements:
Capabilities to edit graphical properties and semantic properties
>
> 4. commands / "transactions"
>
> - execution of commands (possibly complex) in a thread safe way
> - allowing undo (rollback)
> - integration with the undo/redo mechanisms in eclipse
>
> 5. validation
>
> - all things validation (rules, execution, scope, problems view, markers)
> - support for this in a scalable way!
>
> 6. compare & merge
>
> - differences between different version of artifacts
> - graphical merge (diagram support)
>
> 7. scoping (viewpoints)
>
> - models typically spread over multiple files of multiple types
> - relation of projects to models, also "working sets"?
> - references between projects
> - supports models from different versions of a metamodel at same time
> - "model" vs. resources, subsetting of these
>
> 8. metamodel management
>
> - multiple metamodels
> - multiple versions of a metamodel
> - between different versions of metamodels
> - metamodel extension
>
> 9. memory management
>
> - management of memory footprint
>
> 10. query & indexing
>
> - getting answers to questions, finding things
> - useful for validation (markers),
> - index underlying service for query, but also for other things
> - useful for navigation and search as well
>
> 11. documentation and report generation
>
> - modeling documentation ("modeldoc"?), wikitext, BIRT?
- doc2model: creating EMF models from existing documentation with data
formalized through styles, columns, tags or regex => link to existing
Eclise project.
- model2doc: consume models to build/complete a documentation (this
solution already exists in TOPCASED and will be migrated to MDT Papyrus
in a few months)
>
> 12. persistence
>
> - files vs. databases vs. web servers vs. repositories
>
> 13. code generation
>
> - obvious
>
> 14. transformation
>
> - (obvious)
>
> 15. search & replace
>
> - (obvious)
>
> 16. variant handling (maybe rather advanced than essential?)
>
> - variants of model elements
> - feature modeling, aspect-oriented modeling, facets
>
> 17. task focused modeling
>
> - Mylyn integration
>
> 18. workflow & scripting
>
> - MWE, epsilon? other languages (Ruby, Groovy?)
>
> 19. build system
>
> - complex build environments to generate code, documentation, etc.
> - mixed processing of models (e.g. validation, code generation) and
files (e.g. compilation and linking)
>
> 20. version management / team integration
>
> - configuration management, etc. (CDO, MTF)
21.Collaborative work :
- control mode command (EMF control command to split a model resource
into several resources = model fragments)
- export mode command (control mode with all dependencies to father
model embbeded into a cache to get an autonomous sub model that can be
sent by e-mail) and dual import mode command
- integrate existing model into current model (with diagrams) at a given
position in the model
- lock management
- role management (identify who did what + authorizations)
- CDO/Teneo
22. Customization : editors, property view, model explorer,...
The final idea is to give the possibility to end users to configure the
platform to support THEIR process.
23 : model simulation/animation - see links to Eclipse MXF proposal.
- debug the behavior of a model when defined.
Stephan Eberle a écrit :
|
|
|
Goto Forum:
Current Time: Tue Feb 18 12:13:13 GMT 2025
Powered by FUDForum. Page generated in 0.04282 seconds
|