56
Modele și limbaje pentru specificația sistemelor Introducere Tipuri de modele Modele și limbaje Exemplu Modele orientate pe stare Modele orientate pe activitate Modele orientate pe structură Modele orientate pe date Modele eterogene Limbaje pentru specificația sistemelor Sisteme de calcul dedicate (02-2) 16.10.2018 1

Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele și limbaje pentru specificația sistemelor

•Introducere•Tipuri de modele•Modele și limbaje•Exemplu•Modele orientate pe stare•Modele orientate pe activitate•Modele orientate pe structură•Modele orientate pe date•Modele eterogene•Limbaje pentru specificația sistemelor

Sisteme de calcul dedicate (02-2) 16.10.2018 1

Page 2: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele orientate pe structură (1)

•Diagramă de conectivitate a componentelorReprezintă un set de componente și interconexiunile dintre acesteaNu descrie funcționarea sistemuluiComponente (noduri): obiecte structurale cu un set definit de intrări și ieșiriConexiuni: semnale, magistraleDiagramele de conectivitate se pot include în diferite modele de reprezentare

Sisteme de calcul dedicate (02-2) 16.10.2018 2

Page 3: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele orientate pe structură (2)

Exemple•Scheme-bloc la nivel de sistem: procesoare,

memorii, circuite ASIC

•Scheme la nivel RT: UAL, registre, MUX, DCD, magistrale

•Scheme la nivel de porți: sunt reprezentate complet conexiunile de date și de control

Utilizare: în fazele avansate ale procesului de proiectare, pentru specificarea implementării sistemului

Sisteme de calcul dedicate (02-2) 16.10.2018 3

Page 4: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele și limbaje pentru specificațiasistemelor

•Introducere•Tipuri de modele•Modele și limbaje•Exemplu•Modele orientate pe stare•Modele orientate pe activitate•Modele orientate pe structură•Modele orientate pe date•Modele eterogene•Limbaje pentru specificația sistemelor

Sisteme de calcul dedicate (02-2) 16.10.2018 4

Page 5: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele orientate pe date

•Modele orientate pe dateDiagrama entitate-relație

Diagrama Jackson

Sisteme de calcul dedicate (02-2) 16.10.2018 5

Page 6: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Diagrama entitate-relație (1)

•ERD (Entity-Relationship Diagram)Definește sistemul ca o colecție de entități și relațiile dintre eleEntitate: •Tip de date cu unul sau mai multe atribute

Relație: •Reprezintă informații relevante pentru entități

Utilizare: pentru reprezentarea datelor între care există relații complexeNu descrie comportamentul funcțional

Sisteme de calcul dedicate (02-2) 16.10.2018 6

Page 7: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Diagrama entitate-relație (2)

•Reprezentarea informațiilor pentru comanda diferitelor produse de către un magazin

16.10.2018 Sisteme de calcul dedicate (02-2) 7

Page 8: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele orientate pe date

•Modele orientate pe dateDiagrama entitate-relație

Diagrama Jackson

Sisteme de calcul dedicate (02-2) 16.10.2018 8

Page 9: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Diagrama Jackson (1)

•Descrie datele individuale prin structura lorDescompune datele în sub-date

•Structură arborescentăNoduri terminale pentru tipuri de date de bazăNoduri non-terminale pentru tipuri compuse

•Tipurile compuse sunt obținute prin operații:Compoziție (AND): tipuri formate din două sau mai multe sub-tipuri

Sisteme de calcul dedicate (02-2) 16.10.2018 9

Page 10: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Diagrama Jackson (2)

Selecţie (OR): tipuri formate prin selecția unui singur sub-tip

Iterație (*): sunt replicate anumite elemente ale sub-tipurilor

•Utilizare: pentru reprezentarea datelor cu o structură compusă complexă

•Limitări: nu descrie comportamentul funcțional și nici cel temporal al sistemului

Sisteme de calcul dedicate (02-2) 16.10.2018 10

Page 11: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Diagrama Jackson (3)

•Diagramă Jackson pentru modelarea unui set de obiecte ale unui desen

16.10.2018 Sisteme de calcul dedicate (02-2) 11

Page 12: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele și limbaje pentru specificația sistemelor

