Mitkä ovat tärkeimmät haasteet Embedded Software?

R

rushhour

Guest
Mukaan prof Ed Lee hänen Frontier Kluwer Academic Publisher Pääkirjoitus
(Http://www.hwswworld.com/uploaddownload/frontier11.php), I luetellut muutaman
Keskeisiä haasteita Embedded Software, hän sisällyttää jokaisen asia, tai se on vain akateemista mieltä?Jotain muuta puuttuu

Kaikki tulot ovat tervetulleita

Ed

 
Voisitteko luettelo Keskeisiä haasteita hän sisällyttää joten elin tässä voi auttaa sinua täyttämällä luettelossa?

 
Sure, I kopioida / liittää koko paperi tänne
http://www.hwswworld.com/uploaddownload/frontier11.php

Paras,
EdFrontier lehti

Yksinomainen Frontier Kattavuus on System Design Vol.2
nro 1 tammikuu 2005VIERASKIRJA PÄÄKIRJOITUSMitkä ovat tärkeimmät haasteet Embedded Software?Edward A. Lee

Professori, IEEE Fellow

Department of Electrical Engineering and Computer Sciences

University of California, BerkeleyE

mbedded ohjelmisto on perinteisesti ollut ajatellut kuin ohjelmiston pieniä tietokoneita.Tässä perinteinen katsoo, että pääasiallinen ongelma on resurssien rajoitukset (pieni muisti, pieni tiedot sana koot ja suhteellisen hidas kellot).Ratkaisut painottaa tehokkuutta ohjelmisto on kirjoitettu erittäin alhaisella tasolla (kokoonpanossa koodi tai C),
käyttöjärjestelmät, jolla on rikas suite palvelut välttää, ja erikoistunut tietokone arkkitehtuureille kuten ohjelmoitava DSPs ja verkko-prosessorit ovat kehittäneet antaa laitteiston tuki Määrittämätön operaatioihin.Nämä ratkaisut ovat määrittäneet käytännössä sulautettujen ohjelmistojen suunnitteluun ja kehittämiseen viimeisen 25 vuoden aikana.

Tietenkin, kiitos puolijohdeteollisuudessa kykyä noudattaa Mooren laki, resurssien rajoitukset 25 vuotta sitten olisi lähes kokonaan haihtunut tänään.Miksi sitten on sulautettujen ohjelmistojen suunnitteluun ja kehittämiseen muuttunut niin vähän?Voi olla, että äärimmäinen kilpailupaineesta tuotteet perustuvat sulautetut ohjelmistot, kuten viihde-elektroniikka, palkkioita vain tehokkaimpia ratkaisuja.Tämä väite on kyseenalainen, koska siellä on monia esimerkkejä, joissa toiminto on osoittautunut tärkeämpää kuin tehokkuus.Me väittävät, että resurssien rajoitukset eivät ole ainoa määritellään tekijä sulautetut ohjelmistot, eikä hän voi edes olla merkittävin tekijä.

Resource rajoituksia asia jossain määrin lähes kaikki ohjelmistot.Niin yleisiä parannuksia ohjelmistosuunnittelun pitäisi,
ainakin teoriassa, myös apua sulautetut ohjelmistot.On olemassa useita vihjeitä kuitenkin, että sulautetut ohjelmistot on eri perusoikeuksien tavoin.Yhden, olio-tekniikoita, kuten perintö, dynaaminen sitovia ja polymorphism käytetään harvoin käytännössä sulautettujen ohjelmistojen kehityksessä.Toisessa esimerkissä, jalostajien käytetään sulautettujen järjestelmien usein välttää muisti hierarkia tekniikoita, joita käytetään yleensä tarkoitukseen prosessorit toimittaa suuren näennäismuistia tilat ja nopeammin toteuttamisen käyttäen välimuistit.Vuonna kolmasosaa esimerkiksi automaattisia muistin hallinta, jossa jako, deallocation ja roskien keräämiseen, ovat suurelta osin välttää sulautetut ohjelmistot.On oikeudenmukainen, on olemassa joitakin onnistuneita sovelluksia näiden teknologioiden sulautetut ohjelmistot, kuten käytöstä Java vuonna matkapuhelimia, mutta niiden soveltaminen on edelleen vähäistä ja se on suurelta osin tarjotaan palveluja, jotka ovat itse asiassa lähes yleiskäyttöön tarkoitettujen sovellusten (kuten tietokanta palvelujen matkapuhelimet).

Sulautetut järjestelmät ovat integraatiot ohjelmistojen ja laitteistojen, jossa ohjelmisto reagoi anturi tietoja ja kysymyksiä komentoja toimilaitteita.Fyysinen järjestelmä on erottamaton osa suunnittelusta ja ohjelmisto on conceptualized toimimaan yhdessä, että fyysistä järjestelmää.Fyysinen järjestelmät ovat luonnostaan samanaikainen ja ajallisesti.Toimia ja reaktioita tapahtuu samanaikaisesti ja ajan mittaan, ja metrijärjestelmän ominaisuuksia aika ovat olennainen osa käyttäytymistä järjestelmässä.Vallitsevat ohjelmistomenetelmille abstrakti päässä aikaan korvaamalla se tilaus.Vuonna välttämätöntä kieliä kuten C, C ja Java,
määräys toimet määritellään ohjelman, mutta ei niiden ajoitus.Tämä vallitseva välttämätöntä vedenotto on päällekkäin toisen, että säikeiden tai prosessien, tyypillisesti jonka käyttöjärjestelmä, mutta toisinaan on kieli (kuten Java).

Puute ajoituksen ydin vedenotto on virhe, näkökulmasta sulautettujen ohjelmistojen ja kierteet kuin concurrency malli on huono vastaa sulautetut järjestelmät.Ne ovat lähinnä antaa illuusion concurrency vuonna pohjimmiltaan sarja malleja, ja ne toimivat hyvin vain vaatimaton taso concurrency tai erittäin irrotettuun järjestelmiä, jotka jakavat resursseja, jossa parhaiten vaivaa ajoitustoiminto politiikat ovat riittäviä.Itse asiassa useat viimeaikaiset innovatiivisia sulautetut ohjelmistot puitteet, kuten Simulink (from
the MathWorks), TinyOS (Berkeley), ja SCADE (vuodesta Esterel Technologies) ei ole kierteet tai prosesseja.

Sulautetut ohjelmistot ovat yleisesti pidetään huomattavasti parempi luotettavuus standardi kuin yleiseen tarkoitukseen ohjelmisto.Usein epäonnistumisista ohjelmisto voi olla hengenvaarallinen (esim. vuonna ilmailutekniikan ja sotilaallisiin järjestelmiin).Vallitsevaa concurrency mallia, joka perustuu kierteet ei saavuteta riittävää luotettavuutta.Tässä vallitseva malli, vuorovaikutus threads on erittäin vaikea ihmisten ymmärtää.Perusasetuksen tekniikoita valvoa tämän vuorovaikutuksen käyttö semaforit ja keskinäistä syrjäytymisen lukot, menetelmiä, jotka juontavat juurensa 1960-luvulla.Nämä tekniikat usein johtaa umpikujaan tai livelock olosuhteet, joissa kaikki tai osa ohjelmaa ei voi jatkua täytäntöönpanovaltiossa.Vuonna Yleiskoneiden tietojenkäsittely, tämä on vaikeaa, ja tyypillisesti pakottaa uudelleenkäynnistyksen jälkeen ohjelma (tai jopa uudelleenkäynnistä tehty koneelta).Kuitenkin, sulautetut ohjelmistot, tällaisia virheitä voi olla paljon enemmän kuin epämukavaa.Lisäksi ohjelmisto on usein kirjoitettu ilman riittävää käyttää näitä sidoksissa mekanismeja, mikä rotu edellytykset, joiden avulla saadaan nondeterministic ohjelman käyttäytymistä.

Käytännössä virheet johtuvat väärinkäytöstä (tai ei ole käytössä) ja semaforit ja keskinäistä syrjäytymisen lukot ovat äärimmäisen vaikea havaita testaamalla.Koodi voidaan käyttää vuosia ennen suunnittelun puute näkyy.Staattinen analyysitekniikoita voi auttaa (esimerkiksi Sun Microsystems LockLint), mutta nämä menetelmät ovat usein tyhjäksi jonka konservatiivinen likiarvojen ja / tai vääriä positiivisia, ja ne eivät ole laajasti käytössä.

Voidaan väittää, että epäluotettavuus multi-kierteitetyt ohjelmat johtuu ainakin osittain riittämätön ohjelmistosuunnittelun prosesseja.Esimerkiksi paremmin koodi arvion, parempi eritelmät, parempi vaatimuksenmukaisuustestaukseen, ja paremman suunnittelun kehittäminen voi auttaa ratkaisemaan ongelmia.On varmasti totta, että nämä tekniikat voivat auttaa.Kuitenkin, ohjelmat, jotka käyttävät kierteet voi olla erittäin vaikea ohjelmoijat ymmärtää.Jos ohjelma on käsittämätöntä, ei määrä prosessin parantamisen ansiosta luotettava.Muodollisten menetelmien avulla voidaan havaita puutteita kierteitetyt ohjelmia, ja prosessi voi parantaa ymmärrystä siitä, että suunnittelija on, että ongelma on monimutkainen ohjelma.Mutta jos mekanismien pohjimmiltaan johtaa ohjelmia, joita on vaikea ymmärtää, näitä parannuksia jää antaneet luotettavia ohjelmistoja.

Keskeisenä haasteena sulautettujen ohjelmistojen on keksiä (tai soveltaa) vedenotto että enemmän ymmärrettävää ohjelmiin, jotka ovat sekä samanaikainen ja ajoitettu.Nämä vedenotto on hyvin erilaiset kuin käytetään laajasti suunnittelua ja kehittämistä Yleiskoneiden ohjelmisto.

 
H mm tämä artikkeli on erittäin hyvä, mutta se keskittyy sulautettujen ohjelmistojen näkökulmasta vain, vaikka joitakin haasteita laitteiston myös mutta ei ole mainittu tässä artikkelissa.

 

Welcome to EDABoard.com

Sponsor

Back
Top