An OO and Functional Framework for Versatile Semantics of Logic-Labelled Finite State Machines

Logic-Labeled Finite State Machines (LLFSMs) offer model-driven software development (MDSD) while enabling correctness at a high level due to their transparent semantics that enables testing as well as formal verification. This combination of the three elements (MDSD, validation, and verification) results in more reliable behaviour of software components, but semantics is constrained to specific scheduling. We offer a framework that allows to obtain significant variations that suit specific domains while maintaining the capability to generate Kripke structures for formal verification or to execute corresponding monitor or testing LLFSMs for validation in a test-driven development framework. The framework is Object-Oriented so new software patterns for scheduling can be derived to suit a particular embedded, robotic, or cyber-physical system, while at the same time enabling functional programming constructs.

[1]  R. Geoff Dromey,et al.  From Requirements to Embedded Software - Formalising the Key Steps , 2009, 2009 Australian Software Engineering Conference.

[2]  Bernhard Rumpe,et al.  Executable Modeling with UML. A Vision or a Nightmare? , 2014, ArXiv.

[3]  Geoff Dromey,et al.  Early Requirements Defect Detection(INVITED PUBLICATION) , 2005 .

[4]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[5]  Lian Wen,et al.  From requirements change to design change: a formal path , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[6]  Sanford Friedenthal,et al.  A Practical Guide to SysML: The Systems Modeling Language , 2008 .

[7]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[8]  David Notkin,et al.  Optimizing Symbolic Model Checking for Statecharts , 2001, IEEE Trans. Software Eng..

[9]  Stephen J Mellor Embedded Systems in UML , 2007 .

[10]  Colin Snook,et al.  THE ADAPTIVE CRUISE CONTROLLER CASE STUDY Visualisation, Validation, and Temporal Verification , 2004 .

[11]  Vladimir Estivill-Castro,et al.  Arrangements of Finite-state Machines - Semantics, Simulation, and Model Checking , 2013, MODELSWARD.

[12]  Miro Samek,et al.  Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems , 2008 .

[13]  Stephen J. Mellor,et al.  Object lifecycles: modeling the world in states , 1992 .

[14]  Peter A. Lindsay,et al.  Experience with fault injection experiments for FMEA , 2011, Softw. Pract. Exp..

[15]  Christel Baier,et al.  Principles of model checking , 2008 .

[16]  Vladimir Estivill-Castro,et al.  Model Checking of Transition-Labeled Finite-State Machines , 2011, FGIT-ASEA/DRBC/EL.

[17]  Vladimir Estivill-Castro,et al.  Efficient Modelling of Embedded Software Systems and their Formal Verification , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[18]  Dan Pilone,et al.  UML 2.0 in a nutshell , 2005 .

[19]  Kristin Decker,et al.  Uml Distilled A Brief Guide To The Standard Object Modeling Language , 2016 .

[20]  Vladimir Estivill-Castro,et al.  High Performance Relaying of C++11 Objects across Processes and Logic-Labeled Finite-State Machines , 2014, SIMPAR.

[21]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[22]  Leslie Lamport,et al.  Using Time Instead of Timeout for Fault-Tolerant Distributed Systems. , 1984, TOPL.

[23]  Bruce Powel Douglass,et al.  Real Time UML: Advances in the UML for Real-Time Systems (3rd Edition) , 2004 .