Documente Academic
Documente Profesional
Documente Cultură
Raport
Modelarea Sistemelor Cyber-Fizice
din multiple abordări
Masteranzi gr. MPI
Donciu Ecaterina
Ulinici Andrei
București 2018
1. Definiție
Sisteme cyber-fizice critice, precum dispozitive medicale, mașini autonome, roboți și
sisteme inteligente de transport, se compun atât dintr-o parte hardware, cât și dintr-o parte
software. Cele două părți comunică între ele, cea hardware executând comenzi date de
software sau direct de operatorul uman.
Sistemele fizice sunt adesea independente, însă pot cauza accidente ce adaugă
costuri suplimentare sau chiar pot răni operatorii lor. Astfel, dezvoltarea programelor ce
controlează aceste sisteme nu se pot baza pe încercări („trial and error”) şi trebuie stabilit
foarte bine rolul operatorului uman.
Întrucât sistemele cyber-fizice au roluri deosebit de importante, funcționalitățile lor
trebuiesc testate și validate până la cel mai mic detaliu și în toate condițiile posibile în care
pot funcționa. Verificările din timpul proiectării și dezvoltării ar putea fi fezabile dacă s-ar
face anumite simulări, însă acestea nu sunt suficiente și astfel trebuie realizate verificări și în
timpul operării propriu-zise („runtime”), prin observarea intrărilor și ieșirilor, precum și apariția
erorilor în mediul de producție.
2. Limbaje de modelare
În viziunea autorilor articolului, există două aspecte principale de modelare: “design
time” și “runtime”.
a) “Design time”/modelele din timpul proiectării – descriu fie configurația inițială,
precum structura și topologia, fie comportamentul („behavior”). Informația este
statică, nu se modifică în timpul execuției. Acest tip de proiectare se folosește la
lansări de componente software sau la fișiere de configurare.
b) “Runtime”/modelele din timpul execuției – de asemenea numite modele reale („live
models”), întrucât extrag informații despre sistem și funcțiile sale în timp real.
Informațiile sunt, de regulă, eterogene. Totodată, sunt preluate și informații despre
mediu și se verifică obiectivele pentru rulare.
Fiecare abordare cuprinde câte trei concepte de modelare:
‒ Cerințe ( specifică proprietățile sistemului)
‒ Informațiile despre mediu
‒ Informațiile platformei (descriu senzorii disponibili, nodurile computaționale și elementele de
acționare ale sistemului; de asemenea, încapsulează arhitectura funcțională cu informații
despre lansări)[1]
Pentru a prezenta abordarea de modelare “design time” și “runtime” pentru sistemele
cyber fizice, autorii au utilizat SysML Standard.
SysML (Systems Modeling Language) reprezintă un limbaj de modelare, care suportă
specificarea, analiza, proiectarea, verificarea și validarea unei game largi de sisteme
complexe. Aceste sisteme pot include hardware, software, informații, procese, personal și
facilități. [2]
Limbajul este destinat să sprijine specificarea arhitecturii sistemelor și precizarea
componentelor acestora, care pot fi apoi proiectate folosind alte sisteme specifice
domeniului.
2
SysML reutilizează un subset de UML 2 și oferă extensii suplimentare pentru a
satisface cerințele limbajului. Taxonomia diagramelor SysML este prezentată în figura 1.
Figura 1 - Taxonomia diagramelor SysML [2]
Conform figurii 1 putem observa că SysML nu utilizează toate tipurile de diagramele
UML,(cum ar fi diagrama de obiecte etc.) ceea ce corespunde definirii că SysML reprezintă
un subset al UML 2.
Pe lângă diagramele reutilizate din UML 2 cu unele modificări sau nu, în SysML apar 2
diagrame noi: diagrama de cerințe și diagrama de parametri.
– Diagrama de cerințe - reprezintă o diagramă bazată pe cerințele de text și relația dintre
cerințe și alte elemente de model care le satisfac sau le verifică.[2]
– Diagrama de parametri - descrie constrângerile dintre proprietățile asociate blocurilor.
Această diagramă este utilizată pentru a integra modele de comportament și structură
cu modele de analiză inginerească, cum ar fi performanța, fiabilitatea și modelele de
proprietate în masă. [2]
Utilizând suportul oferit de SysML, autorii în cadrul articolului, au prezentat
principalele provocări în definirea timpului de proiectare (“design time”) cât și a modelului live
(“live model”), utilizând ca exemplu un depozit inteligent. De asemenea ei au remarcat
caracteristicile lipsă, precum și avantajele și limitările limbajului SysML.
Pentru ilustrarea exemplului abordat de autori, au fost utilizate următoarele tipuri de
diagrame: diagrama cu blocuri de definire, diagrama cu blocuri interne și diagrama de
pachete.
3. Metamodele
Pentru prezentarea metamodelelor pentru sistemele cyber fizice, a fost utilizat SysML.
SysML suportă metamodelarea prin diagrame tip bloc de definție (block definition diagram).
Folosind metamodele, se pot defini tipuri de noduri, atribute de noduri și tipuri de
relații. Aceasta permite descrierea constrângerilor privind structura de ansamblu asupra
modelului de sistem la nivel de tipologii.
În vizunea autorilor, atributele sunt considerate implicit “read-only” , reprezentând niște
surse de informații.
Semnalele sunt reprezentate în SysML prin proprietăți de tip flux. Acestea se bazează
pe datele primite și astfel sunt variabile în timp. Semnalele pot fi în timp discret sau în timp
3
continuu. Valoarea semnalelor discrete se schimbă la intervale regulate, pe când valoarea
celor continue se poate schimba oricând.
Totodată, Evenimentele sunt dependente de timp, însă doar în timp discret.
În cadrul exemplului de metamodel al depozitului inteligent prezentat în figura 2 putem
observa următoarele:
– Forklift (stivuitorul) - este element de tip root, care conține un motor și cel puțin un
microcomputer și cel puțin o cameră de bord;
– Microcomputer - este descompus în procesoare și adaptoare periferice;
– Motorul - încapsulează ECU (unitate de control)
Figura 2 - Exemplu de metamodel cu marginile și atributele izolate (“Example
metamodel with containment edges and attributes”)[1]
Conform autorilor, metamodelele sunt utilizate în momentul proiectării (“design time” )
pentru crearea unui model funcțional care să satisfacă cerințele, să definească structura
modelului platformei și să descrie posibilele entități din mediul înconjurător.
Tehnicile de modelare folosite în SysML oferă suport atât în timpul proiectării, cât și la
execuție. La proiectare trebuie să se cunoască metamodelul sistemului, iar la execuție există
condiția ca metamodelul să rămână neschimbat, însă acesta se poate extinde cu noi
componente.
Metamodelele prezentate cuprind tipuri cu domeniu specific. Instanțele de modelare
pot avea numai elemente cu tipuri și relații definite în cadrul metamodelului.
Pe baza capabilităților, obiectele se pot grupa în funcție de tipurile descrise în
ontologii.
4
obiectul „Goal”, deținut de un „Safety critical device”. Aceste două obiecte sunt integrate
într-un pachet, similar unei biblioteci. Din acest pachet, denumit „Safety”, ce include concepte
esențiale pentru verificarea siguranței, va moșteni un alt pachet, „Device ontology”, cu
informații despre tipurile de dispozitive, precum stivuitor. La rândul său, din acest pachet se
desprinde un alt pachet, „Acme truck”, ce conține un anume tip de stivuitor, fabricat de o
anume firmă.
Modelarea instanțelor
Modelele instanțiate descriu o configurație concretă a sistemului și pot arăta multiple
concepții.
Spre exemplu, pentru modelarea cerințelor în timpul proiectării se pot crea modele de
comportament, precum diagrame de stare.
Se pot modela și informațiile despre mediu și platformă la nivel de instanțe, spre
exemplu prin specificarea cazurilor de testare.
La runtime, pot fi instanțiate modele reale la anumite intervale de timp.
Spre exemplu, așa cum este prezentat în figura 3, la momentul t0 există în depozit
stivuitor1 și stivuitor2, fiecare cu proprietăți specifice.
Figura 3. Modele reale la momente diferite (“Live models at different points of
time”)[1]
Ulterior, la momentul t1 un stivuitor va pleca, iar altul îi va lua locul.
SysML nu are suport pentru modelare la nivel de instanțe, însă se recomandă folosirea
diagramelor de tip blocuri de definire.
Metamodele cu șabloane
În modelarea prin instanțe se pot defini șabloane, cu atribute predefinite și margini de
referință, ceea ce reprezintă un avantaj atunci când modelele se schimbă frecvent. Așadar,
pentru metamodelul depozitului inteligent se poate defini un șablon pentru stivuitor, ce
conține motor, unitate de procesare și cameră de bord. La rândul său, microprocesorul
unității de procesare are un șablon cu adaptor periferic și unitate de control (ECU).
Subtipul de stivuitor cu furci scurte, în schimb, dispune de trei camere de bord ce pot
avea rezoluții diferite, și un motor ce are o anume valoare de rotații maxime pe minut.
SysML suportă acest tip de metamodele cu șabloane prin diagrame de tip blocuri
interne.
5
5. Contribuțiile echipei
Andrei - 1. Definitie sistem cyber-fizic, 4. Exemplu de sistem cyber-fizic
Ecaterina - 2. Limbaje de modelare, 3. Metamodele
Bibliografie
[1] Towards Modeling Cyber-Physical Systems From Multiple Approaches [Online].
Available: http://real.mtak.hu/57699/1/Minisy2017_Bur.pdf
[2] Object Management Group, “OMG Systems Modeling Language,” p. 320, 2015. [Online].
Available: http://www.omg.org/spec/SysML/1.4/PDF/