Budapesti Műszaki és Gazdaságtudományi Egyetem
Miért is transzformáljunk modelleket? Varró Dániel
Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Mit látunk a képen?
Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Tipikus kérdések (Hardvertervezés) Jól működik-e? • 1+1 = 2?
Hogyan készítsünk 8 bites összeadót 4 bites összeadóval?
Hogyan készítsünk összeadót, ha: • AND kapu: 5 Ft • OR kapu: 10 Ft • XOR kapu: 20 Ft Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
És mi újság a szoftvereknél?
Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Szoftverek meghibásodása a gyakorlatban
Javasolt útvonal: • BudapestMilanoAtlantaFirenze • AtlantaFirenze: 12 óra, 274 km, este indul ésRendszerek aznap érkezik (keletre!) Hibatűrő kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Üzleti folyamatok szolgáltatásbiztonsága
Hibás adat Járat keresése
Kiválasztás
Járat foglalása
Hibás szolgáltatás Jegy nyomtatása
Online Irodai keresés
Hibatűrő Rendszerek kutatócsoport
Irodai foglalás
Budapesti Műszaki és Gazdaságtudományi Egyetem
Üzleti folyamatok hibamodellezése
Hibás adat Járat keresése
Hihetőségvizsgálat Kivétel Kiválasztás
Járat foglalása
Jegy nyomtatása Online? Irodai keresés
Hibatűrő Rendszerek kutatócsoport
Irodai foglalás
Budapesti Műszaki és Gazdaságtudományi Egyetem
Üzleti folyamatok méretezése
Járat keresése
Kiválasztás
Járat foglalása
Jegy nyomtatása
Online? Irodai keresés
Szűk keresztmetszet
Irodai foglalás
Milyen erőforrást bővítsünk (emberi/gépi), ha adott ráfordítással minél több klienst szeretnénk kiszolgálni?
Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Feladatok és kihívások Korai hibadetekció 7-14-szeres költségcsökkenés 10-15-szörös minőségjavulás
teljesség
Specifikáció
Funkcionális helyesség
Nyitott kérdések
Funkcionális modell
ellentmondásmentesség felhasználói követelményeknek megfelelés Specifikációnak megfelelés időhatárok
Mennyiségi
teljesítmény átbocsátóképesség
hibamodellezés
Nemfunkcionális
Hibatűrés Mennyiségi
Hibatűrő Rendszerek kutatócsoport
HW SW
hibahatás elemzése rendelkezésreállás megbízhatóság
Budapesti Műszaki és Gazdaságtudományi Egyetem
Miért is transzformálunk modelleket?
Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Modellvezérelt rendszertervezés és -analízis Rendszer tervezés Magasszintű rendszer modell (UML, BPM, DSL) Telepítés
Matematikai analízis Modell generálás Terv módosítás Hiányosságok listája
Kódgenerálás
Implementáció Telepítési leíró Megbízható platform Hibatűrő Rendszerek kutatócsoport
Monitor generálás Futási idejű monitorozás
Alkalmazásfigyelő rendszer
Matematikai modell
Analízis
Budapesti Műszaki és Gazdaságtudományi Egyetem
Tervezőeszközök integrációja (SENSORIA) Integrált tervezőeszközök / modellezési nyelvek: • Tervezés: UML, BPEL • Analízis: PEPA, WS-Engineer • Telepítés: WSDL, IBM RAMP, Apache Axis2
• Integráció: SDE, VIATRA
Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Tervezőeszközök transzformáció alapú integrációja (DECOS, DIANA) CRD editing
PIM editing
PIM PIM PIM
CRD
Behavioural modeling
PSM
SCADE model
Configuration generation
PIL, HL services
Config. data
V-plans
Predef. models
PIM-PSM mapping
Middleware generation
V-plan definition
Simulink, C, Ada, etc.
Repository:
specs., models, code, configs.
V-plan execution
V&V activity description
Code generation
additional code libs.
Job & wrapper
Model transf. Legend:
Deployment
specification design implementation
Executables
Hibatűrő Rendszerek kutatócsoport
V&V
V&V execution
Budapesti Műszaki és Gazdaságtudományi Egyetem
Hogyan transzformáljunk modelleket?
Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
A VIATRA2 modelltranszformációs rendszer Eclipse keretrendszer
VIATRA2 plugin (http://www.eclipse.org/gmt/VIATRA2) VIATRA modelltér Forrás metamodell
MT. szabály (GT+ASM)
Cél metamodell
Forrás modell
MT motor
Cél modell
Plugin generátor
Natív forrás leírás (text) Modellező eszköz Hibatűrő Rendszerek kutatócsoport
Önálló MT Plugin (Java, EMF, EJB)
Natív cél leírás (text) Analízis eszköz
Budapesti Műszaki és Gazdaságtudományi Egyetem
Szoftver alapú rendszerek modelljei
Fogalomtár (Metamodell)
Grafikus szintakszis
inputs p1:Port
c1:Circuit subcomponents
Absztrakt (Gráf) szintakszis Hibatűrő Rendszerek kutatócsoport
g1:AndGate
Budapesti Műszaki és Gazdaságtudományi Egyetem
Gráftranszformációs szabályok (VIATRA) Baloldal (LHS)
Jobboldal (RHS)
F1: Család
F2: Család
tag
tag
M: Férfi
W:Nő
házas
F1: Család M: Férfi
házas
Hibatűrő Rendszerek kutatócsoport
F2: Család házas
tag
W:Nő tag
F: Család
Budapesti Műszaki és Gazdaságtudományi Egyetem
Végül néhány friss kutatásról…
Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Modellszinkronizációs probléma Forrás Modell 1
MT
MT Cél Modell 1
Változás
Változás Forrás Modell 2
Forrás Modell 1
Cél Modell 2
Forrás Modell 2
Cél Modell 1 Változás Cél Modell 2
Újra MT
Batch megközelítés − Minden lépésben újratranszformálunk
Inkrementális megközelítés − Tároljuk a minták előfordulásait − Csak az új modellrészekre hajtsuk végre a transzformációt
Implementáció: RETE hálózatok Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Modelltranszformáció példák alapján Bemenet: Előny: párok − prototipikus, összetartozó forrás- és célmodell • Elég a forrás és célnyelvet ismerni Kimenet:
• Megspóroljuk a szabályok egy részének − automatikusan generált transzformációs szabályok felírását MTBE = Model Transformation By Example
Minta Forrásmodell
Prototipikus leképezés
Minta Célmodell
Automatikus generálás Forrás metamodell
Transzformációs szabályok
Cél metamodell
Forrás modell
Transzformációs motor
Cél modell
Hibatűrő Rendszerek kutatócsoport
Budapesti Műszaki és Gazdaságtudományi Egyetem
Összefoglalás Milyenek a modellek? − Domain/Szakterület-specifikusak ● Üzleti folyamatok, beágyazott rendszerek, stb. ● Szakértőknek szólnak
− Grafikus jelölésrendszer − Hatékony fejlesztőeszközök (Eclipse)
Miért is transzformáljunk modelleket? − Korai hibadetekció minőség ++ − Automatikus kódgenerálás termelékenység ++
Hogyan transzformál(j)unk modelleket? − VIATRA2: http://www.eclipse.org/gmt/VIATRA2 Hibatűrő Rendszerek kutatócsoport