Download Asger Jensen - KindSoftware

Transcript
Table of Contents
1
INTRODUCTION .................................................................................................................................................. 5
2
ABSTRACT STATE MACHINES .............................................................................................................................. 5
2.1
2.2
2.3
3
HUBBERS AND OOSTDJIKS PAPER....................................................................................................................... 8
3.1
4
CONTROL STATE ASMS ........................................................................................................................................... 6
LINK BETWEEN ASM AND FSM ................................................................................................................................ 6
DFA AND NFA DEFINITION ...................................................................................................................................... 7
THE THESIS COMPARED TO THE PAPER........................................................................................................................ 9
THE ASM EXTENSION.........................................................................................................................................10
4.1
4.2
CURRENT FEATURES.............................................................................................................................................. 10
FUTURE WORK .................................................................................................................................................... 11
5
EXTENSION WALKTHROUGH .............................................................................................................................11
6
CODE CONTRACTS .............................................................................................................................................14
6.1
6.2
7
PRECONDITION, POSTCONDITION AND INVARIANT ...................................................................................................... 15
ISSUES WITH CODE CONTRACTS AND SOLUTIONS ........................................................................................................ 15
BUILDING THE DSL .............................................................................................................................................17
7.1
THE META-MODEL ............................................................................................................................................... 17
7.1.1 Embedding and Reference Relations .......................................................................................................... 18
7.1.2 Allow Duplications ...................................................................................................................................... 19
7.2
THE GRAPHICAL NOTATION .................................................................................................................................... 20
8
THE BUTTON .....................................................................................................................................................20
8.1
9
VALIDATION ......................................................................................................................................................21
9.1
9.2
9.3
10
CHOSEN RULES .................................................................................................................................................... 21
CONSIDERED RULES .............................................................................................................................................. 22
THE CODE ........................................................................................................................................................... 22
GENERATING C# CODE.......................................................................................................................................23
10.1
11
DECLARING THE BUTTON AND FUNCTIONALITY ........................................................................................................... 20
THE GENERATED CODE .......................................................................................................................................... 24
TEST ..................................................................................................................................................................24
11.1
11.2
VALIDATION TEST ................................................................................................................................................. 24
GENERATION TEST ................................................................................................................................................ 25
12
CONCLUSION .....................................................................................................................................................26
13
LITERATURE LIST................................................................................................................................................27
14
SOFTWARE ........................................................................................................................................................28
3