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
Top Related