Requirements Engineering via Non-monotonic Logics and State Diagrams

  • David Billington
  • Vladimir Estivill-Castro
  • René Hexel
  • Andrew Rock
Part of the Communications in Computer and Information Science book series (CCIS, volume 230)

Abstract

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.

Keywords

Requirements engineering Non-monotonic logics Automatic code generation Finite state machines Behaviour modelling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Antoniou, G.: Nonmonotonic Reasoning. MIT Press, Cambridge (1997)MATHGoogle Scholar
  2. 2.
    Billington, D.: Propositional clausal defeasible logic. In: Hölldobler, S., Lutz, C., Wansing, H. (eds.) JELIA 2008. LNCS (LNAI), vol. 5293, pp. 34–47. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. 3.
    Billington, D., Estivill-Castro, V., Hexel, R., Rock, A.: Architecture for hybrid robotic behavior. In: Corchado, E., Wu, X., Oja, E., Herrero, Á., Baruque, B. (eds.) HAIS 2009. LNCS, vol. 5572, pp. 145–156. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  4. 4.
    Billington, D., Estivill-Castro, V., Hexel, R., Rock, A.: Plausible logic facilitates engineering the behaviour of autonomous robots. In: Proceedings of the IASTED International Conference on Software Engineering, Innsbruck, Austria, The International Association of Science and Technology for Development (February 2010)Google Scholar
  5. 5.
    Billington, D., Rock, A.: Propositional plausible logic: Introduction and implementation. Studia Logica 67, 243–269 (2001) MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Blair, G., Bencomo, N., Frnce, R.B.: Models@run.time. IEEE Computer 42(10), 22–27 (2009)CrossRefGoogle Scholar
  7. 7.
    Brooks, R.A.: Intelligence without reason. In: Myopoulos, R., Reiter, R. (eds.) Proceedings of the 12th International Joint Conference on Artificial Intelligence, ICJAI 1991, San Mateo, CA, pp. 569–595. Morgan Kaufmann Publishers, Sydney (1991) ISBN 1-55860-160-0Google Scholar
  8. 8.
    Compton, P.J., Jansen, R.: A philosophical basis for knowledge acquisition. Knowledge Acquisition 2(3), 241–257 (1990) CrossRefGoogle Scholar
  9. 9.
    Dromey, R.G., Powell, D.: Early requirements defect detection. TickIT Journal 4Q05, 3–13 (2005)Google Scholar
  10. 10.
    Ellis, C.: Team automata for groupware systems. In: GROUP 1997: Proceedings of the International ACM SIGGROUP Conference on Supporting Group Work, pp. 415–424. ACM, New York (1997)Google Scholar
  11. 11.
    Genrich, H.J.: Predicate/transition nets. In: Jensen, K., Rozenberg, G. (eds.) High-level Petri Nets, Theory and Applications, pp. 3–43. Springer, Heidelberg (1991)Google Scholar
  12. 12.
    Genrich, H.J., Lautenbach, K.: The analysis of distributed systems by means of predicate/transition-nets. In: Kahn, G. (ed.) Semantics of Concurrent Computation. LNCS, vol. 70, pp. 123–147. Springer, Heidelberg (1979)CrossRefGoogle Scholar
  13. 13.
    Girault, C., Valk, R.: Petri Nets for System Engineering: A Guide to Modeling, Verification, and Applications. Springer-Verlag New York, Inc., Secaucus (2001)MATHGoogle Scholar
  14. 14.
    Gold, R.: Petri nets in software engineering. Arbeitsberichte Working Papers, Fachhochschule Ingolstadt, University of Applied Sciences (June 2004)Google Scholar
  15. 15.
    Holloway, L.E., Kroch, B.H., Giua, A.: A survey of Petri net methods for controlled discrete event systems. Discrete Event Dynamic Systems: Theory and Applications 7, 151–190 (1997)CrossRefMATHGoogle Scholar
  16. 16.
    Hull, E., Jackson, K., Dick, J.: Requirements Engineering, 2nd edn. Springer, USA (2005)MATHGoogle Scholar
  17. 17.
    Lakos, C.: Object oriented modelling with object petri nets. In: Agha, G., De Cindio, F., Rozenberg, G. (eds.) APN 2001. LNCS, vol. 2001, pp. 1–37. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  18. 18.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Prentice-Hall, Inc., Englewood Cliffs (1995)Google Scholar
  19. 19.
    Lian, J., Hu, Z., Shatz, S.M.: Simulation-based analysis of UML statechart diagrams: Methods and case studies. The Software Quality Journal 16(1), 45–78 (2008)CrossRefGoogle Scholar
  20. 20.
    Mellor, S.J.: Embedded systems in UML. OMG White paper (2007), http://www.omg.org/news/whitepapers/, label: We can generate Systems Today
  21. 21.
    Mellor, S.J., Balcer, M.: Executable UML: A foundation for model-driven architecture. Addison-Wesley Publishing Co., Reading (2002)Google Scholar
  22. 22.
    Myers, T., Dromey, R.G.: From requirements to embedded software - formalising the key steps. In: 20th Australian Software Engineering Conference (ASWEC), Gold Cost, Australia, April 14-17, pp. 23–33. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  23. 23.
    Nuseibeh, B., Easterbrook, S.M.: Requirements engineering: a roadmap. In: ICSE - Future of SE Track, pp. 35–46 (2000)Google Scholar
  24. 24.
    Peterson, J.L.: Petri nets. Computer Surveys 9(3), 223–252 (1977)CrossRefMATHGoogle Scholar
  25. 25.
    Rumbaugh, J., Blaha, M.R., Lorensen, W., Eddy, F., Premerlani, W.: Object-Oriented Modelling and Design. Prentice-Hall, Inc., Englewood Cliffs (1991)MATHGoogle Scholar
  26. 26.
    Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice-Hall, Inc., Englewood Cliffs (2002)MATHGoogle Scholar
  27. 27.
    Saldhana, J.A., Shatz, S.M.: Uml diagrams to object petri net models: An approach for modeling and analysis. In: International Conference on Software Engineering and Knowledge Engineering (SEKE), Chicago, pp. 103–110 (July 2000)Google Scholar
  28. 28.
    Shlaer, S., Mellor, S.J.: Object lifecycles: modeling the world in states. Yourdon Press, Englewood Cliffs (1992)MATHGoogle Scholar
  29. 29.
    ter Beek, M.H., Ellis, C.A., Kleijn, J., Rozenberg, G.: Synchronizations in team automata for groupware systems. Computer Supported Cooperative Work (CSCW) 12(1), 21–69 (2003)CrossRefGoogle Scholar
  30. 30.
    Wagner, F., Schmuki, R., Wagner, T., Wolstenholme, P.: Modeling Software with Finite State Machines: A Practical Approach. CRC Press, NY (2006)CrossRefMATHGoogle Scholar
  31. 31.
    Wagner, F., Wolstenholme, P.: Modeling and building reliable, re-useable software. In: IEEE International Conference on the Engineering of Computer-Based Systems (ECBS 2003), pp. 277–286. IEEE Computer Society, Los Alamitos (2003)Google Scholar
  32. 32.
    Wen, L., Colvin, R., Lin, K., Seagrott, J., Yatapanage, N., Dromey, R.G.: “Integrare”, a collaborative environment for behavior-oriented design. In: Luo, Y. (ed.) CDVE 2007. LNCS, vol. 4674, pp. 122–131. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  33. 33.
    Wen, L., Dromey, R.G.: From requirements change to design change: A formal path. In: 2nd International Conference on Software Engineering and Formal Methods (SEFM 2004), Beijing, China, September 28-30, pp. 104–113. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  34. 34.
    Wen, L., Kirk, D., Dromey, R.G.: A tool to visualize behavior and design evolution. In: Di Penta, M., Lanza, M. (eds.) 9th International Workshop on Principles of Software Evolution (IWPSE 2007), in conjunction with the 6th ESEC/FSE joint meeting, Dubrovnik, Croatia, September 3-4, pp. 114–115. ACM, New York (2007)Google Scholar
  35. 35.
    Wiegers, K.E.: Software Requirements, 2nd edn. Microsoft Press, Redmond (2003)Google Scholar
  36. 36.
    Winter, K., Colvin, R., Dromey, R.G.: Dynamic relational behaviour for large-scale systems. In: 20th Australian Software Engineering Conference (ASWEC 2009), Gold Cost, Australia, April 14-17, pp. 173–182. IEEE Computer Society, Los Alamitos (2009)CrossRefGoogle Scholar
  37. 37.
    Wooldridge, M.: An Introduction to Multiagent Systems. John Wiley & Sons, NY (2002) Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • David Billington
    • 1
  • Vladimir Estivill-Castro
    • 2
  • René Hexel
    • 1
  • Andrew Rock
    • 1
  1. 1.ICT/IIISGriffith UniversityNathanAustralia
  2. 2.Visiting ScholarUniversitat Popeu FabraBarcelonaSpain

Personalised recommendations