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