+ All Categories
Home > Documents > stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de...

stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de...

Date post: 25-Dec-2019
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
17
Solutii de modelare a aplicatiilor de inginerie software : SysML 1. Ingineria sistemelor bazata pe modele - Prezentare generala, avantaje Asa cum John von Neumann spunea : „The sciences do not try to explain, they hardly even try to interpret, they mainly make models. ... The justification of such a mathematical construct is solely and precisely that it is expected to work.” Ingineria sistemelor bazata pe modele (MBSE) este o paradigma care evidentiaza aplicarea unor principii riguroase de modelare grafica asupra activitatilor ingineriei de sisteme. Aceste activitati includ analize de cerinte si verificare, analize functionale si alocari, analize de performante si specificari de arhitecturi de sistem. 1 MBSE ofera urmatoarele avantaje: Se ofera o intelegere a cerintelor de sistem si a modelului de sistem pentru a se putea valida cerintele si a se identifica riscurile; Asistenta in dezvoltarea sistemelor complexe prin oferirea unui modelul de organizare ierarhica a modelelor de sistem, analiza schimbarilor de cerinte si de structura si suport pentru dezvoltare incrementala si achizitie evolutionara; Calitate imbunatatita a modelelor, ce se concretizeaza in reducerea erorilor si a ambiguitatilor si formarea unor reprezentari complete; Suport pentru validari si verificari in primele faze ale produsului si in timpul vietii acestuia, pentru a 1 http://www.modelbasedsystemsengineering.com/ 1
Transcript
Page 1: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

Solutii de modelare a aplicatiilor de inginerie software : SysML

1. Ingineria sistemelor bazata pe modele - Prezentare generala, avantaje

Asa cum John von Neumann spunea : „The sciences do not try to explain, they hardly even try to interpret, they mainly make models. ... The justification of such a mathematical construct is solely and precisely that it is expected to work.”

Ingineria sistemelor bazata pe modele (MBSE) este o paradigma care evidentiaza aplicarea unor principii riguroase de modelare grafica asupra activitatilor ingineriei de sisteme. Aceste activitati includ analize de cerinte si verificare, analize functionale si alocari, analize de performante si specificari de arhitecturi de sistem. 1

MBSE ofera urmatoarele avantaje:

Se ofera o intelegere a cerintelor de sistem si a modelului de sistem pentru a se putea valida cerintele si a se identifica riscurile;

Asistenta in dezvoltarea sistemelor complexe prin oferirea unui modelul de organizare ierarhica a modelelor de sistem, analiza schimbarilor de cerinte si de structura si suport pentru dezvoltare incrementala si achizitie evolutionara;

Calitate imbunatatita a modelelor, ce se concretizeaza in reducerea erorilor si a ambiguitatilor si formarea unor reprezentari complete;

Suport pentru validari si verificari in primele faze ale produsului si in timpul vietii acestuia, pentru a reduce riscurile de functionare necorespunzatoare sau defectare.

Modelarea sistemelor se desfasoara pe mai multe nivele, deci modele pot fi: modele operationale, modele de sistem, modele de componente.

Ingineria sistemelor bazata pe modele este solutia tehnologica pentru inginerii care cauta o tranzitite de la procesele traditionale de ingineria sistemelor, care sunt bazate pe documente si centrate pe cod, la procese mai eficiente care sunt bazate pe cerinte si centrate pe arhitectura.2

2. Diagrame SysML si concepte de limbaj 1 http://www.modelbasedsystemsengineering.com/2 A Practical Guide to SysML, Second Edition: The Systems Modeling Language (The MK/OMG Press)

1

Page 2: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

SysML este un limbaj de modelare grafica care vine ca raspuns la UML, dezvoltat de OMG,INCOSE si AP233. Se poate defini ca un profil UML care reprezinta un subset al UML 2, cu extensii.

SysML suporta specificarea, analiza, modelarea,verificarea si validarea unei game largi de sisteme si subsisteme. Aceste sisteme pot include hardware,software, informatie, procese si facilitati. 3

Fig 1. Evolutia limbajelor de modelare grafica (Sursa 5 din bibliografie)

SysML a fost original dezvoltat ca un proiect open source, initiat in 2003, ca raspuns la UML. SysML contine 9 tipuri de diagrame, majoritatea fiind comune cu limbajul sau parinte, UML2. Cea mai recenta versiune de SysML este v1.3.

