Care sunt principalele provocări în Embedded Software-ul?

R

rushhour

Guest
Potrivit Prof Ed Lee la Frontiera Kluwer Academic Publisher Editorial
(Http://www.hwswworld.com/uploaddownload/frontier11.php), am enumerate câteva
Principalele provocări în Embedded Software-ul, s-a include fiecare lucru, sau este doar academice vedere?Altceva lipsesc

Orice intrări sunt binevenite

Ed

 
Ai putea lista provocărilor cheie a inclus atât de orice organism aici vă poate ajuta să finalizeze această listă?

 
Sigur, am copiat / lipit tot aici hârtie de la
http://www.hwswworld.com/uploaddownload/frontier11.php

Cel mai bun,
EdFrontiera Oficial

Exclusiv Frontiera Acoperire pe System Design Vol..2 No. 1 ianuarie 2005GUEST EDITORIALCare sunt principalele provocări în Embedded Software-ul?Edward A. Lee

Profesor, IEEE Fellow

Departamentul de Inginerie Electrica si Computer Sciences

Universitatea din California, BerkeleyE

mbedded software-ul tradiţional, a fost gândit ca software-ul de la mic de calculatoare.În acest tradiţionale de vedere, principala problema este resursa limitări (mic de memorie, cuvântul de date de dimensiuni mici, relativ lent şi ceasuri).Soluţii sublinia eficienţă; software-ul este scris la un nivel foarte scăzut (în codul de asamblare sau C), sisteme de operare cu o bogata suita de servicii sunt evitate, şi de specialitate, cum ar fi computerul arhitecturi programabile DSPs şi reţeaua de procesoare sunt dezvoltate pentru a oferi suport hardware pentru comună operaţiuni.Aceste soluţii au stabilit practica de a încorporat software-ului de design şi dezvoltare pentru ultimii 25 de ani sau cam asa ceva.

Desigur, datorită de semiconductoare industria
are capacitatea de a urma legea
lui Moore, de limitările de resurse de 25 de ani în urmă, ar trebui să aibă aproape în întregime evaporat azi.De ce are încorporat software-ului de design şi dezvoltare a schimbat atât de puţin?Se poate întâmpla ca extremă presiune concurenţială în produse bazate pe încorporat software-ul, cum ar fi electrocasnice, recompensează cele mai eficiente soluţii.Acest argument este discutabilă,
cu toate acestea, deoarece există multe exemple de funcţionalitate în cazul în care sa dovedit a fi mult mai important decât de eficienţă.Ne vor susţine că limitările de resurse nu sunt singurul factor de definire încorporat software-ul, şi nu poate fi chiar principalul factor.

Resurse limitări sunt o problemă la un anumit grad cu aproape toate tipurile de software.Deci, generic îmbunătăţiri în inginerie software-ul ar trebui, în teorie, ajuta, de asemenea, cu software-ul încorporat.Există mai multe sugestii, totuşi, că, încorporat software-ul este în fundamental diferite moduri.Pentru unul, orientat pe obiect, cum ar fi tehnicile de moştenire, dinamic cu caracter obligatoriu, şi polymorphism sunt rar folosite în practică cu încorporat software-ul de dezvoltare.Într-un alt exemplu, procesoare utilizate pentru proiectarea sistemelor cu microcontrollere adesea evita memoria ierarhia tehnici care sunt folosite, în general, procesoare scopul de a oferi spatii mari de memorie virtuală şi mai rapid de executie, folosind cache.În treime exemplu, automatizate de management de memorie, cu alocarea, deallocation, şi o colecţie de gunoi, sunt în mare parte evitate în încorporat software-ul.Pentru a fi corect, există unele aplicatii de succes a acestor tehnologii în încorporat software-ul, cum ar fi utilizarea de telefoane mobile in Java, dar aplicarea lor rămâne limitată şi este în mare măsură, furnizarea de servicii care sunt de fapt mai mult asemănătoare cu scop general aplicatii software (cum ar fi în baza de date a serviciilor de telefoane mobile).

Embedded Systems sunt integrări de software şi hardware în cazul în care software-ul reacţionează la senzorul de date şi pentru probleme de comenzi pentru actuatoare.Fizice sistem este o parte integrantă a proiectului, precum şi software-ul trebuie să fie conceptualized pentru a funcţiona în acord cu faptul că sistemul de fizică.Sisteme fizice sunt intrinsec concomitent şi temporală.Acţiuni şi reacţii întâmpla simultan şi în timp, şi proprietăţi metrice de timp, sunt o parte esenţială a sistemului de comportament.Predominante software metode abstract departe de timp, înlocuind-o cu comanda.În imperativ de limbi, cum ar fi C, C , Java şi, de ordinul a acţiunilor este definit de program, dar nu au timp.Acest imperativ predominante captarea este suprapus cu un altul, de la fire sau de procese, de obicei, furnizate de sistemul de operare, dar din când în când de limbă (ca şi în Java).The lack of timing in the core abstraction is a flaw, from the perspective of embedded software, and threads as a concurrency model are a poor match to embedded systems.

Ele sunt în principal, axat pe furnizarea de o iluzie de concurrency secvenţial fundamental în gama de modele, şi ele funcţionează bine doar pentru nivelurile de modestă concurrency foarte decuplate sau pentru că sunt sisteme de repartizare a resurselor, în cazul în care cel mai bine-un efort de programare a politicilor sunt suficiente.Într-adevăr, mai multe recente inovatoare încorporat software-ul de cadre, cum ar fi Simulink (de la MathWorks), TinyOS (de la Berkeley), şi SCADE (de la Esterel Technologies) nu au fire sau procese.

Embedded software de sisteme sunt, în general, a avut loc la o fiabilitate mult mai mare decât standard de uz general software-ul.De multe ori, eşecuri în software-ul poate fi viaţa în pericol (de exemplu, în sisteme de avionică şi militare).Predominante concurrency model bazat pe fire nu atinge adecvate de fiabilitate.În acest model predominante, interacţiunea dintre fire este extrem de dificil pentru oameni să înţeleagă.Tehnicile de bază pentru controlul acestei interacţiuni utilizare semaphores şi excludere reciprocă încuietori, metode care se regăsesc în anii 1960.Aceste tehnici de multe ori duce la blocaje sau livelock condiţii, în cazul în care toate sau o parte dintr-un program nu poate continua executant.În general,
cu scop de calcul, acest lucru este incomod şi, de obicei, forţele o repornire a programului (sau chiar o repornire de la machine).Cu toate acestea, în software-ul încorporat, astfel de erori pot fi mult mai mult decât incomod.În plus, software-ul este de multe ori, fără a scris suficient de utilizare a acestor mecanisme se îmbuca, rezultă că în condiţiile de rasă randament nondeterministic program comportament.

În practică, erori datorate utilizării necorespunzătoare (sau de nici un folos) din semaphores şi excludere reciprocă încuietori sunt extrem de greu de detectat de testare.Codul poate fi exercitat de ani de zile înainte de un defect de proiectare apare.Static tehnici de analiza poate ajuta (de exemplu, Sun Microsystems LockLint), dar aceste metode sunt adesea împiedicată de conservatoare aproximări şi / sau fals pozitive, şi în care nu sunt utilizate pe scară largă în practică.

Se poate argumenta că unreliability de programe multi-filetat se datorează, cel puţin în parte, pentru a proceselor de inginerie software inadecvat.De exemplu, codul de mai bine revizuiri, specificaţii mai bine, mai bine respectarea de testare,
precum şi o mai bună planificare a procesului de dezvoltare pot ajuta la rezolvarea problemelor.Este cu siguranţă adevărat că aceste tehnici pot ajuta.Cu toate acestea, programele care utilizează fire poate fi extrem de dificil pentru programatori pentru a înţelege.În cazul în care un program este de neînţeles, apoi nu cantitatea de procesul de îmbunătăţire va face fiabile.Oficială de metode pot ajuta detecta defecte în filetate programe, şi în acest proces poate îmbunătăţi, în sensul că are un designer de comportament de un program complex.Dar, în cazul în care mecanismele de bază fundamental duce la programe care sunt dificil de înţeles, apoi aceste îmbunătăţiri vor cădea scurt de a oferi încredere de software.

Principala miză în încorporat software-ului este de a inventa (sau aplică) captările care randament mai multe programe de înţeles că sunt atât concomitent şi datate.Aceste captările vor fi foarte diferite de cele utilizate pe scară largă pentru elaborarea şi dezvoltarea de programe cu scop general.

 
H mm Acest articol este foarte bun, dar se concentrează pe încorporat software-ul punct de vedere numai, deşi există unele probleme în hardware-ul de asemenea, dar care nu sunt menţionate aici în articol.

 

Welcome to EDABoard.com

Sponsor

Back
Top