Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul...

52
15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor 3. Microcontrolere 4. Procesoare dedicate 5. Interfeţe de comunicaţie 6. Periferice pentru sisteme dedicate 7. Dezvoltarea programelor 8. Sisteme de operare dedicate

Transcript of Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul...

Page 1: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 1

Cuprins

1. Introducere

2. Modele şi limbaje pentru specificaţia

sistemelor

3. Microcontrolere

4. Procesoare dedicate

5. Interfeţe de comunicaţie

6. Periferice pentru sisteme dedicate

7. Dezvoltarea programelor

8. Sisteme de operare dedicate

Page 2: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 2

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

Page 3: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 3

Introducere (1)

Dificultatea descrierii funcţionale a unui sistem dedicat

� Complexitatea crescută a sistemului → rezultă şi din capacitatea crescută a circuitului integrat� Aplicaţii simple: aparate electrocasnice, jocuri → sute sau mii de linii de cod

� Aplicaţii complexe: telefoane, automobile →sute de mii de linii de cod

Page 4: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 4

Introducere (2)

� Iniţial, funcţionalitatea dorită nu este înţeleasă complet � Erori de implementare datorită descrierilor

incomplete sau eronate

� Metoda obişnuită: utilizarea unui limbaj natural� Descrierea precisă a sistemului este foarte

dificilă

� Metoda recomandată: utilizarea unor modele computaţionale� Pun la dispoziţie un set de obiecte şi reguli

pentru compunerea obiectelor

Page 5: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 5

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

Page 6: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 6

Tipuri de modele (1)

Modele orientate pe stare

� Reprezintă sistemul ca un set de stări şi un set de tranziţii între stări

� Tranziţiile sunt determinate de evenimente externe

� Exemplu: automat cu stări finite

� Se utilizează pentru sisteme de control: monitorizarea unor intrări de control; setarea unor ieşiri de control

Page 7: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 7

Tipuri de modele (2)

Modele orientate pe activitate

� Descriu sistemul ca un set de activităţi

� Activităţile sunt asociate prin dependenţe de date sau de execuţie

� Exemplu: graf al fluxului de date

� Se pot utiliza pentru sisteme dominate de date� Transformă şiruri de date de intrare în şiruri de

date de ieşire → sisteme DSP

Page 8: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 8

Tipuri de modele (3)

Modele orientate pe structură

� Descriu modulele fizice ale sistemului şi interconexiunile dintre acestea

� Nu reprezintă funcţionarea sistemului

� Exemplu: schemă-bloc

Modele orientate pe date

� Reprezintă sistemul ca o colecţie de dateasociate prin atribute, apartenenţă la clase etc.

Page 9: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 9

Tipuri de modele (4)

� Utilizate mai ales pentru sisteme de programe

� Exemplu: diagramă entitate – relaţie

Modele eterogene

� Integrează caracteristici ale mai multor modele

� Exemplu: graf al fluxului de control/date

Page 10: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 10

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

Page 11: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 11

Modele şi limbaje

Model computaţional: descrie funcţionalitatea dorită a sistemului → noţiune conceptuală

Limbaj: descrie modelul sub o formă concretă

Un model poate fi descris într-o varietate de limbaje

� Exemplu: model al programului secvenţial → C, C++, Java

Un limbaj poate descrie o varietate de modele

� Exemplu: C++ → model obiectual, model al programului secvenţial, automat de stare

Page 12: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 12

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

Page 13: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 13

Exemplu (1)

Controler pentru un ascensor

� Descriere în limbaj natural“Deplasează ascensorul în sus sau în jos până la etajul cerut. La etajul cerut, deschide uşa pentru cel puţin 10 secunde şi păstrează uşa deschisă până când etajul cerut se modifică. Păstrează uşa închisă în timpul deplasării. Schimbă direcţia doar dacă nu sunt cereri la etaje superioare în timpul deplasării în sus sau dacă nu sunt cereri la etaje inferioare în timpul deplasării în jos.”

Page 14: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 14

Exemplu (2)

Două blocuri:

� RezCereri rezolvă diferitele cereri de etaje într-un singur etaj cerut

� UnitControl deplasează ascensorul la etajul cerut

butoane îninteriorul

ascensorului

UnitControl

b1

down

open

floor

...

RezCereri

...

