Requirements Engineering via Non-monotonic Logics and State Diagrams

We propose to model the behaviour of embedded systems by finite state machines whose transitions are modelled by predicates of non-monotonic logics. We argue that this enables modelling the behaviour in close parallelism to the requirements. Such requirements engineering also results in direct and automatic translation to implementation, minimising software faults. We present our method and illustrated with a classical example. We also compare our approach with other state diagram methods, as well as Petri nets and Behavior Trees.

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

[2]  James E. Rumbaugh,et al.  Object-Oriented Modelling and Design , 1991 .

[3]  Rüdiger Valk,et al.  Petri nets for systems engineering - a guide to modeling, verification, and applications , 2010 .

[4]  Grigoris Antoniou,et al.  Nonmonotonic reasoning , 1997 .

[5]  Charles Lakos,et al.  Object Oriented Modeling with Object Petri Nets , 2001, Concurrent Object-Oriented Programming and Petri Nets.

[6]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[7]  Vladimir Estivill-Castro,et al.  Architecture for Hybrid Robotic Behavior , 2009, HAIS.

[8]  Michael Wooldridge,et al.  Introduction to multiagent systems , 2001 .

[9]  David Billington Propositional Clausal Defeasible Logic , 2008, JELIA.

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

[11]  Rene Hexel,et al.  Plausible Logic Facilitates Engineering the Behaviour of Autonomous Robots , 2010 .

[12]  Frank Wolter,et al.  Semi-qualitative Reasoning about Distances: A Preliminary Report , 2000, JELIA.

[13]  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..

[14]  David Billington,et al.  Propositional Plausible Logic: Introduction and Implementation , 2001, Stud Logica.

[15]  P. Compton,et al.  A philosophical basis for knowledge acquisition , 1990 .

[16]  Peter Wolstenholme,et al.  Modeling and building reliable, re-useable software , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

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

[18]  Hartmann J. Genrich Predicate/transition nets , 1987 .

[19]  Robert Colvin,et al.  Dynamic Relational Behaviour for Large-Scale Systems , 2009, 2009 Australian Software Engineering Conference.

[20]  Jiexin Lian,et al.  Simulation-based analysis of UML statechart diagrams: methods and case studies , 2007, Software Quality Journal.

[21]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .

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

[23]  Gordon S. Blair,et al.  Models@ run.time , 2009, Computer.

[24]  Grzegorz Rozenberg,et al.  Synchronizations in Team Automata for Groupware Systems , 2003, Computer Supported Cooperative Work (CSCW).

[25]  Kurt Lautenbach,et al.  The Analysis of Distributed Systems by Means of Predicate ? Transition-Nets , 1979, Semantics of Concurrent Computation.

[26]  Rodney A. Brooks,et al.  Intelligence Without Reason , 1991, IJCAI.

[27]  Clarence A. Ellis Team automata for groupware systems , 1997, GROUP '97.

[28]  John Anil Saldhana UML Diagrams to Object Petri Net Models: An Approach for Modeling and Analysis , 2000 .

[29]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[30]  Alessandro Giua,et al.  A Survey of Petri Net Methods for Controlled Discrete Event Systems , 1997, Discret. Event Dyn. Syst..

[31]  G. Kahn,et al.  Semantics of Concurrent Computation , 1979, Lecture Notes in Computer Science.

[32]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[33]  Gul Agha,et al.  Concurrent Object-Oriented Programming and Petri Nets , 2001, Lecture Notes in Computer Science.

[34]  Robert Gold Petri nets in software engineering , 2004 .

[35]  Ferdinand Wagner,et al.  Modeling Software with Finite State Machines : A Practical Approach , 2006 .

[36]  Michele Lanza,et al.  9th International Workshop on Principles of Software Evolution (IWPSE 2007), in conjunction with the 6th ESEC/FSE joint meeting, Dubrovnik, Croatia, September 3-4, 2007 , 2007, International Workshop on Principles of Software Evolution.

[37]  Robert Colvin,et al.  "Integrare", a Collaborative Environment for Behavior-Oriented Design , 2007, CDVE.

[38]  Grzegorz Rozenberg,et al.  High-level Petri Nets: Theory And Application , 1991 .

[39]  Lian Wen,et al.  A tool to visualize behavior and design evolution , 2007, IWPSE '07.