K. Andresen, B. Møller-Pedersen, Ragnhild Kobro Runde
{"title":"对组合状态和可扩展状态机的组合建模和编程支持","authors":"K. Andresen, B. Møller-Pedersen, Ragnhild Kobro Runde","doi":"10.5220/0005237302310238","DOIUrl":null,"url":null,"abstract":"Most modelling languages support full state machine modelling, including especially composite states. Existing approaches to programming with states (state design patterns) either represent composite states by means of inheritance between state classes, or do not support composite states, and instead use inheritance for specialization of extensible state machines. In this paper, we present 1) a state design pattern using delegation to support composite states and inheritance together with virtual classes to support extensible state machines, and 2) a framework, implemented in Java, which also supports history and entry/exit actions. Together, these form the basis for developing support for state machines in a combined modelling and programming language.","PeriodicalId":256976,"journal":{"name":"2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Combined modelling and programming support for composite states and extensible state machines\",\"authors\":\"K. Andresen, B. Møller-Pedersen, Ragnhild Kobro Runde\",\"doi\":\"10.5220/0005237302310238\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Most modelling languages support full state machine modelling, including especially composite states. Existing approaches to programming with states (state design patterns) either represent composite states by means of inheritance between state classes, or do not support composite states, and instead use inheritance for specialization of extensible state machines. In this paper, we present 1) a state design pattern using delegation to support composite states and inheritance together with virtual classes to support extensible state machines, and 2) a framework, implemented in Java, which also supports history and entry/exit actions. Together, these form the basis for developing support for state machines in a combined modelling and programming language.\",\"PeriodicalId\":256976,\"journal\":{\"name\":\"2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-02-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.5220/0005237302310238\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5220/0005237302310238","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Combined modelling and programming support for composite states and extensible state machines
Most modelling languages support full state machine modelling, including especially composite states. Existing approaches to programming with states (state design patterns) either represent composite states by means of inheritance between state classes, or do not support composite states, and instead use inheritance for specialization of extensible state machines. In this paper, we present 1) a state design pattern using delegation to support composite states and inheritance together with virtual classes to support extensible state machines, and 2) a framework, implemented in Java, which also supports history and entry/exit actions. Together, these form the basis for developing support for state machines in a combined modelling and programming language.