butoaneup/down la fiecare etaj

b2bN

up1

up2dn2

dnN

req

up

Interfaţa sistem

up3

dn3

dn1

Page 15: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 15

Exemplu (3)

Descrierea UnitControl

Inputs: int floor; bit b1..bN; up1..upN-1; dn2..dnN;Outputs: bit up, down, open;Global variables: int req;

void UnitControl() {

up = down = 0; open = 1;while (1) {

while (req == floor);open = 0;if (req > floor) { up = 1;}else {down = 1;}while (req != floor);up = down = 0;open = 1;delay(10);

}}

Page 16: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 16

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

Page 17: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 17

Modele orientate pe stare

Modele orientate pe stare

� Automat cu stări finite

� Automat cu stări finite şi căi de date

� Reţea Petri

� Automat cu stări finite ierarhice concurente

Page 18: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 18

Automat cu stări finite (1)

FSM (Finite-State Machine)

� Un set de stări ale sistemului

� Un set de tranziţii posibile între stări

� Un set de acţiuni asociate cu stările sau tranziţiile

� <S, I, O, f, h, s0>S = {s0, s1, …, sl} setul de stări

I = {i0, i1, …, im} setul de intrări

O = {o0, o1, …, on} setul de ieşiri

Page 19: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 19

Automat cu stări finite (2)

f – funcţia stării următoare, f : S x I → S

h – funcţia de ieşire

s0 – starea iniţială

� FSM Mealy (bazat pe tranziţii)h : S x I → O

� FSM Moore (bazat pe stări)h : S → O� FSM Moore necesită un număr mai mare de

stări decât FSM Mealy → fiecare valoare de ieşire necesită propria stare

Page 20: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 20

Automat cu stări finite (3)

Idle

GoingUp

req > floor

req < floor

!(req > floor)

!(timer < 10)

req < floor

DoorOpen

GoingDn

req > floor

u,d,o, t = 1,0,0,0

u,d,o,t = 0,0,1,0

u,d,o,t = 0,1,0,0

u,d,o,t = 0,0,1,1

u: up; d: down; o: open; t: timer_start

req == floor

!(req < floor)

timer < 10

Modelul pentru UnitControl

Page 21: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 21

Modele orientate pe stare

Modele orientate pe stare

� Automat cu stări finite

� Automat cu stări finite şi căi de date

� Reţea Petri

� Automat cu stări finite ierarhice concurente

Page 22: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 22

Automat cu stări finite şi căi de date (1)

FSMD (Finite-State Machine with Datapath)

� Extinde modelul FSM cu tipuri de date complexe şi variabile� Modelul FSM utilizează numai tipuri de date şi

operaţii booleene

� Avantaj: reducerea numărului de stări

� <S, I, O, V, f, h, s0>V = {v0, v1, …, vn} setul variabilelor

f – funcţia stării următoare, f : S x I x V → Sh – funcţia de acţiune, h : S → O + V (Moore)

Page 23: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 23

Automat cu stări finite şi căi de date (2)

� I, O şi V pot conţine tipuri de date complexe, ca şi limbajele de programare

� f şi h pot conţine operaţii aritmetice

� h descrie şi actualizarea variabilelor

� Automatul anterior: FSMD

� FSMD se poate utiliza atât pentru sisteme de control, cât şi pentru sisteme de calcul

� Dezavantajul modelelor FSM şi FSMD: nu permit descrierea sistemelor complexe

Page 24: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 24

Modele orientate pe stare

Modele orientate pe stare

� Automat cu stări finite

� Automat cu stări finite şi căi de date

� Reţea Petri

� Automat cu stări finite ierarhice concurente

Page 25: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 25

Reţea Petri (1)

Modelul reţelei Petri:

� Un set de locaţii, un set de tranziţii şi un set de simboluri (tokens)

� Simbolurile se află în locaţii şi circulă prin reţea, fiind consumate şi produse atunci când o tranziţie este declanşată

� <L, T, I, O, u >L = {l0, l1, …, lm} setul locaţiilor

T = {t0, t1, …, tn} setul tranziţiilor

Page 26: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 26

Reţea Petri (2)

I – funcţia de intrare, I : T → L+, defineşte locaţiile care furnizează intrări unei tranziţii

O – funcţia de ieşire, I : T → L+, defineşte locaţiile de ieşire pentru fiecare tranziţie

