Date /Référence MOVIDA studio : a modeling environment to create viewpoints and manage variability in views Marie Gouyette, INRIA Olivier Barais, IRISA Université Rennes 1 Jérôme Le Noir, Thalès Reseach and Technology Cédric Brun, Obeo Marcos Almeida Da Silva, LIP6 Xavier Blanc, Labri, Daniel Exertier, Thalès Corporate Services, Jean-Marc Jézéquel, Irisa, Université de Rennes 1
53
Embed
Date /Référence MOVIDA studio : a modeling environment to create viewpoints and manage variability in views Marie Gouyette, INRIA Olivier Barais, IRISA.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Da
te /R
éfé
renc
e
MOVIDA studio : a modeling environment to create viewpoints and manage variability in
• Viewpoint : an encapsulation of partialinformation about a system (1)
• View : an integration of different types of information taken from the same viewpoint (1)
(1) SOMMERVILLE I., SAWYER P., Viewpoints : principles, problems and a practicalapproach to requirements engineering , Ann. Softw. Eng., vol. 3, 1997, p. 101–130, J. C.Baltzer AG, Science Publishers
3
4
Viewpoint modeling examples
Exchanges viewpoint Safety Viewpoint
Here, two viewpoints on the same architecture.Safety viewpoint add temperature concern (display temperature and used fan).
4
5 5
Challenges
StandardsStandards
OMG Diagram definition RFP
OMG Common Variability Language RFP IEEE-1471 – ISO/IEC 42010
OMG Diagram definition RFP
OMG Common Variability Language RFP IEEE-1471 – ISO/IEC 42010
NeedsNeeds
Environment to define architecture setting
Tool and methodology sustaining a grand scale
Environment to define architecture setting
Tool and methodology sustaining a grand scale
Define basis of multi-view engineering in Model Driven Engineering context (MDE)
Point of view definition (Obeo)
Inconsistencies detection (Praxis, LIP6, UPMC)
Representation definition (Obeo)
Model composability (INRIA)
Variability (INRIA)
Multi-criteria analysis to select the best compromise of architecture (Thales)
Define basis of multi-view engineering in Model Driven Engineering context (MDE)
Point of view definition (Obeo)
Inconsistencies detection (Praxis, LIP6, UPMC)
Representation definition (Obeo)
Model composability (INRIA)
Variability (INRIA)
Multi-criteria analysis to select the best compromise of architecture (Thales)
Scientific stakesScientific stakes
6 6
MOVIDA Overview 1/2
• MOVIDA : MOdelling VIews and Decision support for Architects
• ANR project (2009-2011)• Aim : multi-view engineering in Model Driven Engineering
context (MDE)
• Partners :
Multi-criteria analysis to select the best compromise of architecture (Thales)
7 7
MOVIDA Overview 2/2
Viewpoint definition
Representation definition
Use of Obeo Designer
Viewpoint definition
Representation definition
Use of Obeo Designer
Multi-criteria analysis to select the best compromise of architecture
Multi-criteria analysis to select the best compromise of architecture
Variability
Composability
Variability tool
Variability
Composability
Variability tool
Inconsistencies detection
Use of Praxis
Inconsistencies detection
Use of Praxis
8 8
Check inconsistencies between the different viewpoint
• Is information from different viewpoints on the same system are consistent?
• How to check it? • => Writing some constraints
• Should Manage :• Incremental check : check only the last actions on the model not
the whole actions on the model
• Multi-model : detect inconsistencies between different models
9 9
Variability overview
• Software Product Line (SPL) : • Engineering techniques to manage software systems that have some
commonalities and some variations (variability) between them
• Variability can be modeled through features.• Feature :
• “a distinguishable characteristic of a concept (e.g system components and so on) that is relevant to some stakeholder of the concept” (1)
(1) Ulrich W. Eisenecker, K.C., ed.: Generative Programming : Method Tools and Applications. Addison-Wesley Professional (2000)
10 10
Variability example
11 11
Obeo Designer
12 12
MOVIDA tools presentation
• We will present here three of tools used in MOVIDA :• Obeo Designer (Obeo)
• Praxis (UPMC, LIP6)
• Variability tool (INRIA/IRISA)
13 13
Obeo Designer
• Aims :• Express a need
• Describe a solution
• Check the model
• Produce code or documentation
• Keep consistency between model and code
Graphical modeling
14 14
Obeo Designer
• Modelers adapted to your own needs :
Your know-how Your modeler Your users
15 15
Obeo Designer
• Applicative domains :
Applicative cartography Software design ex : UML, SOA
Products catalogex : Insurance
System engineeringEx : SysML, Marte, EAST-ADL Risk analysis Business process
ex : BPMN, SPEM
Enterprise Architectureex : Togaf
Your domain
16 16
Obeo Designer
• Key functionalities :• No code to define the modeler
Modeler described by a model, dynamically interpreted
• Numerous possibilities of representation
Diagrams, tables, matrices, trees
• Viewpoint approach
Presentation of information necessary and sufficient
• Traceability Synchronization between model and generated code
• Integration to Eclipse environmentBased on EMF, GMF and Acceleo
17 17
Obeo Designer
Principles :
18 18
Obeo Designer
• Obeo Designer based on : • Eclipse platform
• Some components of the project Eclipse modeling
19 19
Obeo Designer
TO DO add 1 or 2 more technical slides :Graphical conceptsMapping language
20 20
Praxis overview
• Aim : Incremental detection of inconsistency in design models
• Principles :• Model represented as the set of construction actions
• Incremental inconsistency detection based on increments
• Tool separated into two parts :• PraxisRules inconsisteny rules editor
• Praxis inconsistency detector
21 21
Praxis : choices made
• Construction Actions :
• Six actions based on MOF metamodel
• Create and Delete• Ex: create(a, class)
• AddProperty and RemProperty• Ex: addProperty(a, name, ‘User’)
• AddReference and RemReference• Ex: addReference(a, ownedOperation, op)
• PraxisRules :• Rule based language based on Prolog
• Aim : model variability on an architecture with the possibility to derive it to obtain the final architecture
• Tool separated into four parts :• Graphical feature diagram editor with constraints to check it
• Base Model Decorator
• Selection Engine
• Product Derivation engine
• Technologies used :• EMF (Eclipse Modeling Framework)
• Obeo Designer
• Praxis
• Kermeta (Domain Specific Language dedicated to metamodel engineering (INRIA Triskell team)
27 27
Variability tool : choices made
• Feature metamodel :
• Decomposition edge such as or, xor (called here alternative), card
• Attributes : associate metadata to features
• Direct mapping with Domain model elements in features
• Graphical notation :• similar to FORM notation (Kang et al. (1) ) (but simplification of the
notation on the tool)
• Constraints :• Integrated with the graphical editor
(1) Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A Feature-Oriented Reuse Methodwith Domain-Specific Reference Architectures. Ann. Softw. Eng. 5 (1998) 143–168