Sunteți pe pagina 1din 12

Metrici utilizate la dezvoltarea

sistemelor încorporate

I. Specificații.
II. Metrici de descriere a sistemelor
embedded.
III. Etapele de proiectare/dezvoltare.
I. Specificații
Un sistem Embedded de regulă implementează o singura
funcție (de regulă aplicația de control este formată dintr-o buclă
infinită). În contrast, un system desktop poate executa o varietate
largă de programe.

Structura sistemelor embedded - HW+SW


(HW+FW+SW)
Caracteristicile unui sistem embedded:
•Interacționează direct cu lumea reală- Străns legat de mediul extern
(senzori/acționări)
•Supus la constrangeri - Cost redus, consum mic de electricitate, dimensiuni,
viteza de executie, etc
•Comportament reactiv și în real-time – Reacționează la evenimentele
externe. Trebuie sa obtina rezultate in timp real cu un minim de intarzieri
•Fiabil – Trebuie să funcționeze fără avarii/defecțiuni
I. Specificații

Dezvoltarea și implementarea unui sistem


embedded necesită cunoștințe (aptitudini) din diverse
domenii hardware, embedded software, electronică,
protocoale de comunicații, mecanică etc.
I. Metrici

Pentru atingerea succesului în dezvoltarea


sistemelor încorporate este nevoie de a aplica o
abordare sistemică în ceia ce ține de definirea
sistemului și implementarea design-ului.
Dezvoltarea ține nu doar de ingineria
sistemului propriu zis dar și de ”produs” în
general. Proiectarea și producerea unui sistem
embedded concurent ține nu doar de tehnologie
și este influențat de mai mulți factori – financiare,
sociale, politice etc.
II. Metrici

Sarcina dezvoltatorului de sistem embedded - să obțină un design


care ar satisface mai multe constrângeri:
Cele mai importante constrângeri sunt:
Cost per unitate – costul unui produs final (pentru rata de producție
nominală)
Cost de proiectare (NRE - Non-recurrent engineering) – costul de
proiectarea poate depași în citeva ori costul unui produs
Dimensiuni – actual mai ales pentru sisteme portabile
Performanțe – capacitățile de calcul a sistemului (execution time,
throughput)
Consumul de energie – actual mai ales pentru sisteme ce se
alimentează de la baterii
Flexibilitatea – posibilitatea de a modifica funcționalitatea fără
costuri prea mare pe NRE
II. Metrici

 Time-to-market – timpul necesar pentru dezvoltarea si lansare


produsului pe piață (devine foarte actual in ultima decadă).
 Time-to-prototype – timpul necesar pentru elaborarea unui prototip
funcțional, care poate fi mai mare, mai scump etc., dar care ar valida
funcționalitatea sistemului final (Proof of Concept).
 Corectitudinea – corectitudinea se referă la certitudinea că echipa de
proiectare a implementat funcționalitatea sistemului corect.
 Siguranța (Safety) – probabilitatea ca sistemul nu v-a provoca daune
 Security – capacitatea sistemului de a rezista la atacuri externe
II. Metrici

Aceste metrici sunt strâns legate una de alta astfel


imbunătățirea unei duce la degradarea altor. De exemplu,
dacă reducem dimensiunile unei implementări, cu
siguranță v-a avea de suferit performanța, costul etc.
”Talentul” proiectantului constă în găsirea unui
compromis între mulțimea de combinații care ar permite
obținerea unui produs cu funcționalitate necesară, ușor
de întreținut/upgradat, la un preț redus etc.
Evident că prioritățile variază de la un domeniul la
altul (ex: pentru sisteme medicale fiabilitatea v-a fi pe
prim plan, costurile contând mai puțin)
III. Design Flow

 Product specification – formularea cerințelor față de


sistem, definirea funcționalităților necesare/dorite (”must
have” / ” nice to have”)
 Partitioning – definirea/divizare
componentelor/funcționalităților HardWare și SoftWare
 Modelarea și refinementul procesului de partiționare
 HW & SW design – dezvoltarea independentă de
hardware și software
 Integrare hardware și software
 Testarea și lansarea produsului
 Mentenanța și ”upgrading” pe parcursul ecpluatării.
III. Design Flow

La faza de specificare a cerințelor trebuie să fie clar


care funcționalități sunt obligatorii, care ”ar fi bine să
fie”, care trebuie adăugate mai târziu (upgrade).
Faza de proiectare include mai multe iterații de
modelarea (virtuală sau pe machete), redesign pină când
nu se atinge scopul specificat.
III. Design Flow

Alegerea componentelor potrivite pentru îndeplinirea


proprietăților sistemului
HW:
 Unitatea de procesare, arhitecturi de procesoare
 Senzori și actuatoare
 Memorii
 Canale de comunicare
 Sursa de alimentare
SW:
• Procesare Real-Time
• Multitasking
• Scheduling
• Sisteme de operare
• Protocoale de comunicare
III. Design Flow

Abordări de dezvoltare

Big-bang – proiectarea fără planificarea amănunțită,


specificarea cerințelor și proceselor în prealabil.
Code-and-fix – proiectarea fără planificarea a proceselor,
dar cu definirea clara a specificațiilor.
Waterfall –proiectarea este divizată în mai multe faze
(etape). Următoarea fază începe după finalizarea fazei
precedente.
Hybrid spiral –proiectarea este divizată în mai multe faze
(etape). Planificarea următoarei faze rezultă din faza
precedentă.
III. Design Flow

Costurile de dezvoltare (reparare ) la diferite etape.