•Introducere•Tipuri de modele•Modele și limbaje•Exemplu•Modele orientate pe stare•Modele orientate pe activitate•Modele orientate pe structură•Modele orientate pe date•Modele eterogene•Limbaje pentru specificația sistemelor

Sisteme de calcul dedicate (02-2) 16.10.2018 12

Page 13: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele eterogene

•Modele eterogeneGraf al fluxului de control/date

Diagrama de structură

Model obiectual

Automat de stare al programului

Sisteme de calcul dedicate (02-2) 16.10.2018 13

Page 14: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Graf al fluxului de control/date (1)

•CDFG (Control/Data Flow Graph)Combină avantajele modelelor CFG și DFG

Conține:•Modele DFG pentru reprezentarea fluxului de date

între activități

•Un model CFG pentru reprezentarea secvențieriiîntre modelele DFG

Indică în mod explicit dependențele de date și secvența de control într-o singură reprezentare

Sisteme de calcul dedicate (02-2) 16.10.2018 14

Page 15: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Graf al fluxului de control/date (2)

(a) Cod de program; (b) Modelul CDFG corespunzător

16.10.2018 Sisteme de calcul dedicate (02-2) 15

Page 16: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Graf al fluxului de control/date (3)

•Un model CDFG poate fi utilizat și pentru a reprezenta activitățile și acțiunile de control necesare pentru un sistemModel CDFG la nivel de activitate

Model CFG combinat cu un model DFG

Modelul CFG: •Răspunde la evenimente externe și interne

•Controlează execuția modelului DFG prin acțiuni de control

Sisteme de calcul dedicate (02-2) 16.10.2018 16

Page 17: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Graf al fluxului de control/date (4)

Sisteme de calcul dedicate (02-2) 16.10.2018 17

Page 18: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Graf al fluxului de control/date (5)

•Avantaje:Elimină dezavantajul modelului DFG de a nu putea reprezenta partea de control a sistemului

Elimină dezavantajul modelului CFG de a nu putea reprezenta dependențele de date

•Utilizare:Sisteme de timp real

Sinteza funcțională a circuitelor ASIC

Sisteme de calcul dedicate (02-2) 16.10.2018 18

Page 19: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele eterogene

•Modele eterogeneGraf al fluxului de control/date

Diagrama de structură

Model obiectual

Automat de stare al programului

Sisteme de calcul dedicate (02-2) 16.10.2018 19

Page 20: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Diagrama de structură (1)

•Poate specifica datele, activitățile și accesele de control ale unui sistem

•Este utilă pentru proiectarea programelor

•Noduri: reprezintă activități

•Arcuri: reprezintă apeluri de proceduri sau funcții dintr-un limbaj de programareSe indică datele transferate între activități

•Controlul execuției activităților: ramificație; iterație; apel de subrutină

Sisteme de calcul dedicate (02-2) 16.10.2018 20

Page 21: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Diagrama de structură (2)

Sisteme de calcul dedicate (02-2) 16.10.2018 21

Page 22: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Diagrama de structură (3)

•Diagrama de structură nu specifică în mod complet secvența de execuțieExemplu: nu se cunoaște ordinea în care se apelează procedurile

•Pune la dispoziție construcții pentru controlul ramificațiilor, iterațiilor și al apelurilor de proceduri între module

•Utilizare: în etapele preliminare ale proiectării programelor secvențiale

Sisteme de calcul dedicate (02-2) 16.10.2018 22

Page 23: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele eterogene

•Modele eterogeneGraf al fluxului de control/date

Diagrama de structură

Model obiectual

Automat de stare al programului

Sisteme de calcul dedicate (02-2) 16.10.2018 23

Page 24: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Model obiectual (1)

•A evoluat de la modelele orientate pe date

•Sistemul este reprezentat ca un set de obiecteUn set de date

Un set de operații asupra datelor

•CaracteristiciAbstractizarea datelor: încapsularea datelor în

fiecare obiect•Datele sunt invizibile pentru alte obiecte

Concurența: obiectele își execută operațiile independent de cele ale altor obiecte

Sisteme de calcul dedicate (02-2) 16.10.2018 24

Page 25: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Model obiectual (2)

