Tomsovi

  • Zvětšit velikost písma
  • Výchozí velikost písma
  • Zmenšit velikost písma
Domů Honza Škola 5. ročník Diplomová práce - Automatizované modelování - Obsah

Diplomová práce - Automatizované modelování - Obsah

Email Tisk PDF
seznam článků
Diplomová práce - Automatizované modelování
Obsah
1 Úvod
1.2 Typografické konvence
Tabulka 1: Slovník zkratek
2 Cíl práce
3 Metodika
4 Přehled vlastností modelovacích nástrojů
4.1 Úloha modelování v běžném životě
4.1 Úloha modelování v běžném životě - pokračování
4.1.1 Vhodnost použití objektových nástrojů pro modelování a transformace
4.2 Architektura řízená modelem - Model Driven Architecture
4.2.1 The Object Management Group
4.2.2 Základní cíle a přístupy MDA
4.2.3 Platforma
4.2.4 Hierarchie modelů dle MDA
4.2.5 Model nezávislý na počítačovém zpracování
4.2.6 Model nezávislý na platformě
4.2.7 Mapování a značkování
4.2.8 Model specifický ke konkrétní platformě
4.2.9 Zdrojový kód aplikace
4.3 MDA a Oracle Designer
4.4 Vlastní zkušenost
4.5 Vlastnosti modelovacích nástrojů
4.6 Craft.CASE
4.7 Eclipse Modeling Framework
4.8 Omondo EclipseUML2
4.9 Enterprise Architect
5 Transformační modelovací jazyky
5.2 Eclipse Modelling Framework
5.4 XSLT
Část II - Projekt
6 Vlastní projekt
7 Požadavky na informační systém
8 Analýza
8.1 Model případů užití
8.2 Doménový objektový model
9 Design informačního systému
10 Aplikace Architektury řízené modelem (MDA)
11 Vývoj generátoru
12 Generování kódu z modelu
13 Závěr
Literatura
Přílohy
A Případy užití
A.1 Hlavní případy užití
A.2 Správa skupin parametrů
A.3 Správa parametrů
A.4 Správa modelů
B Sada šablon EA pro generování kódu v jazyku Smalltalk
C Vygenerované zdrojové kódy FSM v jazyku Smalltalk
D UML profil systému DecisionMaker
E Podpůrné třídy metamodelu UML
F Generátor entit aplikace DecisionMaker
G Zdrojový kód aplikace DecisionMaker
Všechny strany

Obsah

Seznam obrázků 15

Seznam tabulek 17