Expresia Cei 4 stalpi ai SysML se refera la patru diagrame esentiale: diagrama de Cerinte,diagrama de Activitate,diagrama Bloc si diagrama Parametrica. Aceste diagrame au fost alese, deoarece mai mult de 80% din limbajul SysML se bazeaza pe functii din aceste diagrame. Mai mult, diagramele de activitate si bloc sunt mai importante decat celelalte doua, deoarece sunt modificari ale diagramelor UML2, si s-a dovedit deja ca sunt eficiente. Celelalte doua diagrame sunt nou introduse.4

3 A Practical Guide to SysML, Second Edition: The Systems Modeling Language (The MK/OMG Press)4 http://www.sysmlforum.com/sysml-faq/

2

Page 3: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

Cadrele diagramelor SysML se impart in campurile header si continut. In header este indicat contextul diagramei (tip,tip de model, nume de model, numele diagramei). Fiecare diagrama SysML reprezinta un element model.5

Fig 2. Diagrame SysML (Sursa 5 din bibliografie)

Modelarea grafica a unui sistem se bazeaza pe blocuri si relatiile dintre ele. Este necesar sa putem gestiona aceste blocuri, atat din punct de vedere al continutului cat si in din punct de vedere al legaturilor dintre ele. Diagrama de definire a blocului descrie relatiile intre blocuri (asociere, specializare, compozitie).Este „cutia neagra” a blocului. Diagrama interna a blocului descrie structura interna a blocului, in termeni de proprietati si conectori. Este „cutia alba” a blocului, aratand cum sunt legate componentele interne la interfetele externe si unele la altele.

Porturile SysML sunt puncte de interactiune ale blocurilor sau componentelor. Porturile pot fi standard (UML) : specifica un set de operatii si/sau semnale necesare sau oferite, si porturi de flux : specifica fluxul din sau in bloc,respectiv componenta.

Fiecare bloc are relatii de constrangere cu proprietatile sau partile sale interne. SysML introduce o solutie pentru a vizualiza aceste constrangeri, in forma unei noi diagrame, numita diagrama parametrica. Aceste diagrame pot fi folosite pentru a arata cum o schimbare a unei proprietati structurale a unui sistem (parametru de

5 http://www.sysmlforum.com/sysml-faq/

3

Page 4: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

sistem) poate afecta valorile celorlalti parametri. Sunt folosite pentru a specifica constrangeri de modele/arhitecturi de sisteme.6

Diagramele prezentate mai sus fac parte din categoria diagramelor structurale alea SysML. Pe langa acestea, exista si diagrame comportamentale, care definesc comportarea unor sisteme.

Activitatea unui sistem reprezinta transformarea intrarilor in iesiri, printr-o secventa controlata de actiuni. Descrierea unui posibil scenariu pentru un sistem este data de diagrama de activitate. Ca si in UML, acesta diagrama contine elemente sugestive: noduri initiale,finale, de reuniune, de decizie,etc.7

Unul din cele mai importante lucruri in proiectarea unui sistem este respectarea cerintelor si atingerea scopului definit de acestea. Era necesara o diagrama care sa specifice si sa analizeze cerintele unui sistem. SysML introduce diagrama de necesitati. Diagrama specifica, intr-o structura ierarhica, cerintele continute intr-o specificatie. Relatiile de necesitate se aplica intre blocuri si sunt de tipul: copy,satisfy,verify,trace, etc.8

Pentru a putea fi indeplinite, cerintele trebuie validate. Calitatile cautate pentru a valida cerintele sunt legate de corectitudine,consistenta,claritate,fezabilitate, necesitate, prioritate, etc. SysML include suport pentru validarea cerintelor.

Maparea unui element la altul se face prin relatii generale numite alocari. Alocarile pot fi comportamentale (functie la componenta), structurale (logic la fizic), software la hardware, etc.9

3. Modelare SysML ca parte a ingineriei software - Exemple si aplicatii

6 T. Weilkiens, Systems Engineering with SysML/UML: Modeling, Analysis, Design, 2008, OMG Press7 http://www.sysmlforum.com/sysml-faq/8 http://www.visual-paradigm.com/product/vpuml/features/sysml.jsp9 A Practical Guide to SysML, Second Edition: The Systems Modeling Language (The MK/OMG Press)

4

Page 5: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

Imagini – Sursa 8 din bibliografie

