Automatikus forr ásk ód szint ézis be ágyazott...
Transcript of Automatikus forr ásk ód szint ézis be ágyazott...
1
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Automatikus forrAutomatikus forrááskskóód szintd szintééziszisbebeáágyazott rendszerekhezgyazott rendszerekhez
Pintér Gergely
2
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
BevezetőBevezetBevezetőő
� Bevezető áttekintés az UML 2.1 eszközeiről� Diagram típusok
• Használati eset diagramok
• Statikus aspektusok modellezése• Dinamikus viselkedés modellezése
� Mennyiben használhatók ezek kódszintézisre
Forráskód szintézis:Absztrakt szoftver modellek automatikus megvalósítása valamilyen programozási nyelven.
Forráskód szintézis:Absztrakt szoftver modellek automatikus megvalósítása valamilyen programozási nyelven.
3
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
2
4
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
5
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
Adjusttemperature
Ventilator
Radiator
User
Automatikus megvalósíthatóság
• Nem hordoz elégszemantikai információt
• Legfeljebb alapvetőkövetelmény követésiellenőrzéshez használható
Automatikus megvalósíthatóság
• Nem hordoz elégszemantikai információt
• Legfeljebb alapvetőkövetelmény követésiellenőrzéshez használható
6
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
3
7
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
Thermometer
VentilatorRadiatorsetValve() setSpeed()
getTemperature()
setPreferredTemp()
ThermostatpreferredTemp: Integer
Automatikus megvalósíthatóság
• Világos szemantika,leképzése kézenfekvő acélnyelv adatstruktúráira
• Legtöbb modellező eszköztámogat is valami hasonlófunkciót
Automatikus megvalósíthatóság
• Világos szemantika,leképzése kézenfekvő acélnyelv adatstruktúráira
• Legtöbb modellező eszköztámogat is valami hasonlófunkciót
Tipikusan OO nyelvekhez…
public class Thermostat {
private int preferredTemp;
private Thermometer myThermometer;
private Radiator myRadiator;
private Ventilator myVentilator;
public void setPreferredTemp(int t) {
// Add code here
}
}
Tipikusan OO nyelvekhez…
public class Thermostat {
private int preferredTemp;
private Thermometer myThermometer;
private Radiator myRadiator;
private Ventilator myVentilator;
public void setPreferredTemp(int t) {
// Add code here
}
}
8
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
Thermometer
VentilatorRadiatorsetValve() setSpeed()
getTemperature()
setPreferredTemp()
ThermostatpreferredTemp: Integer
Automatikus megvalósíthatóság
• Világos szemantika,leképzése kézenfekvő acélnyelv adatstruktúráira
• Legtöbb modellező eszköztámogat is valami hasonlófunkciót
Automatikus megvalósíthatóság
• Világos szemantika,leképzése kézenfekvő acélnyelv adatstruktúráira
• Legtöbb modellező eszköztámogat is valami hasonlófunkciót
…de megoldható pl. ANSI-C-ben istypedef struct {
int preferred_temp;
thermometer_t *my_thermometer;
radiator_t *my_radiator;
ventillator *my_ventillator;
} thermostat_t;
void
set_preferred_temp(thermostat_t *this,
int t){
/* Add code here */
…de megoldható pl. ANSI-C-ben istypedef struct {
int preferred_temp;
thermometer_t *my_thermometer;
radiator_t *my_radiator;
ventillator *my_ventillator;
} thermostat_t;
void
set_preferred_temp(thermostat_t *this,
int t){
/* Add code here */
9
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
4
10
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
Statikus modelleken alapulókódszintézis előnyei
• Áttekinthető vizuális modellek használatafejlécállományok bogarászása helyett
• Egyszerű karbantarthatóság és refactoring• Merging elvű kódgenerátorok, felhasználóisablonok támogatása, stb…
• Automatikus dokumentáció generálás• Jórészt megoldottnak tekinthető
Statikus modelleken alapulókódszintézis előnyei
• Áttekinthető vizuális modellek használatafejlécállományok bogarászása helyett
• Egyszerű karbantarthatóság és refactoring• Merging elvű kódgenerátorok, felhasználóisablonok támogatása, stb…
• Automatikus dokumentáció generálás• Jórészt megoldottnak tekinthető
11
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
12
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
User :Thermostat :Thermometer :Ventillator :Radiator
setPreferredTemp()
getTemperature()
setSpeed()
setValve()
Automatikus megvalósíthatóság
• Valószínűleg túl kevésinformációt hordoz
• Teszt tervezésben ésdokumentációként játszhatelsősorban szerepet
Automatikus megvalósíthatóság
• Valószínűleg túl kevésinformációt hordoz
• Teszt tervezésben ésdokumentációként játszhatelsősorban szerepet
5
13
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
14
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
Within hysteresisinterval
Heatingentry:radiator.setValve(OPEN)
exit:radiator.setValve(CLOSED)
Coolingentry:
ventilator.setSpeed(HIGH)exit:
ventilator.setSpeed(LOW)
Re-calculatehysteresis interval
[T < histIntLow]
[T in histInt]
[T > histIntHigh]
timer
setPreferredTemp
Automatikus megvalósíthatóság• Tetszőlegesen bonyolult viselkedésspecifikációját teszi lehetővé
• Nagy jelentősége lehet reaktív rendszerektervezésében és megvalósításában desajnos a szabvány nem definiál elég precízszemantikát az állapottérképekhez
• A tipikus modellező eszközök nemtámogatják a kódszintézistállapottérképekből
Automatikus megvalósíthatóság• Tetszőlegesen bonyolult viselkedésspecifikációját teszi lehetővé
• Nagy jelentősége lehet reaktív rendszerektervezésében és megvalósításában desajnos a szabvány nem definiál elég precízszemantikát az állapottérképekhez
• A tipikus modellező eszközök nemtámogatják a kódszintézistállapottérképekből
15
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
6
16
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
Állapottérképeken alapulókódszintézis előnyei
• Áttekinthető vizuális modellek használata• A manuális megvalósítás bonyolult viselkedésesetén nehezen karbantartható, nagy a hibázásvalószínűsége, nehéz tesztelni, stb., azautomatikus megvalósítás gyors, bizonyítottanhelyes és nincsenek karbantartási költségei
• Használható gyors prototípus készítésben is• Jelenleg csak a legkomolyabb modellezőeszközök nyújtanak kódszintézis támogatást
Állapottérképeken alapulókódszintézis előnyei
• Áttekinthető vizuális modellek használata• A manuális megvalósítás bonyolult viselkedésesetén nehezen karbantartható, nagy a hibázásvalószínűsége, nehéz tesztelni, stb., azautomatikus megvalósítás gyors, bizonyítottanhelyes és nincsenek karbantartási költségei
• Használható gyors prototípus készítésben is• Jelenleg csak a legkomolyabb modellezőeszközök nyújtanak kódszintézis támogatást
17
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Bevezető: Az UML 2.1 eszközkészleteBevezetBevezetőő:: AzAz UMLUML 2.12.1 eszkeszköözkzkéészleteszlete
� Követelmények, szerepek és rendszer határok� Használati eset diagramok
� Statikus aspektusok modellezése� Osztály, csomag és objektum diagramok� Komponens diagramok� Telepítési diagramok
� Dinamikus aspektusok modellezése� Interakciós diagramok� Állapottérképek� Aktivitási diagramok
18
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Az itt bemutatott munka célja az, hogy adjunk egy bizonyítottan helyes megoldást tetszőleges komplexitású, UML állapottérképekkel specifikált viselkedési modellek automatikus, forrásnyelvi szintű megvalósítására.
Az automatikus forráskód szintézis előnyei:• Jelentős termelékenység növekedés• Szoftver minőség emelkedése• Fejlesztési költségek csökkenése
Az itt bemutatott munka célja az, hogy adjunk egy bizonyítottan helyes megoldást tetszőleges komplexitású, UML állapottérképekkel specifikált viselkedési modellek automatikus, forrásnyelvi szintű megvalósítására.
Az automatikus forráskód szintézis előnyei:• Jelentős termelékenység növekedés• Szoftver minőség emelkedése• Fejlesztési költségek csökkenése
BevezetőBevezetBevezetőő
7
19
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÁttekintésÁÁttekintttekintééss
Viselkedésmodellezés állapottérképekkelViselkedésmodellezés állapottérképekkel
Formális szemantikaFormális szemantika
DemonstrációDemonstráció
ÖsszegzésÖsszegzés
20
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÁttekintésÁÁttekintttekintééss
Viselkedésmodellezés állapottérképekkelViselkedésmodellezés állapottérképekkel
Formális szemantikaFormális szemantika
DemonstrációDemonstráció
ÖsszegzésÖsszegzés
21
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ViselkedésmodellezésViselkedViselkedéésmodellezsmodellezééss
� Lépések� Az UML állapottérképek eszközei� Működési szemantika
� Példa: közlekedési lámpa� Három izzó: piros, sárga és zöld
• Átkapcsolásukat időzítő vezérli• Ha kettőnél több autó vár a főúton nem várja ki az időzítőt
� Beépített kamera a piroson áthajtók lefényképezésére• Ki és bekapcsolható a piros ideje alatt• Megjegyzi legutolsó állapotát
8
22
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off
On
switch
switch
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszlet
23
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off
On
switch
switch
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszlet
Kiindulási állapot jelölése
24
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off
On
switch
switch
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszlet
Egyszerűállapot
9
25
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off
On
switch
switch
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszletÁtmenet
• Trigger esemény• Őrfeltétel
26
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off
On
switch
switch
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszletHatás
• Átmenetekhezrendelt aktivitás
Aktivitás• Belépés• Kilépés
27
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off
On
switch
switch
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszlet
10
28
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off Off
Yellow
RedOn
Green
RedYellow
tG
switch
switch
tY
tRY
tR
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszletNem konkurensösszetett állapot
(VAGY-dekompozíció)
29
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
H
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszletKonkurens összetettállapot
(ÉS-dekompozíció)
30
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
H
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszlet
Emlékezőállapot
11
31
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
H
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszlet
32
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
További eszközökTovTováábbi eszkbbi eszköözzöökk
Stage1
Stage3
Stage2B
Aborted
Stage4
P-A1 P-A2 P-A3
P-B1 P-B2
P-C1 P-C2
*
Stage2A
33
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
További eszközökTovTováábbi eszkbbi eszköözzöökk
Stage1
Stage3
Stage2B
Aborted
Stage4
P-A1 P-A2 P-A3
P-B1 P-B2
P-C1 P-C2
*
Stage2A
Choice
12
34
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
További eszközökTovTováábbi eszkbbi eszköözzöökk
Stage1
Stage3
Stage2B
Aborted
Stage4
P-A1 P-A2 P-A3
P-B1 P-B2
P-C1 P-C2
*
Stage2A Junction
35
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
További eszközökTovTováábbi eszkbbi eszköözzöökk
Stage1
Stage3
Stage2B
Aborted
Stage4
P-A1 P-A2 P-A3
P-B1 P-B2
P-C1 P-C2
*
Stage2A
Fork
36
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
További eszközökTovTováábbi eszkbbi eszköözzöökk
Stage1
Stage3
Stage2B
Aborted
Stage4
P-A1 P-A2 P-A3
P-B1 P-B2
P-C1 P-C2
*
Stage2A
Join
13
37
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
További eszközökTovTováábbi eszkbbi eszköözzöökk
Stage1
Stage3
Stage2B
Aborted
Stage4
P-A1 P-A2 P-A3
P-B1 P-B2
P-C1 P-C2
*
Stage2AVégállapot
38
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
További eszközökTovTováábbi eszkbbi eszköözzöökk
Stage1
Stage3
Stage2B
Aborted
Stage4
P-A1 P-A2 P-A3
P-B1 P-B2
P-C1 P-C2
*
Stage2A
39
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Modellezési eszközkészletModellezModellezéési eszksi eszköözkzkéészletszlet
� Állapotok� Egyszerű állapotok� Összetett állapotok
• VAGY-dekompozíció• ÉS-dekompozíció
� Ki- és belépési aktivitások
� Átmenetek� Trigger, őrfeltétel, hatás
� Pszeudoállapotok� Initial, fork, join, junction, choice, history, …
14
40
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
41
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
42
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
A switcheseményfogadása
15
43
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
Az Off állapot kilépési
aktivitása
44
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
Az átmenet hatásának
végrehajtása
45
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
Az On állapot belépési aktivitása
16
46
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
A Green állapotbelépésiaktivitása
47
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
48
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
A zöld állásidőzítő
eseménye (tG)érkezik
17
49
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
A Greenállapot kilépési
aktivitása
50
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
Az átmenethez rendelt hatás végrehajtása
51
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
A Yellow állapot belépési aktivitása
18
52
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
53
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
A sárga állás időzítő
eseménye érkezik
54
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
A Yellowállapot kilépési
aktivitása
19
55
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
Az átmenethez rendelt hatás végrehajtása
56
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
A Red állapot belépési aktivitása
57
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
A CameraOffállapot belépési
aktivitása
A Count0 állapotbelépésiaktivitása
20
58
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Működési szemantikaMMűűkkööddéési szemantikasi szemantika
Off OffCount1
Count0
Count2
Yellow
RedOn
Green
RedYellow
CameraOn
CameraOfftG
switch
switch
tY
tRY
tRcarStop
carStop
carStop
59
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÁttekintésÁÁttekintttekintééss
Viselkedésmodellezés állapottérképekkelViselkedésmodellezés állapottérképekkel
Formális szemantikaFormális szemantika
DemonstrációDemonstráció
ÖsszegzésÖsszegzés
60
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÁttekintésÁÁttekintttekintééss
Viselkedésmodellezés állapottérképekkelViselkedésmodellezés állapottérképekkel
Formális szemantikaFormális szemantika
DemonstrációDemonstráció
ÖsszegzésÖsszegzés
21
61
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Formális szemantikaFormFormáális szemantikalis szemantika
� Precíz szintaxis definíció� Metamodell� Részletesen definiált jólformáltsági szabályok
� Formális működési szemantika� Állapot finomítás matematikai modellje� Összetett átmenet struktúrák formális modellje� Összetett aktivitás struktúrák PERT gráfos modellje
• Konkurens működés, precedencia viszonyok, …
� Leírás imperatív algoritmusokkal
62
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Automatikus megvalósításAutomatikus megvalAutomatikus megvalóóssííttááss
� Esettanulmány:� Erőforrásokban szegény beágyazott rendszerekhez� Praktikusan bármilyen platformon megoldható
� Szemantika illesztve a platform specialitásaihoz:� Többszálú végrehajtás hiánya� Korlátozott tár és számítási kapacitás
� Szemantika és modell bizonyított ekvivalenciája� Demonstráció:
� Atmel128 8-bit µC + GNU toolchain (ANSI-C)
63
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÁttekintésÁÁttekintttekintééss
Viselkedésmodellezés állapottérképekkelViselkedésmodellezés állapottérképekkel
Formális szemantikaFormális szemantika
DemonstrációDemonstráció
ÖsszegzésÖsszegzés
22
64
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÁttekintésÁÁttekintttekintééss
Viselkedésmodellezés állapottérképekkelViselkedésmodellezés állapottérképekkel
Formális szemantikaFormális szemantika
DemonstrációDemonstráció
ÖsszegzésÖsszegzés
65
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
66
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
23
67
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
68
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
69
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
24
70
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
71
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
72
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
25
73
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
74
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
75
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
26
76
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
77
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
78
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
27
79
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
80
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
81
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
28
82
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
83
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
84
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
29
85
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
86
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
87
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
30
88
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
89
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
90
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
31
91
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
92
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
93
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
32
94
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
95
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
96
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
33
97
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
Camera
On
98
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
99
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
34
100
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
Camera
Off
101
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
On
Red
Off
Camera
Off
Camera
On
Green
Yellow
Red
Yellow
Wait1Wait0
Wait2
H
102
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÁttekintésÁÁttekintttekintééss
Viselkedésmodellezés állapottérképekkelViselkedésmodellezés állapottérképekkel
Formális szemantikaFormális szemantika
DemonstrációDemonstráció
ÖsszegzésÖsszegzés
35
103
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÁttekintésÁÁttekintttekintééss
Viselkedésmodellezés állapottérképekkelViselkedésmodellezés állapottérképekkel
Formális szemantikaFormális szemantika
DemonstrációDemonstráció
ÖsszegzésÖsszegzés
104
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
105
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Modellezésállapottérképekkel
• Tetszőleges bonyolultságúviselkedési modellek
• Gyakorlatilag mindenállapottérkép elem támogatott
Modellezésállapottérképekkel
• Tetszőleges bonyolultságúviselkedési modellek
• Gyakorlatilag mindenállapottérkép elem támogatott
36
106
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
107
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Precíz formális szemantika• Metamodell, jól formáltság• Állapotfinomítás, összetettátmenet és aktivitás struktúrákmatematikai modellje
• Szemantika leírása KTS-sel
Precíz formális szemantika• Metamodell, jól formáltság• Állapotfinomítás, összetettátmenet és aktivitás struktúrákmatematikai modellje
• Szemantika leírása KTS-sel
108
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
37
109
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Automatikus forráskód szintézis
• Eddig: MS-AsmL, ANSI-C• Jelenleg: Java, C++• Helyességbizonyítás• Callback elvű megoldás
Automatikus forráskód szintézis
• Eddig: MS-AsmL, ANSI-C• Jelenleg: Java, C++• Helyességbizonyítás• Callback elvű megoldás
110
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
111
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Fordítás és telepítés• A célplatformeszközeivel (pl. GNUtoolchain)
Fordítás és telepítés• A célplatformeszközeivel (pl. GNUtoolchain)
38
112
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
113
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Áttekintő a használatrólÁÁttekintttekintőő a haszna hasznáálatrlatróóll
� Tervezés és megvalósítás lépései� Szoftver modellezése UML-ben� Aktivitások megadása
• Közvetlenül a modellező eszközben a célnyelven, vagy…• Külön állományban függvényekként
� Viselkedési modell alapján kódgenerálás� Szükséges glue code megírása
• Pl. main loop, megszakításkezelők, stb.
� Fordítás és telepítés
114
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Szoftver modellezése UML-benSzoftver modellezSzoftver modellezéése se UMLUML--benben
39
115
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Aktivitások megadásaAktivitAktivitáások megadsok megadáásasa
116
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Aktivitások megadásaAktivitAktivitáások megadsok megadáásasa
Belépési aktivitásZöld izzó felkapcsolása. (Ez csak a neve az aktivitásnak.)
Belépési aktivitásZöld izzó felkapcsolása. (Ez csak a neve az aktivitásnak.)
117
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Aktivitások megadásaAktivitAktivitáások megadsok megadáásasa
Belépési aktivitásA ‘Z’ megjelenítése a hétszegmensű kijelzőn. (Ez az aktivitás törzse.)
Belépési aktivitásA ‘Z’ megjelenítése a hétszegmensű kijelzőn. (Ez az aktivitás törzse.)
40
118
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Áttekintés a folyamatrólÁÁttekintttekintéés a folyamatrs a folyamatróóll
Kódgenerátor
Kódgenerátor
Fordító,assembler,
linker
Fordító,assembler,
linker
Atomi aktivitásokmegvalósítása
Generált forrás
Modellezés
Glue code
119
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Generált és kézzel írt kód integrációjaGenerGeneráált lt éés ks kéézzel zzel íírt krt kóód integrd integráácicióójaja
� A szintetizált forrás struktúrája� Az állapottérkép reprezentációja a forrásban
• Kompakt konstans adatszerkezet• A kódgenerátor szintetizálja
� Aktivitások és őrfeltételek megvalósítása• Egy aktivitás, ill. őrfeltétel egy függvény• A fenti adatszerkezet függvénypointerekkel hivatkozik rájuk• Ha megadták a modellben, a kódgenerátor ki is másolja
� Állapottérkép engine• Két függvény: inicializáció és esemény feldolgozás• Karbantartja a konfigurációt és hívja az aktivitásokat
120
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Példa a generált kódraPPéélda a generlda a generáált klt kóódradra
#include "behavioral_model.h"#include "generated.h"
/*** AggregatedAggregatedAggregatedAggregated bitbitbitbit masks.masks.masks.masks.*/static unsigned const char mask_aggregate[50] = {
/*** Index: 0 -- start of sequence [0, 8] representing individual sequences:* preciseStatechart[0].tc[2].enteredHierarchySet* preciseStatechart[0].tc[11].enabling*/0,8,
[...]
/*** StatesStatesStatesStates inininin classclassclassclass LampLampLampLamp (root(root(root(root statestatestatestate machine:machine:machine:machine: State_Machine_1).State_Machine_1).State_Machine_1).State_Machine_1).*/static const state_tbehavioral_model__precise_statechart_seq__values0__state_seq__values[] = {
/** State: Off in class Lamp (root state machine: State_Machine_1). */{
#ifdef INCLUDE_EXPENSIVE_DATA/** Name of the state (used only if including expensive (i.e., memory consuming)
data is enabled). */"Off",
#endif /* INCLUDE_EXPENSIVE_DATA *//** Entry activity. */(activity_t) entry_Lamp_State_Machine_1_Off,/** Exit activity. */(activity_t) 0,
},
[...]
41
121
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Generált konstansok és deklarációkGenerGeneráált konstansok lt konstansok éés deklars deklaráácicióókk
/*** Enumeration of event type identifiers in the precise* statechart of class Lamp.
*/enum {
/** Identifier of event type: SwitchEvt in class Lamp. */EVENT_TYPE_ID__LAMP__STATE_MACHINE_1__SWITCHEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__SWITCHEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__SWITCHEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__SWITCHEVT, /** Identifier of event type: TimerEvt in class Lamp. */EVENT_TYPE_ID__LAMP__STATE_MACHINE_1__TIMEREVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__TIMEREVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__TIMEREVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__TIMEREVT, /** Identifier of event type: CarArriveEvt in class Lamp. */EVENT_TYPE_ID__LAMP__STATE_MACHINE_1__CARARRIVEEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__CARARRIVEEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__CARARRIVEEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__CARARRIVEEVT, /** Number of event types in the statechart of class Lamp. */NUM_EVENT_TYPE__LAMP__STATE_MACHINE_1NUM_EVENT_TYPE__LAMP__STATE_MACHINE_1NUM_EVENT_TYPE__LAMP__STATE_MACHINE_1NUM_EVENT_TYPE__LAMP__STATE_MACHINE_1
};
[...]voidentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Green(void *context,
fat_state_mask_t configuration);
/*** Enumeration of event type identifiers in the precise* statechart of class Lamp.
*/enum {
/** Identifier of event type: SwitchEvt in class Lamp. */EVENT_TYPE_ID__LAMP__STATE_MACHINE_1__SWITCHEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__SWITCHEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__SWITCHEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__SWITCHEVT, /** Identifier of event type: TimerEvt in class Lamp. */EVENT_TYPE_ID__LAMP__STATE_MACHINE_1__TIMEREVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__TIMEREVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__TIMEREVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__TIMEREVT, /** Identifier of event type: CarArriveEvt in class Lamp. */EVENT_TYPE_ID__LAMP__STATE_MACHINE_1__CARARRIVEEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__CARARRIVEEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__CARARRIVEEVTEVENT_TYPE_ID__LAMP__STATE_MACHINE_1__CARARRIVEEVT, /** Number of event types in the statechart of class Lamp. */NUM_EVENT_TYPE__LAMP__STATE_MACHINE_1NUM_EVENT_TYPE__LAMP__STATE_MACHINE_1NUM_EVENT_TYPE__LAMP__STATE_MACHINE_1NUM_EVENT_TYPE__LAMP__STATE_MACHINE_1
};
[...]voidentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Green(void *context,
fat_state_mask_t configuration);
122
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Aktivitások megvalósításaAktivitAktivitáások megvalsok megvalóóssííttáásasa
/*** Entry activity of state Lamp(State_Machine_1)::Green.** Comment (by abstract code generator):* "Entry action of "Green"."* Name: Display 'Green'* Body: dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY,* SEG7_EMPTY);* Language: ansi c*/
voidentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Green(void *context,
fat_state_mask_t configuration) {/* Copied from the model. */dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY, SEG7_EMPTY);dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY, SEG7_EMPTY);dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY, SEG7_EMPTY);dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY, SEG7_EMPTY);
}
/*** Entry activity of state Lamp(State_Machine_1)::Green.** Comment (by abstract code generator):* "Entry action of "Green"."* Name: Display 'Green'* Body: dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY,* SEG7_EMPTY);* Language: ansi c*/
voidentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Greenentry_Lamp_State_Machine_1_Green(void *context,
fat_state_mask_t configuration) {/* Copied from the model. */dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY, SEG7_EMPTY);dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY, SEG7_EMPTY);dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY, SEG7_EMPTY);dpy_trm_s01__7seq_write_3digit(SEG7_Z, SEG7_EMPTY, SEG7_EMPTY);
}
123
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÖsszegzésÖÖsszegzsszegzééss
� Tudományos eredmények� Formális szemantika az UML állapottérképeihez� Automatikus forráskód szintézis
� Gazdasági előnyök� Termelékenység és kódminőség növekedése� Csökkenő költségek
� Szakmai érvek� Fókuszban a viselkedés precíz specifikációja� Tisztán elkülönülő aktivitások, vezérlés és glue code
� Tudományos eredmények� Formális szemantika az UML állapottérképeihez� Automatikus forráskód szintézis
� Gazdasági előnyök� Termelékenység és kódminőség növekedése� Csökkenő költségek
� Szakmai érvek� Fókuszban a viselkedés precíz specifikációja� Tisztán elkülönülő aktivitások, vezérlés és glue code
42
124
DECOS Nemzeti Nap2007. október 15.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
ÖsszegzésÖÖsszegzsszegzééss
� Tudományos eredmények� Formális szemantika az UML állapottérképeihez� Automatikus forráskód szintézis
� Gazdasági előnyök� Termelékenység és kódminőség növekedése� Csökkenő költségek
� Szakmai érvek� Fókuszban a viselkedés precíz specifikációja� Tisztán elkülönülő aktivitások, vezérlés és glue code
� Tudományos eredmények� Formális szemantika az UML állapottérképeihez� Automatikus forráskód szintézis
� Gazdasági előnyök� Termelékenység és kódminőség növekedése� Csökkenő költségek
� Szakmai érvek� Fókuszban a viselkedés precíz specifikációja� Tisztán elkülönülő aktivitások, vezérlés és glue code