0
Università degli Studi dell’AquilaMegamodeling                                     Ivano Malavolta        DISIM Department...
The material in these slides may be freely reproducedand distributed, partially or totally, as far as an explicitreference...
Global Model ManagementMegamodelingThe AM3 Project     The AM3 Core Metamegamodel     Extending AM3Examples
According to MDE, software development and maintenance are    based on chains of model transformations       •   Model-to-...
In real life A LOT of models and transformations are involved
http://www.di.univaq.it/malavolta
Involved models can be of very various natures:    • UML models,    • XML documents,    • models conforming to different m...
Managing global resources in the field of Model-Driven                            Engineering (MDE)    These resources sho...
How can we abstract from all that complexity?    The simplest way is to apply general MDE principles to the    handling of...
The activitiy of representing references to models andrelationships between them as a model called MEGAMODELIntroduced in ...
Intuitively, a megamodel can be seen as a MAP to find and link    together all the involved models                        ...
The goal of AM3 (AtlanMod MegaModel Management) is toprovide a practical support for modeling in the large it is a concre...
Technically, it is a…                                                       METAMEGAMODEL! The basis of AM3 It allows to s...
This part nicely represents the relationship between the artifacts involved in MDE                                        ...
The AM3 user interface is generic since it does not depend   either on the models, metamodels or other artifacts within th...
The main part of the IDEIt is an Eclipse ViewLEFT. Navigation across thedifferent elements of themetamegamodel, considerin...
Specific editor for each element of the megamodelDisplays the fields defined in the (extended) metamegamodelWith a givenex...
The AM3 platform is based on Eclipse and provides a set of    layers to manage megamodels and models   This is where the A...
How to identify                 Language for querying                      Locates models (file                           ...
The AM3 platform can be extended for managing your own    entities for your specific needs    Main extension points: Metam...
Other extension points:     Locator     Allows extensions to provide new locators for indicating the physical     location...
AM3 has been used for:    • Management of model transformations (single and composite)    • Management of Domain-Specific ...
It shows how megamodeling can be used to manage and    navigate the different development artifactshttp://wiki.eclipse.org...
Two kinds of links: 1. model-level links are stored within the megamodel and are    directly navigable 2. model element-le...
The extended AM3 Core metamodel        Model-level          links                                                      Mod...
The screenshots show how the different links are managed by the AM3 megamodel editor                   Model-level        ...
Demo
Picture from International Standard for Systems andSoftware Engineering – Architectural Description(ISO/IEC /IEEE42010)   ...
Architecture Frameworks       4+1 views        MODAF                          Picture from International Standard for Syst...
Stakeholder concerns can vary tremendouslynature of the systemproject-specific constraintsorganizational constraintsdomain...
We require a way to                        It is common practice capture stakeholder’s                      to use multipl...
Hilliard, R. Malavolta, I. Muccini, H. Pelliccione, P., On the                                  Composition and Reuse of V...
Model Kinds    Architectural Languages                      System Concerns  Stakeholders                                 ...
Model Kinds                    System Concerns                               Architectural Languages  Stakeholders        ...
In MEGAF, amegamodel storesall the AD elementsMegamodels in combination with weaving models forcoordinating sets of archi...
Viewpoints: system, behaviour, web servicesConcerns: modularity, distribution, REST, concurrency, dependabilityStakeholder...
Demo
Megamodeling
Upcoming SlideShare
Loading in...5
×

Megamodeling

655

Published on

Advanced Software Engineering course - Guest Lecture

Weaving Models

This presentation has been developed in the context of the Advanced Software Engineering course at the DISIM Department of the University of L’Aquila (Italy).

http://www.di.univaq.it/malavolta

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
655
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Megamodeling"

  1. 1. Università degli Studi dell’AquilaMegamodeling Ivano Malavolta DISIM Department, University of L’Aquila ivano.malavolta@univaq.it
  2. 2. The material in these slides may be freely reproducedand distributed, partially or totally, as far as an explicitreference or acknowledge to the material author ispreserved. Ivano Malavolta
  3. 3. Global Model ManagementMegamodelingThe AM3 Project The AM3 Core Metamegamodel Extending AM3Examples
  4. 4. According to MDE, software development and maintenance are based on chains of model transformations • Model-to-Model • Model-to-Text Examples of those • Text-to-Model transformations? If we have a single transformation everything goes well However...http://docatlanmod.emn.fr/AM3/Documentation/D2-1-a_Global_Model_Management_Principles_v1-1.pdf
  5. 5. In real life A LOT of models and transformations are involved
  6. 6. http://www.di.univaq.it/malavolta
  7. 7. Involved models can be of very various natures: • UML models, • XML documents, • models conforming to different metamodels • ... Moreover, these models are often linked to each other and are also involved in complex chains of operations whichhttp://docatlanmod.emn.fr/AM3/Documentation/D2-1-a_Global_Model_Management_Principles_v1-1.pdf
  8. 8. Managing global resources in the field of Model-Driven Engineering (MDE) These resources should be accessed and used without increasing the accidental complexity of MDE These resources are: 1. numerous 3. interrelated 2. distributed 4. heterogeneous 5. complexhttp://docatlanmod.emn.fr/AM3/Documentation/D2-1-a_Global_Model_Management_Principles_v1-1.pdf
  9. 9. How can we abstract from all that complexity? The simplest way is to apply general MDE principles to the handling of models This is the main idea of MEGAMODELING  models which elements represent model themselves GMM offers a generic way to create, store and modify the metadata on all the global resources (e.g. models) that may be involved in developing a complete solutionhttp://docatlanmod.emn.fr/AM3/Documentation/D2-1-a_Global_Model_Management_Principles_v1-1.pdf
  10. 10. The activitiy of representing references to models andrelationships between them as a model called MEGAMODELIntroduced in 2004 A megamodel is a model of which at least some elements represent and/or refer to models or metamodelsUse a megamodel as a metadata repository on all these artifacts
  11. 11. Intuitively, a megamodel can be seen as a MAP to find and link together all the involved models Megamodel VS Metamodel?? Do you remember weaving models?http://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
  12. 12. The goal of AM3 (AtlanMod MegaModel Management) is toprovide a practical support for modeling in the large it is a concrete implementation of megamodelingProvides facilities to create, handle, manage and usemegamodelsIt is designed to be metamodel-agnostic in order to handledifferent kinds of artifacts and relationships
  13. 13. Technically, it is a… METAMEGAMODEL! The basis of AM3 It allows to specify (typed) relationships between the modeling artifacts contained into a megamodelIt represents any possibleconcept that may exist withina megamodel represents the various models within the megamodel can link any entity it distinguishes within the megamodel between the elements it links
  14. 14. This part nicely represents the relationship between the artifacts involved in MDE represents the real system and conforms to somedefines the metamodels “rules” to construct models special kinds of terminalprovides generic defines domain- model, each of themconcepts for specific concepts conform to a given MMmetamodels and and conform toconforms to itself metametamodels
  15. 15. The AM3 user interface is generic since it does not depend either on the models, metamodels or other artifacts within the megamodel Generic Editor Page Megamodel Navigatorhttp://docatlanmod.emn.fr/AM3/Documentation/D2-11-b_Global_Model_Management_Supporting_Tool_v3-0.pdf
  16. 16. The main part of the IDEIt is an Eclipse ViewLEFT. Navigation across thedifferent elements of themetamegamodel, consideringall the dynamically loadedmetamodel extensionsRIGHT. Browse the currentlyloaded megamodelhttp://docatlanmod.emn.fr/AM3/Documentation/D2-11-b_Global_Model_Management_Supporting_Tool_v3-0.pdf
  17. 17. Specific editor for each element of the megamodelDisplays the fields defined in the (extended) metamegamodelWith a givenextension point, AM3allows developers tocreate their owneditor pageshttp://docatlanmod.emn.fr/AM3/Documentation/D2-11-b_Global_Model_Management_Supporting_Tool_v3-0.pdf
  18. 18. The AM3 platform is based on Eclipse and provides a set of layers to manage megamodels and models This is where the AM3 Core Metamodel resideshttp://docatlanmod.emn.fr/AM3/Documentation/D2-1-a_Global_Model_Management_Principles_v1-1.pdf
  19. 19. How to identify Language for querying Locates models (file The GUI models within Display megamodel (OCL) system, other repos,…) the megamodelfacilities andsome editing functions Unifies how the services have to communicat e withThe Core AM3 model Meta- handlers megamodel and repositories Defines how to add, Dirty work on how models retrieve, can be manipulated in the Existing Eclipse plugins delete and browse entities megamodel on repositories
  20. 20. The AM3 platform can be extended for managing your own entities for your specific needs Main extension points: Metamodel Allows extensions of the metamodel of megamodel to be specified by providing the new concepts and linking them to a previously defined metamegamodel UI Page Allows specific editor pages for the concepts added in the extension to be defined by explicitly identifying the concept it has to be associated with for each page. In this way, the new pages are automatically made available when editing megamodel elements conforming to these conceptshttp://docatlanmod.emn.fr/AM3/Documentation/D2-1-a_Global_Model_Management_Principles_v1-1.pdf
  21. 21. Other extension points: Locator Allows extensions to provide new locators for indicating the physical location of entities within the megamodel Model Handler Allows extensions to provide new functionalities on how to access & modify specific kinds of modelshttp://docatlanmod.emn.fr/AM3/Documentation/D2-1-a_Global_Model_Management_Principles_v1-1.pdf
  22. 22. AM3 has been used for: • Management of model transformations (single and composite) • Management of Domain-Specific Languages (DSLs) and related artifacts • Inter-model navigability/traceability see next slides • Cartography of complex systems • Management of software developments • Representing Architecture Descriptions see next slideshttp://docatlanmod.emn.fr/AM3/Documentation/AM3_Flyer-Poster_v1-0.pdf
  23. 23. It shows how megamodeling can be used to manage and navigate the different development artifactshttp://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
  24. 24. Two kinds of links: 1. model-level links are stored within the megamodel and are directly navigable 2. model element-level links are considered as a refinement of the model-level links and are stored in separate weaving modelshttp://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
  25. 25. The extended AM3 Core metamodel Model-level links Model element level linkshttp://dl.acm.org/citation.cfm?doid=1774088.1774511
  26. 26. The screenshots show how the different links are managed by the AM3 megamodel editor Model-level Model element level links linkshttp://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
  27. 27. Demo
  28. 28. Picture from International Standard for Systems andSoftware Engineering – Architectural Description(ISO/IEC /IEEE42010) Stakeholders Developer Architect End-user Tester Project manager Concerns functionality, feasibility, usage, structure, behavior, performance, resource utilization, security, cost, data accessibility, privacy, compliance to regulation, business goals and strategies
  29. 29. Architecture Frameworks 4+1 views MODAF Picture from International Standard for Systems and TOGAF Software Engineering – Architectural Description … (ISO/IEC/IEEE 42010)
  30. 30. Stakeholder concerns can vary tremendouslynature of the systemproject-specific constraintsorganizational constraintsdomain of the system… http://goo.gl/I4FCr
  31. 31. We require a way to It is common practice capture stakeholder’s to use multiple views specific architectural and viewpoints to concerns deal with different concernshowever... Current frameworks and ADLs are for the most part closed http://goo.gl/I4FCr
  32. 32. Hilliard, R. Malavolta, I. Muccini, H. Pelliccione, P., On the Composition and Reuse of Viewpoints across Architecture Frameworks, Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), 2012 Joint Working IEEE/IFIP Conference on, 131-140, 2012, IEEEAn MDE approach to create new architecture frameworks bymeans of mechanisms:1. to store, retrieve, and combine existing viewpoints, by properly selecting and reusing models previously defined and resident in MEGAF;2. to define correspondences among views, viewpoints, stakeholders, system concerns and their elements;3. to enforce consistency and completeness checks based on defined architectural relationships and rules among elements. http://goo.gl/I4FCr
  33. 33. Model Kinds Architectural Languages System Concerns Stakeholders CorrespondencesViewpoints Architectural Assets Repository Architecture Framework Architecture Architecture Architecture Description Description Description A B C
  34. 34. Model Kinds System Concerns Architectural Languages Stakeholders sc mk al stk Architecture Correspondences af FrameworkViewpoints c1 vp Architecture Description Architecture ad Description Architecture Description A B C How to manage models that contains classes http://goo.gl/I4FCr and other models?
  35. 35. In MEGAF, amegamodel storesall the AD elementsMegamodels in combination with weaving models forcoordinating sets of architectural models and viewpoints Builds on the navigability and traceability extension
  36. 36. Viewpoints: system, behaviour, web servicesConcerns: modularity, distribution, REST, concurrency, dependabilityStakeholders: architect, developer, system engineer, end-usersADLs: DiaSpec (extended), UML, FSP, REST
  37. 37. Demo
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×