u – funcţia de marcaj, u : L → N, defineşte numărul de simboluri din fiecare locaţie

� O tranziţie este declanşată numai dacă este validată → fiecare din locaţiile sale de intrare are cel puţin un simbol� Se elimină toate simbolurile de validare din

locaţiile de intrare ale tranziţiei

Page 27: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 27

Reţea Petri (3)

I: I(T1)={L1} O: O(T1)={L5} u: u(L1)=1

I(T2)={L2,L3,L5} O(T2)={L3,L5} u(L2)=1

I(T3)={L3} O(T3)={L4} u(L3)=2

I(T4)={L4} O(T4)={L2,L3} u(L4)=0

Page 28: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 28

Reţea Petri (4)

Reţelele Petri pot modela diferite caracteristici ale sistemelor

� Secvenţierea

� Ramificaţia non-deterministă

� Sincronizarea

� Conflictul la resurse

� Concurenţa proceselor

Page 29: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 29

Reţea Petri (5)

(a) secvenţiere; (b) ramificaţie; (c) sincronizare;

(d) conflict la resurse; (e) concurenţă

Page 30: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 30

Reţea Petri (6)

Se poate utiliza pentru a testa şi valida anumite proprietăţi utile ale sistemelor

� Siguranţa: este garantată prin faptul că numărul de simboluri nu creşte nedefinit

� Funcţionalitatea: este garantată prin lipsa blocajelor → va exista întotdeauna cel puţin o tranziţie care poate fi declanşată

Avantaj: modelarea sistemelor concurenteDezavantaj: nu este utilă pentru sisteme complexe

Page 31: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 31

Modele orientate pe stare

Modele orientate pe stare

� Automat cu stări finite

� Automat cu stări finite şi căi de date

� Reţea Petri

� Automat cu stări finite ierarhice concurente

Page 32: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 32

Automat cu stări finite ierarhice concurente (1)

HCFSM (Hierarchical/Concurrent FSM)

� Extensie a modelului FSM

� Pentru descrierea modelelor HCFSM a fost elaborat limbajul grafic Statecharts

� Ierarhia: permite descompunerea unei stări într-un set de sub-stări� Fiecare stare poate fi descompusă în mai multe

sub-stări

� Se pot grupa mai multe stări într-o nouă stare ierarhică

Page 33: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 33

Automat cu stări finite ierarhice concurente (2)

Stările A1 şi A2 au fost grupate în starea ierarhică A

Tranziţia în starea B la evenimentul z se realizează din starea A, nu A1 sau A2

A1 z

B

A2 z

x y w

Fără ierarhie

A1 z

B

A2

x y

A

w

Cu ierarhie

Page 34: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 34

Automat cu stări finite ierarhice concurente (3)

� Concurenţa� Fiecare stare poate fi descompusă în mai multe

sub-stări concurente

� Comunicaţia se realizează prin variabile globale

� Două sau mai multe stări concurente pot fi grupate într-o nouă stare ierarhică

� Două metode de descompunere� SAU: o stare este descompusă în stări

secvenţiale

� ŞI: o stare este descompusă în stări concurente

Page 35: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 35

Automat cu stări finite ierarhice concurente (4)

Starea B a fost descompusă în stările concurente C şi D

Stările C şi D sunt descompuse fiecare în două stări ierarhice

C1

C2

x y

C

B

D1

D2

u v

D

Concurenţă

Page 36: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 36

Automat cu stări finite ierarhice concurente (5)

Modificarea controlerului pentru ascensor

� Intrarea fire → trecerea în modul de incendiu

� Deplasarea ascensorului la primul nivel şi deschiderea uşii

Fără ierarhie

Idle

GoingUp

req>floor

req<floor

!(req>floor)

timeout(10)

req<floor

DoorOpen

GoingDn

req>floor

u,d,o = 1,0,0

u,d,o = 0,0,1

u,d,o = 0,1,0

req==floor!(req<floor)

firefire

firefire

FireGoingDn

floor>1

u,d,o = 0,1,0

u,d,o = 0,0,1

!fire

FireDrOpen

floor==1

fire

u,d,o = 0,0,1

UnitControl

Page 37: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 37

Automat cu stări finite ierarhice concurente (6)

fire

