SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Università degli Studi dell’Aquila




Megamodeling
                                     Ivano Malavolta
        DISIM Department, University of L’Aquila
              ivano.malavolta@univaq.it
The material in these slides may be freely reproduced
and distributed, partially or totally, as far as an explicit
reference or acknowledge to the material author is
preserved.



                           Ivano Malavolta
Global Model Management
Megamodeling
The AM3 Project
     The AM3 Core Metamegamodel
     Extending AM3
Examples
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 which


http://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. complex
http://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 solution
http://docatlanmod.emn.fr/AM3/Documentation/D2-1-
a_Global_Model_Management_Principles_v1-1.pdf
The activitiy of representing references to models and
relationships between them as a model called MEGAMODEL


Introduced in 2004


   A megamodel is a model of which at least some elements
      represent and/or refer to models or metamodels


Use 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 to
provide a practical support for modeling in the large


 it is a concrete implementation of megamodeling


Provides facilities to create, handle, manage and use
megamodels


It is designed to be metamodel-agnostic in order to handle
different 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 megamodel


It represents any possible
concept that may exist within
a 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 some
defines the
                                                      metamodels
 “rules” to
 construct
  models




                                              special kinds of terminal
provides generic     defines domain-            model, each of them
concepts for         specific concepts        conform to a given MM
metamodels and        and conform to
conforms 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
                  Navigator




http://docatlanmod.emn.fr/AM3/Documentation/D2-11-
b_Global_Model_Management_Supporting_Tool_v3-0.pdf
The main part of the IDE


It is an Eclipse View


LEFT. Navigation across the
different elements of the
metamegamodel, considering
all the dynamically loaded
metamodel extensions


RIGHT. Browse the currently
loaded megamodel
http://docatlanmod.emn.fr/AM3/Documentation/D2-11-
b_Global_Model_Management_Supporting_Tool_v3-0.pdf
Specific editor for each element of the megamodel
Displays the fields defined in the (extended) metamegamodel



With a given
extension point, AM3
allows developers to
create their own
editor pages




http://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
  resides




http://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 megamodel
facilities and
some editing
  functions                                                                           Unifies how
                                                                                      the services
                                                                                        have to
                                                                                      communicat
                                                                                         e with
The 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 concepts
http://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 models



http://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 slides

http://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 artifacts




http://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 models




http://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
The extended AM3 Core metamodel




        Model-level
          links
                                                      Model element
                                                        level links

http://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                                           links


http://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
Demo
Picture from International Standard for Systems and
Software 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 tremendously

nature of the system
project-specific constraints
organizational constraints
domain 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
                                            concerns


however...


          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, IEEE


An MDE approach to create new architecture frameworks by
means 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


                                                                          Correspondences

Viewpoints
                                 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
                                      Framework
Viewpoints                                                                       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, a
megamodel stores
all the AD elements




Megamodels in combination with weaving models for
coordinating sets of architectural models and viewpoints
 Builds on the navigability and traceability extension
Viewpoints: system, behaviour, web services
Concerns: modularity, distribution, REST, concurrency, dependability
Stakeholders: architect, developer, system engineer, end-users
ADLs: DiaSpec (extended), UML, FSP, REST
Demo

Contenu connexe

Similaire à Megamodeling

MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)Jordi Cabot
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of livingijseajournal
 
On the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEsOn the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEsDavid Méndez-Acuña
 
An introduction to the MDA
An introduction to the MDAAn introduction to the MDA
An introduction to the MDALai Ha
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...Jordi Cabot
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
Large-Scale JavaScript Development
Large-Scale JavaScript DevelopmentLarge-Scale JavaScript Development
Large-Scale JavaScript DevelopmentAddy Osmani
 
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...Hugo Bruneliere
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmalisagar.247
 
Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Amanuel Alemayehu
 
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...WTHS
 
Seminar report on Introduction to OMNeT++
Seminar report on Introduction to OMNeT++ Seminar report on Introduction to OMNeT++
Seminar report on Introduction to OMNeT++ Shivang Bajaniya
 
Model-Driven Mechanism in Information Systems and Enterprise Engineering
Model-Driven Mechanism in Information Systems and Enterprise EngineeringModel-Driven Mechanism in Information Systems and Enterprise Engineering
Model-Driven Mechanism in Information Systems and Enterprise EngineeringMountriver TY Yu
 
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEMODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEAnže Vodovnik
 

Similaire à Megamodeling (20)

java
javajava
java
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of living
 
On the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEsOn the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEs
 
Template pattern
Template patternTemplate pattern
Template pattern
 
Design patterns
Design patternsDesign patterns
Design patterns
 
An introduction to the MDA
An introduction to the MDAAn introduction to the MDA
An introduction to the MDA
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
Large-Scale JavaScript Development
Large-Scale JavaScript DevelopmentLarge-Scale JavaScript Development
Large-Scale JavaScript Development
 
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmali
 
Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...
 
Mvp pattern
Mvp patternMvp pattern
Mvp pattern
 
ALT
ALTALT
ALT
 
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
 
MVC
MVCMVC
MVC
 
Seminar report on Introduction to OMNeT++
Seminar report on Introduction to OMNeT++ Seminar report on Introduction to OMNeT++
Seminar report on Introduction to OMNeT++
 
Model-Driven Mechanism in Information Systems and Enterprise Engineering
Model-Driven Mechanism in Information Systems and Enterprise EngineeringModel-Driven Mechanism in Information Systems and Enterprise Engineering
Model-Driven Mechanism in Information Systems and Enterprise Engineering
 
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEMODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
 

