Statecharts: A visual formalism for complex systems
Science of Computer Programming
Object lifecycles: modeling the world in states
Object lifecycles: modeling the world in states
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Real-time UML (2nd ed.): developing efficient objects for embedded systems
Real-time UML (2nd ed.): developing efficient objects for embedded systems
Integrating UML diagrams for production control systems
Proceedings of the 22nd international conference on Software engineering
C/C++ Users Journal
Implementing the dynamic behavior represented as multiple state diagrams and activity diagrams
ACIS International Journal of Computer & Information Science
Practical statecharts in C/C++: Quantum programming for embedded systems
Practical statecharts in C/C++: Quantum programming for embedded systems
Model Checking - Timed UML State Machines and Collaborations
FTRTFT '02 Proceedings of the 7th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems: Co-sponsored by IFIP WG 2.2
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
ISORC '01 Proceedings of the Fourth International Symposium on Object-Oriented Real-Time Distributed Computing
The Pragmatics of Model-Driven Development
IEEE Software
Impact of Statechart Implementation Techniques on the Effectiveness of Fault Detection Mechanisms
EUROMICRO '04 Proceedings of the 30th EUROMICRO Conference
Auto-Coding UML Statecharts for Flight Software
SMC-IT '06 Proceedings of the 2nd IEEE International Conference on Space Mission Challenges for Information Technology
FSMC+, a tool for the generation of Java code from statecharts
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Do Design Patterns Impact Software Quality Positively?
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Challenges in Deployment of Model Driven Development
ICSEA '09 Proceedings of the 2009 Fourth International Conference on Software Engineering Advances
IEEE Transactions on Software Engineering
Development, formal verification, and evaluation of an E-voting system with VVPAT
IEEE Transactions on Information Forensics and Security - Special issue on electronic voting
DEQUALITE: building design-based software quality models
Proceedings of the 15th Conference on Pattern Languages of Programs
Authoring and verification of clinical guidelines: A model driven approach
Journal of Biomedical Informatics
Empirical evidence about the UML: a systematic literature review
Software—Practice & Experience
Code generation from UML models with semantic variation points
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
An object-oriented implementation of concurrent and hierarchical state machines
Information and Software Technology
Hi-index | 0.00 |
Context: Model Driven Development (MDD) encourages the use of models for developing complex software systems. Following a MDD approach, modelling languages are used to diagrammatically model the structure and behaviour of object-oriented software, among which state-based languages (including UML state machines, finite state machines and Harel statecharts) constitute the most widely used to specify the dynamic behaviour of a system. However, generating code from state machine models as part of the final system constitutes one of the most challenging tasks due to its dynamic nature and because many state machine concepts are not supported by the object-oriented programming languages. Therefore, it is not surprising that such code generation has received great attention over the years. Objective: The overall objective of this paper is to plot the landscape of published proposals in the field of object oriented code generation from state machine specifications, restricting the search neither to a specific context nor to a particular programming language. Method: We perform a systematic, accurate literature review of published studies focusing on the object oriented implementation of state machine specifications. Results: The systematic review is based on a comprehensive set of 53 resources in all, which we have classified into two groups: pattern-based and not pattern-based. For each proposal, we have analysed both the state machine specification elements they support and the means the authors propose for their implementation. Additionally, the review investigates which proposals take into account desirable features to be considered in software development such as maintenance or reusability. Conclusions: One of the conclusions drawn from the review is that most of the analysed works are based on a software design pattern. Another key finding is that many papers neither support several of the main components of the expressive richness of state machine specifications nor provide an implementation strategy that considers relevant qualitative aspects in software development.