Diagramele din figura sunt exemplificative pentru domeniul de electronica auto. Prima diagrama este diagrama bbd (block definition diagram), ce descrie structura ierarhica a sistemul ABS al masinii si functionalitatea acestuia. Senzorii ofera informatii despre starea fiecarei roti a masinii (blocata sau nu). In caz de blocaj, anunta controller-ul care limiteaza forta de franare. Cea de-a doua diagrama este diagrama ibd (internal block diagram), care arata continutul blocului ABS, adica a controller-ului. Se observa porturile fiecarui bloc, circulatia fluxului si conectorii care leaga blocurile intre ele.

Imagini – Sursa 8 din bibliografie

5

Page 6: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

Urmatoarea diagrama este diagrama parametrica, care descrie in acest exemplu, dinamica masinii la mersul in linie dreapta. Fiecare bloc reprezinta o ecuatie si are o serie de parametri. Prin schimbarea acestor parametri, se modifica marimea descrisa de ecuatie (de, exemplu acceleratia). Se observa cel mai bine cum schimbarea pozitiei modifica succesiv ecuatia vitezei, a acceleratiei si a fortei de franare.

Diagrama de activitate de mai jos descrie procesul de operare a unui automobil. Se observa folosirea structurilor de tip join, ce arata ca, dupa pornirea masinii, procesele de conducere si franare se pot desfasura simultan. De asemenea, apasarea pedalei de frana determina o modulare de frecventa, schimbatoare in functie de presiunea cu care se actioneaza frana. Astfel, masina se opreste brusc sau treptat. Introducerea si scoaterea cheii din contact reprezinta punctele de start si stop din diagrama de activitate, iar blocurile reprezinta actiunile.

Imagini – Sursa 8 din bibliografie

6

Page 7: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

Imagini – Sursa 8 din bibliografie

Exemplul de mai sus ilustreaza o diagrama de necesitate, care arata cerintele pentru consum mic si performanta mare. Pe de o parte, accelerarea puternica si obtinerea performantei duce la un consum ridicat de putere. Pe de alta parte, economia de benzina se realizeaza prin cerinte mici de putere. Astfel cele doua situatii sunt conflictuale. Se observa mesajele de cerere de tip derive request, mesaje ce reprezinta necesitati ce sunt transformate din necesitati de nivel superior.

Imagini – Sursa 8 din bibliografie

7

Page 8: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

Diagrama detaliaza necesitatile pentru acceleratia masinii. Putem observa si mesaje de tipul verifiy (verifica daca s-a atins acceleratia maxima), satisfy (ofera putere pentru a accelera) si refine (creste acceleratia treptat).

Limbajul SysML are o arie mare de aplicatii, domeniul auto fiind unul dintre ele. Scopul modelarii sistemelor auto este obtinerea unei mai bune intelegeri a subsistemelor si functionalitatilor sale.

8

Page 9: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

4. Tranzitia la SysML

Unul dintre scopurile SysML a fost sa fie asemanator cu UML in proportie de 80%. Acest procent a fost atins, si chiar si depasit. O mare parte din UML2 este refolosita in SysML, in timp ce alte parti sunt omise. Pe langa asta, SysML adauga cateva implementari proprii.

Principalele motive pentru care se justifica tranzitia de la UML la SysML sunt legate de imbunatatirea descrierii diagramelor, folosirea blocurilor in locul claselor si introducerea diagramelor requirements si parametric.10

Unul din dezavantajele UML este neutilizarea notiunii de "requirement". SysML adauga acest element si un nou tip de diagrama pentru a reprezenta necesitatile si relatiile taxonomice intre ele.

Figure 1: Relation between UML and SysML (Sursa 8 din bibliografie)

Cea mai semnificativa extensie a UML-ului, ce poate fi gasita la SysML, este capacitatea de a modela comportament continuu. Diagramele de activitati din UML2 sunt bazate pe executia token-urilor. O activitate se executa atunci cand are un token care ii permite sa ruleze. O activitate are un token de exectuie atunci cand exista

10 http://www.sysmlforum.com/sysml-faq/

9

Page 10: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

date la toti pinii de intrare proprii. Pinii de intrare corespund parametrilor de intrare intr-o functie sau procedura. Cand o activitate se termina, pune toate datele pe pinii de iesire. Acestia corespund cu parametrii de iesire ai functiilor sau procedurilor. Acest comportament este discret.

In SysML, diagramele de activitate sunt extinse pentru a suporta comportament continuu, prin adaugarea de constrangeri fluxurilor dintre activitati. Aceste fluxuri pot fi discrete, de stream sau de control. Fluxurile discrete sunt fluxuri de diagrame de activitate standard UML. Fluxurile de stream permit modelarea miscarii continue a materialului. Fluxurile de control permit oprirea sau pornirea activitatilor.