!fireFireGoingDn

floor>1

u,d,o = 0,1,0

FireDrOpen

floor==1

fire

ModIncendiu

u,d,o = 0,0,1

Cu ierarhie

Idle

GoingUp

req>floor

req<floor

!(req>floor)

timeout(10)

req<floor

DoorOpen

GoingDn

req>floor

u,d,o = 1,0,0

u,d,o = 0,0,1

u,d,o = 0,1,0

req==floor!(req>floor)

u,d,o = 0,0,1

ModNormal

UnitControl

Page 38: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 38

Automat cu stări finite ierarhice concurente (7)

Controlerul pentru ascensor reprezentat prin modelul HCFSM cu două stări concurente

ModNormal

ModIncendiu

fire!fire

UnitControl

ControlerAscensor

RezCereri

...

Cu starea concurentă RezCereri

Page 39: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 39

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

Page 40: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 40

Modele orientate pe activitate

Modele orientate pe activitate

� Graf al fluxului de date

� Graf al fluxului de control

Page 41: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 41

Graf al fluxului de date (1)

DFG (Dataflow Graph)

� Ieşirile sunt determinate printr-un set de transformări ale intrărilor

� Noduri de intrare (sursă) şi de ieşire(destinaţie)

� Noduri de activitate (proces)� Descrise prin: program, procedură, operaţie

� Noduri de memorare� Reprezintă înregistrări, fişiere, variabile

� Arcuri direcţionate între noduri

Page 42: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 42

Graf al fluxului de date (2)

Reprezentarea grafică

� Noduri de intrare şi ieşire:

� Noduri de activitate:

� Noduri de memorare:

� Fluxul de date: arcuri etichetate cu datele transmise între noduri

Modelul permite reprezentarea ierarhică

� Fiecare nod de activitate poate fi reprezentat printr-un alt graf

Page 43: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 43

Graf al fluxului de date (3)

Page 44: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 44

Graf al fluxului de date (4)

Utilizare: în diferite domenii de aplicaţii sau etape de proiectare din acelaşi domeniu

� Exemplu: DSP� Noduri: variabile, operaţii aritmetice

� Arcuri: dependenţe de date

Page 45: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 45

Graf al fluxului de date (5)

Modelul DFG nu conţine informaţii despre implementare

� Se utilizează în faza de specificaţii a sistemelor

Avantaj: descompunerea ierarhică permite specificarea sistemelor complexe

Dezavantaj: nu exprimă comportamentul temporal şi nici acţiunile de control, în afară de dependenţele de date

Page 46: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 46

Modele orientate pe activitate

Modele orientate pe activitate

� Graf al fluxului de date

� Graf al fluxului de control

Page 47: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 47

Graf al fluxului de control (1)

CFG (Control-Flow Graph)

� Organigramă

� Arcurile reprezintă secvenţierea (fluxul de control)

� Tranziţiile sunt declanşate atunci când se termină o anumită activitate

� Noduri de început şi de sfârşit:

� Noduri de calcul:

� Noduri de decizie:

Page 48: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 48

Graf al fluxului de control (2)

Organigramă pentru calculul maximului a N numere memorate în tabloul MEM

Page 49: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 49

Graf al fluxului de control (3)

Utilizare:

� Pentru sisteme care pot fi reprezentate ca un set de activităţi secvenţiale� Activităţile nu depind de evenimente externe

� Pentru a se impune o anumită ordine de execuţie activităţilor dintr-un model DFG� Eliminarea dependenţelor de date care sunt

naturale

Page 50: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 50

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

Page 51: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 51

Modele orientate pe structură (1)

Diagramă de conectivitate a componentelor

� Reprezintă un set de componente şi interconexiunile dintre acestea

� Nu descrie funcţionarea sistemului

� Componente (noduri): obiecte structurale cu un set definit de intrări şi ieşiri

� Conexiuni: semnale, magistrale

� Diagramele de conectivitate se pot include în diferite modele de reprezentare

Page 52: Cuprins - UTMmasterat.fcim.utm.md/informatii/curs_sdc/scd02.pdf · 15.03.2015 Sisteme de calcul dedicate (02) 1 Cuprins 1. Introducere 2. Modele şi limbaje pentru specificaţia sistemelor

15.03.2015 Sisteme de calcul dedicate (02) 52

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