1 Úvod 19
1.1 Východiska práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2 Typografické konvence . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3 Vysvětlení zkratek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4 Slovník cizích pojmů . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.1 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.2 Refaktorování / Refaktoring . . . . . . . . . . . . . . . . . . . 21
2 Cíl práce 23
2.1 Motivační příklad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Metodika 25
I Literární rešerše 26
4 Přehled vlastností modelovacích nástrojů 29
4.1 Úloha modelování v běžném životě . . . . . . . . . . . . . . . . . . . 29
4.1.1 Vhodnost použití objektových nástrojů pro modelování a
transformace . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Architektura řízená modelem - Model Driven Architecture . . . . . . 31
4.2.1 The Object Management Group . . . . . . . . . . . . . . . . . 31
4.2.2 Základní cíle a přístupy MDA . . . . . . . . . . . . . . . . . . 32
4.2.3 Platforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2.4 Hierarchie modelů dle MDA . . . . . . . . . . . . . . . . . . . 33
4.2.5 Model nezávislý na počítačovém zpracování . . . . . . . . . . 33
4.2.6 Model nezávislý na platformě . . . . . . . . . . . . . . . . . . 33
4.2.7 Mapování a značkování . . . . . . . . . . . . . . . . . . . . . . 34
4.2.8 Model specifický ke konkrétní platformě . . . . . . . . . . . . 35
4.2.9 Zdrojový kód aplikace . . . . . . . . . . . . . . . . . . . . . . 37
4.3 MDA a Oracle Designer . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4 Vlastní zkušenost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 Vlastnosti modelovacích nástrojů . . . . . . . . . . . . . . . . . . . . 38
4.6 Craft.CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.7 Eclipse Modeling Framework . . . . . . . . . . . . . . . . . . . . . . . 41
4.8 Omondo EclipseUML2 . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.9 Enterprise Architect . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.9.1 Podpora MDA . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5 Transformační modelovací jazyky 51
5.1 KerMeta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 Eclipse Modelling Framework . . . . . . . . . . . . . . . . . . . . . . 52
5.3 C.C language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.4 XSLT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
II Projekt 55
6 Vlastní projekt 57
6.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.2 Výchozí situace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7 Požadavky na informační systém 59
7.1 Funkční požadavky na informační systém . . . . . . . . . . . . . . . . 59
7.2 Nefunkční požadavky na systém . . . . . . . . . . . . . . . . . . . . . 59
8 Analýza 61
8.1 Model případů užití . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.1.1 Případy užití . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.2 Doménový objektový model . . . . . . . . . . . . . . . . . . . . . . . 62
9 Design informačního systému 65
9.1 Diagram implementačních tříd systému Decision Maker . . . . . . . . 65
10 Aplikace Architektury řízené modelem (MDA) 67
10.1 Identifikace návrhového vzoru . . . . . . . . . . . . . . . . . . . . . . 67
11 Vývoj generátoru 71
12 Generování kódu z modelu 71
13 Závěr 75
Literatura 77
Přílohy 79
A Případy užití 81
A.1 Hlavní případy užití . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A.1.1 UC001-Zobraz výchozí obrazovku . . . . . . . . . . . . . . . . 81
A.1.2 UC002-Vyber činnost . . . . . . . . . . . . . . . . . . . . . . . 82
A.2 Správa skupin parametrů . . . . . . . . . . . . . . . . . . . . . . . . . 83
A.2.1 UC101-Zobraz seznam Skupin parametrů . . . . . . . . . . . . 84
A.2.2 UC102-Zobraz Skupinu parametrů . . . . . . . . . . . . . . . 84
A.2.3 UC103-Vytvoř Skupinu parametrů . . . . . . . . . . . . . . . 85
A.2.4 UC104-Zruš Skupinu parametrů . . . . . . . . . . . . . . . . . 85
A.2.5 UC105-Uprav atributy Skupiny parametrů . . . . . . . . . . . 85
A.2.6 UC106-Přidej člena do Skupiny parametrů . . . . . . . . . . . 86
A.2.7 UC107-Vyřaď člena ze Skupiny parametrů . . . . . . . . . . . 86
A.2.8 UC108-Obnov hodnoty všech Parametrů ve Skupině . . . . . . 86
A.3 Správa parametrů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.3.1 UC201-Zobraz seznam Parametrů . . . . . . . . . . . . . . . . 88
A.3.2 UC202-Zobraz Parametr . . . . . . . . . . . . . . . . . . . . . 88
A.3.3 UC203-Vytvoř Parametr . . . . . . . . . . . . . . . . . . . . . 89
A.3.4 UC204-Zruš Parametr . . . . . . . . . . . . . . . . . . . . . . 89
A.3.5 UC205-Uprav Parametr . . . . . . . . . . . . . . . . . . . . . 89
A.3.6 UC206-Obnov hodnotu Parametru . . . . . . . . . . . . . . . 90
A.4 Správa modelů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.4.1 UC401-Zobraz seznam Modelů . . . . . . . . . . . . . . . . . . 92
A.4.2 UC402-Zobraz Model (Zobraz seznam rovnic modelu) . . . . . 92
A.4.3 UC403-Vytvoř Model . . . . . . . . . . . . . . . . . . . . . . . 92
A.4.4 UC404-Zruš Model . . . . . . . . . . . . . . . . . . . . . . . . 93
A.4.5 UC420-Zobraz seznam proměnných modelu . . . . . . . . . . . 93
A.4.6 UC421-Zobraz proměnnou modelu . . . . . . . . . . . . . . . . 93
A.4.7 UC422-Vytvoř proměnnou modelu . . . . . . . . . . . . . . . 93
A.4.8 UC423-Zruš proměnnou modelu . . . . . . . . . . . . . . . . . 94
B Sada šablon EA pro generování kódu v jazyku Smalltalk 95
B.1 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
B.2 Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
B.3 Class Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
B.4 Class Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
B.5 Class Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
B.6 Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
B.7 Attribute Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
B.8 Linked Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
B.9 Linked Attribute Declaration . . . . . . . . . . . . . . . . . . . . . . 96
B.10 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
B.11 Operation Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . 96
B.12 Operation Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
B.13 Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
C Vygenerované zdrojové kódy FSM v jazyku Smalltalk 97
C.1 FSM.st . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
C.2 State.st . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
C.3 Transition.st . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
D UML profil systému DecisionMaker 98
E Podpůrné třídy metamodelu UML 99
E.1 Zdrojový kód podpůrných tříd metamodelu UML . . . . . . . . . . . 100
F Generátor entit aplikace DecisionMaker 121
G Zdrojový kód aplikace DecisionMaker 130
G.1 Iterace 1 - psáno ručně . . . . . . . . . . . . . . . . . . . . . . . . . . 130
G.2 Iterace 2 - generováno . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Seznam obrázků
1 Model v MS Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2 Transformace PIM do PSM . . . . . . . . . . . . . . . . . . . . . . . 34
3 Transformace PIM do PSM s pomocí mapování a značek . . . . . . . 35
4 PSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5 Implementace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6 Craft.CASE - Diagram tříd . . . . . . . . . . . . . . . . . . . . . . . 40
7 Craft.CASE - Výsledky kontrol modelu . . . . . . . . . . . . . . . . . 41
8 EMF - Finite State Machine . . . . . . . . . . . . . . . . . . . . . . . 42
9 EMF - metamodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10 EclipseUML2 - Diagram tříd . . . . . . . . . . . . . . . . . . . . . . . 44
11 Enterprise Architect - Diagram tříd FSM . . . . . . . . . . . . . . . . 45
12 Enterprise Architect - Editace chování operace. . . . . . . . . . . . . 46
13 Pharo - import vygenerovaného souboru (tlačítkem filein). . . . . . . 48
14 Pharo - Class Browser s vygenerovanou třídou FSM. . . . . . . . . . 49
15 Pharo - Class Browser s metodou processSignal třídy FSM. . . . . . . 50
16 C.C metamodel repository Craft.CASE. [Merunka,Nouza,Brožek,2008] 54
17 Diagram tříd doménového modelu . . . . . . . . . . . . . . . . . . . . 63
18 Diagram tříd pro podporu Simplexové metody . . . . . . . . . . . . . 65
19 Diagram tříd pro editaci entitních dat v Seaside. . . . . . . . . . . . . 66
20 DecisionMaker - obrazovka po první iteraci. . . . . . . . . . . . . . . 67
21 UML profil - stereotyp «entity» . . . . . . . . . . . . . . . . . . . 68
22 UML profil - stereotyp «column» . . . . . . . . . . . . . . . . . . . 68
23 Doménový model po aplikaci UML profilu. . . . . . . . . . . . . . . . 69
24 Doménový model po aplikaci UML profilu - tagované hodnoty entity
ParamGroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
25 Doménový model po aplikaci UML profilu - tagované hodnoty
atributu lastRefreshed. . . . . . . . . . . . . . . . . . . . . . . . . . 69
26 Doménový model po aplikaci UML profilu - vyexportovaný do XMI. . 70
27 Spuštění transformace modelu na implementační třídy v prostředí
Pharo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
28 Zobrazení vygenerovaných implementačních tříd . . . . . . . . . . . . 73
29 Vzhled aplikace po doplnění generovaných částí. . . . . . . . . . . . . 74
30 Hlavní případy užití . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
31 UC100-Spravuj Skupiny parametrů . . . . . . . . . . . . . . . . . . . 83
32 UC200-Spravuj Parametry . . . . . . . . . . . . . . . . . . . . . . . . 87
33 UC400-Spravuj Modely . . . . . . . . . . . . . . . . . . . . . . . . . . 91
34 Metamodel UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Seznam tabulek
Tabulka 1: Slovník zkratek 22