•Exemplu de sistem cu obiecte și funcții de transformare

16.10.2018 Sisteme de calcul dedicate (02-2) 25

Page 26: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele eterogene

•Modele eterogeneGraf al fluxului de control/date

Diagrama de structură

Model obiectual

Automat de stare al programului

Sisteme de calcul dedicate (02-2) 16.10.2018 26

Page 27: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Automat de stare al programului (1)

•PSM (Program-State Machine)Combină modelul HCFSM cu paradigma limbajelor de programareIerarhie de stări ale programului: fiecare stare reprezintă un mod distinct de calculPSM cu o singură stare: echivalent cu un program secvențial → dacă acțiunile stării sunt definite printr-un program secvențialPSM cu mai multe stări: echivalent cu un model HCFSM → dacă acțiunile sunt instrucțiuni de asignare

Sisteme de calcul dedicate (02-2) 16.10.2018 27

Page 28: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Automat de stare al programului (2)

Stări simple: calculele sunt descrise prin instrucțiuni ale limbajului de programare

Stări compuse: pot fi descompuse în sub-stări concurente sau secvențiale

Secvențierea între sub-stări: indicată prin arcuri de tranziție•Arc de tranziție la terminare (TOC – Transition On

Completion): este parcurs atunci când condiția asociată este adevărată și s-au terminat calculele sub-stării sursă

Sisteme de calcul dedicate (02-2) 16.10.2018 28

Page 29: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Automat de stare al programului (3)

•Arc de tranziție imediată (TI – TransitionImmediately): este parcurs imediat ce condiția asociată devine adevărată

Reprezentarea grafică•Sistem: •Stare a programului: •Relație concurentă între stări: •Tranziție: •Arc TOC: începe dintr-un pătrat aflat în interiorul

stării•Arc TI: începe de la perimetrul stării

Sisteme de calcul dedicate (02-2) 16.10.2018 29

Page 30: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Automat de stare al programului (4)

Sisteme de calcul dedicate (02-2) 16.10.2018 30

up = down = 0; open = 1;

while (1) {

while (req == floor);

open = 0;

if (req > floor) { up = 1;}

else {down = 1;}

while (req != floor);

open = 1;

delay(10);

}

ModNormal

ModIncendiu

up = 0; down = 1; open = 0;

while (floor > 1);

up = 0; down = 0; open = 1;

fire!fire

UnitControl

ControlerAscensor

RezCereri

...

req = ...

...

int req;

Page 31: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Automat de stare al programului (5)

Utilizare: pentru sisteme cu date și activități complexe asociate cu stările•Poate reprezenta stările, datele și activitățile într-

un singur model

Avantaj față de limbajele de programare: poate modela stările în mod explicit•Sistemul poate fi specificat prin descompunerea

ierarhică a stărilor până când se pot utiliza construcțiile unui limbaj

Sisteme de calcul dedicate (02-2) 16.10.2018 31

Page 32: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Modele și limbaje pentru specificațiasistemelor

•Introducere•Tipuri de modele•Modele și limbaje•Exemplu•Modele orientate pe stare•Modele orientate pe activitate•Modele orientate pe structură•Modele orientate pe date•Modele eterogene•Limbaje pentru specificația sistemelor

Sisteme de calcul dedicate (02-2) 16.10.2018 32

Page 33: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Limbaje pentru specificația sistemelor

•Cerințe pentru specificația sistemelor dedicate

•HardwareC

•SystemC

•Statecharts

•SysML

Sisteme de calcul dedicate (02-2) 16.10.2018 33

Page 34: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Cerințe pentru specificația sistemelor dedicate (1)

•Caracteristici tipice ale sistemelor dedicate

•Tranziții între stări

Sistemele dedicate sunt bazate pe stări

Tranzițiile între stări sunt determinate de evenimente externe

•Ierarhia funcțională

Funcționarea sistemului – descompusă în mod ierarhic într-un set de moduri (comportamente) secvențiale și concurente

Sisteme de calcul dedicate (02-2) 16.10.2018 34

Page 35: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Cerințe pentru specificația sistemelor dedicate (2)

•ExempluModurile P, Q, R, S

•Fiecare mod poate conține calcule complexe

