Ingineria si Dirijarea Modelelor

32
Model Driven Engineering - Anca Ionita Medii de dezvoltare bazate pe metamodelare GME - Generic Modeling Environment

description

Generic Environment Modeling

Transcript of Ingineria si Dirijarea Modelelor

  • Model Driven Engineering - Anca Ionita

    Medii de dezvoltare bazate pe metamodelare

    GME - Generic Modeling Environment

  • Model Driven Engineering - Anca Ionita

    Generic Modeling Environment GME

    Paradigma de modelare definire metamodele, pornind de la cerinte

    specifice domeniilor; definire de modele, folosind editoare de

    modele generate de GME; interpretare a modelelor, pentru a genera

    cod executabil.

    Apache Software Foundation

    Vanderbilt University

    Iesirea procesului de metamodelare este o multime

    de reguli compilate, paradigma, care

    configureaza GME pentru un domeniu specific de aplicatii.

  • Model Driven Engineering - Anca Ionita

    modelare

    Procesul de metamodelare si modelarespecifica domeniilor

    O noua paradigma, specifica domeniului

    Metamodelare

    Editor

    Modelare Interpretare modele

    Interpretor

    utilizare utilizare utilizarecu paradigma MetaGME cu noua paradigma

    modelare

    programare

  • Model Driven Engineering - Anca Ionita

    Limbajul de metamodelare GME

    First Class Objects(FCO) Atomi Modele Conexiuni Referinte Multimi

    Alte concepte Atribute Foldere Aspecte Restrictii

    Metamodelare Modelare Interpretare

    modele

    pentru fiecareconcept dinlumea reala

  • Model Driven Engineering - Anca Ionita

    Limbaj de metamodelare GME concepte de baza Atomi (atoms)

    entitati de baza, farafara structurastructurainternainterna (nu pot contine alteobiecte)

    caracterizate prin nume, atribute, participare in relatii

    Modele (models) pot contine atomi, alte modele

    si alte tipuri de obiecte au structura interna pot fi

    deschise, aratand o diagramaa structurii lor

    Conexiuni (connections) reprezinta relatii,

    reprezentate prin linii pot avea propriile atribute;

    Referinte (references) o entitate ce contine o

    asociatie catre un singurobiect (cu rol de pointer saualias)

    Multimi (sets) colectie sau categorie

    First Class Objects (FCO)Core Concepts

  • Model Driven Engineering - Anca Ionita

    Aplicatie - Creare proiect metamodelare

    Start GME Selectare "File/New

    Project...". Alegere paradigma:

    MetaGME "Create New..."

    denumire proiect: myFirstGMEProject myFirstGMEProject.mga

    Proiectul este asociat cu paradigma MetaGME, destinata metamodelarii in GME; aceasta configureaza mediul de lucru ca tool de metamodelare

  • Model Driven Engineering - Anca Ionita

    Aplicatie Crearea unei paradigme (a unuinou limbaj de modelare)

    Right click pe root folder

    "Insert New Model"

    "ParadigmSheet"

    Double click pe noulobiect creat

    Apare o fereastra in zona utilizatorului, unde se va edita diagrama de clase (entitati GME).

    Observati sintaxasintaxa concretaconcreta a limbajului GME !

  • Model Driven Engineering - Anca Ionita

    Alte concepte GME

    Attributes (Atribute) caracterizeaza obiecte FCO

    pentru a stoca informatiidespre ele;

    pot contine text, numerereale sau valori booleane

    Folders containere pentru diferite

    sectiuni ale proiectului, pentru organizareamodelului

    sunt elemente auxiliare

    Aspects diferite puncte de vedere

    (views) asupra structuriiunui model;

    ne permit sa alegem ceeace dorim sa vedem

    Constraints (restrictii) reguli de validitate aplicate

    modelului; exprimate in OCL verificate on-line, in timp ce

    se construieste modelul

    Vom folosi doar RootFolder

    Este necesar sa definimcel putin un aspect

    Elemente de semanticasemantica

  • Model Driven Engineering - Anca Ionita

    Paradigma MetaGME, exemplu

    SintaxaSintaxa abstractaabstracta a limbajului MetaGME

    De De exersatexersat::Deschideti proiectulcorespunzator,pentru a studiasintaxa abstracta, dardar nu il nu il modificatimodificati !!

  • Model Driven Engineering - Anca Ionita

    Elemente ale editorului de modele GME

    din Help GME

    Elemente ale limbajului de modelare /

    metamodelare

    Definireatribute

    BrowserModele

    Ferestrepentru

    editareamodelului

    Observati sintaxasintaxa concretaconcreta a limbajului specific ales !

    Metamodelare Modelare Interpretare

    modele

  • Model Driven Engineering - Anca Ionita

    Interpretarea modelelor

    Prelucrarea datelor modelului in mod automat: interogari, generarea de liste, scrierea de rapoarte despre continutul

    modelului generarea codului unui program sau a configuratiei unui sistem construirea automata a modelelor din informatiile furnizate de alte surse de

    date (ex: o baza de date) folosirea modelelor ca un format de interschimbare a datelor, pentru a

    integra programe care sunt incompatibile unul cu celalalt

    Solutii: scrierea unui interpretor GME nu este un program independent, ci o

    componenta sau un DLL incarcat si executat de GE la cerinta utilizatorului se poate folosi Builder Object Network (BON) furnizeaza obiecte C++ cereprezinta obiectele modelului;

    aplicatie independenta ce poate fi executata fara interfata GME plugin se foloseste biblioteca MGA

    Metamodelare Modelare Interpretare modele

  • Model Driven Engineering - Anca Ionita

    Biblioteca MGA (MgaLib) folosita pentru a construi retele ierarhice de obiecte reprezinta conceptele de modelare

  • Model Driven Engineering - Anca Ionita

    Iterpretor in Java

    package org.isis.gme.bon;

    public class ExempluInterpretor implements BONComponent {public void invokeEx (JBuilder builder, JBuilderObject focus, Collection slected, int param) {

    // apel metode interpretor}

    }

    se foloseste gme.jar

    executareinterpretor

    inregistrare cuJavaComponentRegister.exe si activare din GME

  • Model Driven Engineering - Anca Ionita

    Exemplu de paradigma GME

    Modele ale utilizatorilor la migrarea catre sisteme orientate pe servicii

  • Model Driven Engineering - Anca Ionita

    Domeniu: User Domeniu: User ModellingModelling

    Scop

    Securitatea accesului pe baza de roluriPreferinte utilizatoriStructura organizationalaAsignarea responsabilitatilor pentru activitati

    15

    Exemple

    General User Modelling Ontology (GUMO)UserML mark-up language INCITS 359-2012 Standard

  • Model Driven Engineering - Anca Ionita

    Probleme Probleme

    Evolutia modelului utilizatorilor Securitate si confidentialitate

    Sisteme distribuite

    care implica mai multe

    institutii si mai multe

    tari

    16

  • Model Driven Engineering - Anca Ionita

    The modernization perspectiveThe modernization perspective

    Migration to Service-Oriented Architecture

    17

    Services

    Legacy Business Model

    Consolidated Business Model

    Reverse E

    ngin

    eering

    Forward

    engin

    eering

    Legacy Software Model

    Transformation

    Components Wrapping

    Legacy Code

    Metamodelling

  • Model Driven Engineering - Anca Ionita

    The Generic Modeling EnvironmentInstitute for Software Integrated Systems

    Vanderbilt University

    Metamodel

    18

  • Model Driven Engineering - Anca Ionita

    Paradigme de modelare dezvoltate cu Paradigme de modelare dezvoltate cu GME GME

    Organization Structure concepte clasice pentru structuri organizationale

    SOA Roles roluri pentru sisteme bazate pe SOA (Service-Oriented Architecture)

    Organization Change modificari necesare cu privire la utilizatorii sistemului

    19

  • Model Driven Engineering - Anca Ionita

    Organizare metamodel GME

    3 folders Legacy model SOA Target model Migration mappings Reutilizarea modelului sursa Dezvoltarea modelului tinta

  • Model Driven Engineering - Anca Ionita

    Legacy model scheme organizationale traditionale Posturi Caracterizate de anumite obiective, sarcini, competente,

    responsabilitati

    Relatii de autoritate Ierarhice date de pozitia in ierarhie Functionale date de expertiza (contabila spre exemplu)

    Compartimente organizationale Formate din mai multe persoane reunite sub coordonare

    comuna

  • Model Driven Engineering - Anca Ionita

    The legacy model

    Concepte ce trebuie definite in sintaxa abstracta a metamodelului:

    Organization Organizational Unit External Partner Project Employee Position Role

  • Model Driven Engineering - Anca Ionita

    O parte din metamodelul pentru structuri organizationale traditionale

  • Model Driven Engineering - Anca Ionita

    SOA design and quality management roles

    After Kajko-Mattsson, M., Lewis, G. A., and Smith, D. B. 2007

  • Model Driven Engineering - Anca Ionita

    Metamodelarea rolurilor SOA Metamodelarea rolurilor SOA

    25

    SOA Support

    SOA Front-End SOA Back-End

    Business Process AssistantSupport Personnel

    Business Process Support Engineer

    Business Process Team

    Business Process Manager

    Service Developer M. Kajko-Mattsson, G. Lewis, D. SmithCMU, Software Engineering Institute

  • Model Driven Engineering - Anca Ionita

    Paradigma GME pentru modelul tinta al migrarii SOA Design and Quality Management (Model Proxy) SOA Development and Evolution

  • Model Driven Engineering - Anca Ionita

    Paradigm GME pentru SOA Design si Quality management

  • Model Driven Engineering - Anca Ionita

    Metamodel al schimbarilor organizationaleMetamodel al schimbarilor organizationale

    28

    Tranzitia de la sistemul traditional la cel modernizat

    Roluri

    Compartimente organizationale

    Views

    Transformari

    Noi roluri SOA

  • Model Driven Engineering - Anca Ionita

    Metamodelare pentru transformarea rolurilor GME Roles_Migration paradigm sheet

    Proxies catre alte modele

  • Model Driven Engineering - Anca Ionita

    Examplu de modelare. Sistemul modelatExamplu de modelare. Sistemul modelat

    Wireless sensor network

    30

    REST

    Esri Cloud environment

  • Model Driven Engineering - Anca Ionita

    O parte din modelul utilizatorilor pentru CyberWater

    Schimbari in mai multe institutii

    De la masuratori manuale la achizitie bazata pe

    senzori

    Roluri SOA

    31

  • Model Driven Engineering - Anca Ionita

    Bibliografie

    Arpad Bakay, The MGA library, ISIS, Vanderbilt University, September 2000

    GME 2000 Users Manual, Vanderbilt University, 2000.,available fromhttp://www.isis.vanderbilt.edu/publications.asp

    A. Ledeczi, J. Davis, S. Neema, B. Eames, G. Nordstrom, V. Prasanna, C. Raghavendra, A. Bakshi, S. Mohanty, V. Mathur, M. Singh: Overview of the Model-based Integrated Simulation Framework, Tech. Report, ISIS-01-201, January 30, 2001. available from http://www.isis.vanderbilt.edu/publications.asp

    A.D. Ionita, M. Mocanu, A Metamodelling Perspective on the Users of a Service-Oriented Hydrology System, The 2014 International Conference of Parallel and Distributed Computing, ICPDC 2014, July 2-4, 2014, London, U.K., pp. 530-535

    A.D. Ionita, S. Radulescu, Metamodeling for Assigning Specific Roles in the Migration to Service-Oriented Architecture, IEEE/ EIDWT / MILES-2012 Workshop, September 21, 2012, pag. 293 - 297

    Medii de dezvoltare bazate pe metamodelareGeneric Modeling Environment GMEProcesul de metamodelare si modelare specifica domeniilorLimbajul de metamodelare GMELimbaj de metamodelare GME concepte de bazaAplicatie - Creare proiect metamodelareAplicatie Crearea unei paradigme (a unui nou limbaj de modelare)Alte concepte GMEParadigma MetaGME, exempluElemente ale editorului de modele GMEInterpretarea modelelorBiblioteca MGA (MgaLib)Iterpretor in JavaExemplu de paradigma GMEDomeniu: User ModellingProbleme The modernization perspectiveMetamodelParadigme de modelare dezvoltate cu GME Organizare metamodel GME Legacy model scheme organizationale traditionaleThe legacy modelO parte din metamodelul pentru structuri organizationale traditionaleSOA design and quality management rolesMetamodelarea rolurilor SOA Paradigma GME pentru modelul tinta al migrariiParadigm GME pentru SOA Design si Quality managementMetamodel al schimbarilor organizationaleMetamodelare pentru transformarea rolurilorExamplu de modelare. Sistemul modelatO parte din modelul utilizatorilor pentru CyberWaterBibliografie