Plus de Ivano Malavolta

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Ivano Malavolta
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Ivano Malavolta
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Ivano Malavolta
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile developmentIvano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 

Plus de Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 

Dernier

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Dernier (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Megamodeling

  • 1. Università degli Studi dell’Aquila Megamodeling Ivano Malavolta DISIM Department, University of L’Aquila ivano.malavolta@univaq.it
  • 2. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. Ivano Malavolta
  • 3. Global Model Management Megamodeling The AM3 Project The AM3 Core Metamegamodel Extending AM3 Examples
  • 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. In real life A LOT of models and transformations are involved
  • 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 which http://docatlanmod.emn.fr/AM3/Documentation/D2-1- a_Global_Model_Management_Principles_v1-1.pdf
  • 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. complex http://docatlanmod.emn.fr/AM3/Documentation/D2-1- a_Global_Model_Management_Principles_v1-1.pdf
  • 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 solution http://docatlanmod.emn.fr/AM3/Documentation/D2-1- a_Global_Model_Management_Principles_v1-1.pdf
  • 10. The activitiy of representing references to models and relationships between them as a model called MEGAMODEL Introduced in 2004 A megamodel is a model of which at least some elements represent and/or refer to models or metamodels Use a megamodel as a metadata repository on all these artifacts
  • 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. The goal of AM3 (AtlanMod MegaModel Management) is to provide a practical support for modeling in the large  it is a concrete implementation of megamodeling Provides facilities to create, handle, manage and use megamodels It is designed to be metamodel-agnostic in order to handle different kinds of artifacts and relationships
  • 13. Technically, it is a… METAMEGAMODEL! The basis of AM3 It allows to specify (typed) relationships between the modeling artifacts contained into a megamodel It represents any possible concept that may exist within a megamodel represents the various models within the megamodel can link any entity it distinguishes within the megamodel between the elements it links
  • 14. This part nicely represents the relationship between the artifacts involved in MDE represents the real system and conforms to some defines the metamodels “rules” to construct models special kinds of terminal provides generic defines domain- model, each of them concepts for specific concepts conform to a given MM metamodels and and conform to conforms to itself metametamodels
  • 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 Navigator http://docatlanmod.emn.fr/AM3/Documentation/D2-11- b_Global_Model_Management_Supporting_Tool_v3-0.pdf
  • 16. The main part of the IDE It is an Eclipse View LEFT. Navigation across the different elements of the metamegamodel, considering all the dynamically loaded metamodel extensions RIGHT. Browse the currently loaded megamodel http://docatlanmod.emn.fr/AM3/Documentation/D2-11- b_Global_Model_Management_Supporting_Tool_v3-0.pdf
  • 17. Specific editor for each element of the megamodel Displays the fields defined in the (extended) metamegamodel With a given extension point, AM3 allows developers to create their own editor pages http://docatlanmod.emn.fr/AM3/Documentation/D2-11- b_Global_Model_Management_Supporting_Tool_v3-0.pdf
  • 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 resides http://docatlanmod.emn.fr/AM3/Documentation/D2-1- a_Global_Model_Management_Principles_v1-1.pdf
  • 19. How to identify Language for querying Locates models (file The GUI models within Display megamodel (OCL) system, other repos,…) the megamodel facilities and some editing functions Unifies how the services have to communicat e with The 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. 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 concepts http://docatlanmod.emn.fr/AM3/Documentation/D2-1- a_Global_Model_Management_Principles_v1-1.pdf
  • 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 models http://docatlanmod.emn.fr/AM3/Documentation/D2-1- a_Global_Model_Management_Principles_v1-1.pdf
  • 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 slides http://docatlanmod.emn.fr/AM3/Documentation/AM3_Flyer-Poster_v1-0.pdf
  • 23. It shows how megamodeling can be used to manage and navigate the different development artifacts http://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
  • 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 models http://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
  • 25. The extended AM3 Core metamodel Model-level links Model element level links http://dl.acm.org/citation.cfm?doid=1774088.1774511
  • 26. The screenshots show how the different links are managed by the AM3 megamodel editor Model-level Model element level links links http://wiki.eclipse.org/AM3/Use_Cases/PetStore_Navigability
  • 27. Demo
  • 28. Picture from International Standard for Systems and Software 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. Architecture Frameworks 4+1 views MODAF Picture from International Standard for Systems and TOGAF Software Engineering – Architectural Description … (ISO/IEC/IEEE 42010)
  • 30. Stakeholder concerns can vary tremendously nature of the system project-specific constraints organizational constraints domain of the system … http://goo.gl/I4FCr
  • 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 concerns however... Current frameworks and ADLs are for the most part closed http://goo.gl/I4FCr
  • 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, IEEE An MDE approach to create new architecture frameworks by means 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. Model Kinds Architectural Languages System Concerns Stakeholders Correspondences Viewpoints Architectural Assets Repository Architecture Framework Architecture Architecture Architecture Description Description Description A B C
  • 34. Model Kinds System Concerns Architectural Languages Stakeholders sc mk al stk Architecture Correspondences af Framework Viewpoints 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. In MEGAF, a megamodel stores all the AD elements Megamodels in combination with weaving models for coordinating sets of architectural models and viewpoints  Builds on the navigability and traceability extension
  • 36. Viewpoints: system, behaviour, web services Concerns: modularity, distribution, REST, concurrency, dependability Stakeholders: architect, developer, system engineer, end-users ADLs: DiaSpec (extended), UML, FSP, REST
  • 37.
  • 38. Demo