•Fiecare mod poate fi descompus în sub-moduri

•Fiecare mod răspunde în mod diferit la evenimentele externe

16.10.2018 Sisteme de calcul dedicate (02-2) 35

Page 36: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Cerințe pentru specificația sistemelor dedicate (3)

•ConcurențaModuri de funcționare care cooperează între ele pentru a realiza funcția sistemuluiConcurența la nivel de taskConcurența la nivel de instrucțiune

•ExcepțiiÎntreruperi ale funcționării sistemuluiSistemul termină operațiile curente și trece în următorul mod de funcționare

Sisteme de calcul dedicate (02-2) 16.10.2018 36

Page 37: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Cerințe pentru specificația sistemelor dedicate (4)

•ExempluTerminarea imediată

16.10.2018 Sisteme de calcul dedicate (02-2) 37

Page 38: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Cerințe pentru specificația sistemelor dedicate (5)

•Construcții de programareAnumite calcule pot fi reprezentate într-un mod mai natural prin algoritmi bazați pe construcții de programare

•Terminarea funcționăriiExecuția activităților unui sistem dedicat nu se repetă la infinit

Este necesară specificarea terminării funcționării → inițierea altei activități

Sisteme de calcul dedicate (02-2) 16.10.2018 38

Page 39: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Limbaje pentru specificația sistemelor

•Cerințe pentru specificația sistemelor dedicate

•HardwareC

•SystemC

•Statecharts

•SysML

Sisteme de calcul dedicate (02-2) 16.10.2018 39

Page 40: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

HardwareC (1)

•Conceput ca un limbaj de descriere hardware orientat pe sinteza sistemelor digitaleDispune de semantică și construcții pentru descrierea circuitelor

•Specificația unui sistem: un singur nivel de procese concurente care comunică între eleProcesele pot fi incluse într-o ierarhie de blocuri interconectate → ierarhie structurală

Sisteme de calcul dedicate (02-2) 16.10.2018 40

Page 41: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

HardwareC (2)

•ConcurențaLa nivel de task: prin procese; fiecare specifică operații secvențiale → limbaj CLa nivel de instrucțiune: prin instrucțiunea de compunere paralelă•Exemplu:<

x = b + c;

y = d – e;

>

Sisteme de calcul dedicate (02-2) 16.10.2018 41

Page 42: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

HardwareC (3)

•Comunicația între proceseMemorie partajată: printr-un mediu partajat (conexiuni, memorie) între două porturi•Porturile sunt declarate la marginile proceselor sau

ale blocurilor din care fac parte

•Protocolul este specificat ca parte a procesului

Transmitere de mesaje: se utilizează construcții explicite send-receive•Se declară canale de comunicație

•Protocolul va fi sintetizat în mod automat

Sisteme de calcul dedicate (02-2) 16.10.2018 42

Page 43: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

HardwareC (4)

•Sincronizarea proceselor: prin transmitere de mesaje cu blocareUn proces va aștepta până la recepția unui

semnal de la un alt proces → msgwait

•Constrângeri temporale între instrucțiuni: prin asocierea unor etichete cu instrucțiunile

•Constrângeri ale resurselor: prin numărul de instanțe ale unui model care vor fi utilizate pentru sinteză

•Nu permite specificația tranzițiilor între stări sau a excepțiilor

Sisteme de calcul dedicate (02-2) 16.10.2018 43

Page 44: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Limbaje pentru specificația sistemelor

•Cerințe pentru specificația sistemelor dedicate

•HardwareC

•SystemC

•Statecharts

•SysML

Sisteme de calcul dedicate (02-2) 16.10.2018 44

Page 45: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

SystemC (1)

•Permite specificarea atât a părții hardware, cât și a părții software a sistemuluiNu este necesară translatarea specificației

hardware într-un alt limbaj (de ex., VHDL)

Verificarea funcționării întregului sistem poate fi realizată în fazele inițiale

•Prima versiune a limbajului - publicată în 1999

•În 2005, SystemC a fost standardizat de IEEE (IEEE 1666)

Sisteme de calcul dedicate (02-2) 16.10.2018 45

Page 46: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

SystemC (2)

