Megamodeling
Upcoming SlideShare
Loading in...5
×
 

Megamodeling

on

  • 884 views

Advanced Software Engineering course - Guest Lecture ...

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

Statistics

Views

Total Views
884
Views on SlideShare
884
Embed Views
0

Actions

Likes
0
Downloads
27
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Megamodeling Megamodeling Presentation Transcript

  • Università degli Studi dell’AquilaMegamodeling Ivano Malavolta DISIM Department, University of L’Aquila ivano.malavolta@univaq.it
  • 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
  • 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-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
  • 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 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • It shows how megamodeling can be used to manage and navigate the different development artifactshttp://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
  • 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
  • The extended AM3 Core metamodel Model-level links Model element level linkshttp://dl.acm.org/citation.cfm?doid=1774088.1774511
  • 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
  • Demo
  • 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
  • Architecture Frameworks 4+1 views MODAF Picture from International Standard for Systems and TOGAF Software Engineering – Architectural Description … (ISO/IEC/IEEE 42010)
  • Stakeholder concerns can vary tremendouslynature of the systemproject-specific constraintsorganizational constraintsdomain of the system… http://goo.gl/I4FCr
  • 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
  • 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
  • Model Kinds Architectural Languages System Concerns Stakeholders CorrespondencesViewpoints Architectural Assets Repository Architecture Framework Architecture Architecture Architecture Description Description Description A B C
  • 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?
  • 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
  • Viewpoints: system, behaviour, web servicesConcerns: modularity, distribution, REST, concurrency, dependabilityStakeholders: architect, developer, system engineer, end-usersADLs: DiaSpec (extended), UML, FSP, REST
  • Demo