Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » MDT (Model Development Tools) » [Sphinx] The 20 Modeling Things
[Sphinx] The 20 Modeling Things [message #514149] Fri, 12 February 2010 15:32 Go to next message
Stephan Eberle is currently offline Stephan Eberle
Messages: 35
Registered: July 2009
Member

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 Go to previous messageGo to next message
Raphael Faudou is currently offline Raphael Faudou
Messages: 80
Registered: July 2009
Member
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 Go to previous message
Raphael Faudou is currently offline Raphael Faudou
Messages: 80
Registered: July 2009
Member
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 Go to previous message
Raphael Faudou is currently offline Raphael Faudou
Messages: 80
Registered: July 2009
Member
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 :
Previous Topic:[Sphinx] The 20 Modeling Things
Next Topic:MDT/BPMN2 output format
Goto Forum:
  


Current Time: Tue Sep 23 18:37:47 GMT 2014

Powered by FUDForum. Page generated in 0.02362 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software