•SystemC este de fapt:O bibliotecă de clase (C++)Un nucleu de simulare

•Caracteristici:Extinde limbajul C++ cu macrouri și alte construcții pentru proiectarea hardwareIntroduce concurența → proceseIntroduce conceptul de timpPermite execuția paralelă pentru simulare

Sisteme de calcul dedicate (02-2) 16.10.2018 46

Page 47: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

SystemC (3)

•ModuleReprezintă componentele sistemului

•Descriu interfața

Sunt similare cu entitățile din limbajul VHDLPot fi ierarhiceSunt definite prin macroul SC_MODULE

•CanalePermit comunicația între modulePot modela diferite protocoaleSunt specificate de interfețe

Sisteme de calcul dedicate (02-2) 16.10.2018 47

Page 48: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

SystemC (4)

•PorturiReprezintă interfețele dintre module și canale

Sunt similare cu porturile din limbajul VHDL

•ProcesePermit modelarea concurenței

Sunt asociate cu un modul

Sunt declanșate de semnale → listă de sensibilitate

Sunt similare cu arhitecturile (VHDL)

Sisteme de calcul dedicate (02-2) 16.10.2018 48

Page 49: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

SystemC (5)

Tipuri de procese: fire de execuție; metodeFire de execuție•Sunt lansate o singură dată de simulator•Execuția poate fi suspendată cu metoda wait•Conțin, de obicei, o buclă infinită•Sunt definite prin macroul SC_THREAD

Metode•Execuția acestora nu poate fi suspendată•După execuție controlul revine simulatorului•Sunt definite prin macroul SC_METHOD

Sisteme de calcul dedicate (02-2) 16.10.2018 49

Page 50: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Limbaje pentru specificația sistemelor

•Cerințe pentru specificația sistemelor dedicate

•HardwareC

•SystemC

•Statecharts

•SysML

Sisteme de calcul dedicate (02-2) 16.10.2018 50

Page 51: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Statecharts (1)

•Limbaj grafic elaborat pentru specificarea sistemelor reactive

•Extinde modelul FSM cu: ierarhie; concurență; comunicațieCorespunde modelului HCFSM

•Obiectul de bază: starea•Tranzițiile între stări sunt determinate de o combinație de evenimente și condiții

Sisteme de calcul dedicate (02-2) 16.10.2018 51

Page 52: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Statecharts (2)

•Ierarhia funcțională: o specificație poate fi descompusă într-o ierarhie de stăriDescompunere SAU (secvențială): o stare poate fi formată din sub-stări secvențiale și tranziții

Descompunere ȘI (concurentă): o stare poate fi formată din sub-stări ortogonale

•Se pot asocia acțiuni cu arcurile de tranziție și cu stările

Sisteme de calcul dedicate (02-2) 16.10.2018 52

Page 53: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Statecharts (3)

•Specificația temporală: printr-o tranziție specială (timeout) Condiția tranziției este o limită de timpTranziția este executată automat dacă starea sursă este activă pentru un timp egal cu limita

•Comunicația: implementată printr-un mecanism cu difuzare (broadcast)Generarea evenimentelor, actualizarea variabilelor, tranziții → difuzate imediat

Sisteme de calcul dedicate (02-2) 16.10.2018 53

Page 54: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Statecharts (4)

•Sincronizarea(a) Prin inițializare

(b) Printr-un eveniment comun

16.10.2018 Sisteme de calcul dedicate (02-2) 54

Page 55: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Statecharts (5)

(c) Prin date (variabile) comune

(d) Prin detecția stării

16.10.2018 Sisteme de calcul dedicate (02-2) 55

Page 56: Modele și limbaje pentru specificația sistemelorusers.utcluj.ro/~baruch/media/scd/curs/SCD-Modele-2.pdf · •Tipuri de modele ... •Scheme la nivel de porți: sunt reprezentate

Statecharts (6)

•Statecharts implementează conceptul de istorie a sistemului

•Statecharts poate specifica funcționarea nedeterministăDacă există două tranziții dintr-o stare, se alege

una în mod nedeterminist

•Dezavantaje: Nu dispune de construcții de programare

Nu permite specificarea structurii

Sisteme de calcul dedicate (02-2) 16.10.2018 56