Toate aceste aspecte reprezinta motive pentru care tranzitia la SysML aduce cu sine avantaje in modelarea sistemelor.11

5. Concluzii finale

11 http://www.drdobbs.com/architecture-and-design/sysml-the-systems-modeling-language/192700757

10

Page 11: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

SysML este sponsorizat de INCOSE/OMG si a fost adoptat in 2006. Ofera un limbaj de modelare de uz general ce ofera suport pentru specificarea, analiza, arhitectura si verificarea sistemelor complexe. Este un subset al UML2. Cei 4 stalpi ai SysML ofera modelare a cerintelor, comportamentului, structurii si parametrilor. Se recomanda tranzitia la SysML, ca parte apropierii de modelarea grafica a sistemelor, in principal pentru ca imbunatateste comunicatiile, interoperabilitatea instrumentelor si calitatea proiectarii. SysML continua sa evolueze, evolutie bazata pe feedback de la clienti si avansare a tehnologiei.

Versiunea de SysML actuala este 1.3. Aceasta nu aduce imbunatatiri considerabile fata de 1.2, insa 1.2 aduce cateva schimbari importante: sincronizare cu schimbarile din UML2.3, model de porturi conjugate si notatii, asocierea de nume regiunilor de activitate neintrerupta, includerea de specificatii UML de instanta, de noduri de activitate structurate, imbunatatiri pentru suportul de valori de tipul Unit si QuantityKind, si introducerea unui model pentru a defini sistemele de unitati si cantitati.

Desi SysML este practic o varianta imbunatatita a UML, acestea se pot folosi simultan intr-un proeict, in care unii ingineri de software folosesc SysML pentru analiza de sistem si de cerinta, iar altii folosesc UML pentru proiectare. Problemele intalnite in utilizarea acestei combinatii sunt de diferenta de limbaj si de translatarea diagramelor din UML in SysML. In cazul diagramelor de activitate, translatarea nu este o mare problema, din moment ce folosesc aceleasi conventii de nume, iar diferentele date de extensiile SysML sunt rezolvate de profilurile si stereotipurile UML.

Probleme de diferenta de limbaj apar in cazul diagramelor block definition/internal block si cele class/internal structure/component. Acestea probleme pornesc de la folosirea de conventii de nume diferite, pana la adaugarea constructorilor SysML cu semantica ambigua.

Alte probleme de incompatibilitate apar si la diagramele parametrice. Introducerea unor paradigme de constrangeri logice, care nu sunt integrate total in paradigma obiect-componenta a UML-ului, produce dificultati de intelegere. De asemenea, relatiile de alocare ale SysML si relatii trace/refine ale UML sunt ambigue, deci este frecvent neclar cum se mapeaza constructorii pt analiza de sistem SysML la constructorii UML.

Pentru aceste motive, echipele care planuiesc sa foloseasca SysML si UML intr-un proiect ar trebuie sa fie constiente de aparitia unor probleme, atat subtile, cat si substantiale de translatie si trasabilitate.

Bibliografie

11

Page 12: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

1. A Practical Guide to SysML, Second Edition: The Systems Modeling Language (The MK/OMG Press)

2. T. Weilkiens, Systems Engineering with SysML/UML: Modeling, Analysis, Design, 2008, OMG Press

3. http://www.omgsysml.org/ 4. http://www.visual-paradigm.com/product/vpuml/features/sysml.jsp 5. http://www.sysmlforum.com/sysml-faq/ 6. http://www.modelbasedsystemsengineering.com/ 7. http://www.drdobbs.com/architecture-and-design/sysml-the-systems-modeling-

language/1927007578. www.omg.org/ocsmp/HSUV.pdf

Cuprins

12

Page 13: stst.elia.pub.rostst.elia.pub.ro/.../TEME_IS_2013_14/2_DUMITRANT_SysML.docx · Web viewSolutii de modelare a aplicatiilor de inginerie software : SysML Ingineria sistemelor bazata

Ingineria sistemelor bazata pe modele – Prezentare generala, avantaje 1

Diagrame SysML si concept de limbaj 2

Modelare SysML ca parte a ingineriei software - Exemple si aplicatii 5

Tranzitia la SysML 9

Concluzii finale 11

Bibliografie 12

13


Recommended