A Model-Based Approach to Formal Specification and Verification of Embedded Systems Using Colored Petri Nets

  • Leandro Dias da Silva
  • Angelo Perkusich
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3778)


In this chapter we introduce a component-based development process to deal with the complexity of the development of embedded software systems. This process is defined based on a reuse method for colored Petri nets. The use of formal methods and an associated systematic process promotes a greater confidence in the models reducing the time and errors to develop complex embedded software systems. A transducer network is used as a case study to illustrate the approach presented in this chapter.


Model Check Temporal Logic Embed System Software Product Line Computation Tree Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Lee, E.: Embedded software. In: Zelkowitz, M. (ed.) Advances in Computers, vol. 56, Academic Press, London (2002)Google Scholar
  2. 2.
    Nierstrasz, O., Arévalo, G., Ducasse, S., Wuyts, R., Black, A.P., Müller, P.O., Zeidler, C., Genssler, T., van den Born, R.: A component model for field devices. In: Bishop, J.M. (ed.) CD 2002. LNCS, vol. 2370, pp. 200–216. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Lee, E.A.: Embedded software - an agenda for research. Technical Report UCB/ERL No. M99/63, University of California, Berkeley (1999)Google Scholar
  4. 4.
    Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. In: SEI Series in Software Engineering, Addison-Wesley, Reading (2001)Google Scholar
  5. 5.
    Shaw, M., Garlan, D.: Software architecture: perspectives on an emerging discipline. Prentice-Hall, Inc., Englewood Cliffs (1996)zbMATHGoogle Scholar
  6. 6.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Massachusetts (1994)Google Scholar
  7. 7.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (1999)Google Scholar
  8. 8.
    da Silva, L.D., Perkusich, A.: Formal verification of component-based software systems. In: Proceedings of The First International Workshop on Verification and Validation of Enterprise Information Systems VVEIS-2003, Angers, France (2003)Google Scholar
  9. 9.
    Murata, T.: Petri nets: Properties, analysis and applications. Proc. of the IEEE 77, 541–580 (1989)CrossRefGoogle Scholar
  10. 10.
    Emerson, E.A.: Temporal and modal logic. In: Van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science. Formal Models And Semantics, vol. B, pp. 995–1072. Elsevier Science, Amsterdam (1990)Google Scholar
  11. 11.
    Girault, C., Valk, R.: Petri Nets for Systems Engineering - A Guide to Modeling, Verification, and Applications. Springer, Berlin (2003)Google Scholar
  12. 12.
    Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis, Methods and Practical Use. In: EACTS – Monographs on Theoretical Computer Science, Springer, Heidelberg (1992)Google Scholar
  13. 13.
    Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 2. Springer, Heidelberg (1997)zbMATHGoogle Scholar
  14. 14.
    Jensen, K. (ed.): Fourth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, Aarhus, Denmark, DAIMI, August 28-30, vol. PB-560 (2002)Google Scholar
  15. 15.
    Jensen, K., (ed.): Third Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, Aarhus, Denmark, Vol. PB-554, August 29-31 DAIMI (2001) Google Scholar
  16. 16.
    Jensen, K.: et al.: Design/CPN 4.0. Meta Software Corporation and Department of Computer Science, University of Aarhus, Denmark (1999), On-line version:
  17. 17.
    Crnkovic, I.: Component-based software engineering - new challenges in software development. Software Focus 2, 127-133 (2001)CrossRefGoogle Scholar
  18. 18.
    Pnueli, A.: The temporal logic of programs. In: Proceedings of the 18th IEEE Symposium on the Foundations of Computer Science (FOCS 1977), Providence, pp. 46–57. IEEE Computer Society Press, Los Alamitos (1977)Google Scholar
  19. 19.
    Hughes, G.E., Creswell, M.J.: Introduction to Modal Logic, Methuen, London, UK (1977)Google Scholar
  20. 20.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  21. 21.
    Christensen, S., Mortensen, K.H.: Design/CPN ASK-CTL Manual, University of Aarhus. 0.9 edn. (1996)Google Scholar
  22. 22.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems 8, 244–263 (1986)zbMATHCrossRefGoogle Scholar
  23. 23.
    Cheng, A., Christensen, S., Mortensen, K.H.: Model checking coloured petri nets exploiting strongly connected components. Technical report, Computer Science Department, Aarhus University, Aarhus, Denmark (1997)Google Scholar
  24. 24.
    McMillan, K.L.: Symbolic Model Checking. The Kluwer Academic Publishers, Boston (1993)zbMATHGoogle Scholar
  25. 25.
    Peled, D.: Combining partial order reductions with on-the-fly model-checking. In: Proceedings of the 6th International Conference on Computer Aided Verification, pp. 377–390. Springer, Heidelberg (1994)Google Scholar
  26. 26.
    Valmari, A.: A stubborn attack on state explosion. In: Proceedings of the 2nd International Workshop on Computer Aided Verification, pp. 156–165. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  27. 27.
    Lemos, A.J.P., Perkusich, A.: Reuse of coloured petri nets software models. In: Proc. of The Eighth International Conference on Software Engineering and Knowledge Engineering, SEKE 2001, Buenos Aires, Argentina, pp. 145–152 (2001)Google Scholar
  28. 28.
    Gorgonio, K.C., Perkusich, A.: Adaptation of coloured petri nets models of software artifacts for reuse. In: 7th International Conference on Software Reuse, Austin, EUA. LNCS (2002)Google Scholar
  29. 29.
    da Silva, L.D., Perkusich, A.: A systematic and formal approach to the specification of flexible manufacturing systems reusing coloured petri nets models. In: Proceedings of The 11th IFAC Symposium on Information Control Problems in Manufacturing - INCOM 2004, Salvador, Bahia, Brazil (2004)Google Scholar
  30. 30.
    da Silva, L.D., Perkusich, A., de Almeida, H.O., de Barros Costa, E.: Modelling and analysis of a multi-agent intelligent tutoring system based on coloured petri nets. In: SERA (2003)Google Scholar
  31. 31.
    da Silva, L.D., Perkusich, A., de Almeida, H.O., de Barros Costa, E.: A coloured petri net model to analyze the design of a multi-agent system. In: Third International Workshop on Software Engineering for Large-Scale Multi-Agent Systems, Edinburgh, Scotland, UK, Aceito para publicação (2004)Google Scholar
  32. 32.
    Long, D.L.: Model Checking, Abstraction, and Compositional Reasoning. PhD thesis, Carnegie Mellon University (1993)Google Scholar
  33. 33.
    Ramadge, P.J.G., Wonham, W.M.: On the supremal controllable sublanguage of a given language. SIAM Journal on Control and Optimization 25, 637–659 (1987)CrossRefMathSciNetGoogle Scholar
  34. 34.
    Christensen, S., Haagh, T.B.: Design/CPN Overview of CPN ML Syntax. University of Aarhus. 3.0 edn. (1996) Google Scholar
  35. 35.
    Perkusich, A., Almeida, H.O., de Araujo, D.H.: A software framework for real-time embedded automation and control systems. In: Proceedings of the IEEE Conference on Emerging Technologies and Factory Automation, Lisbon, Portugal, vol. 2 (2003)Google Scholar
  36. 36.
    Crnkovic, I., Hnich, B., Jonsson, T., Kiziltan, Z.: Specification, implementation, and deployment of components. Communications of the ACM 45, 35–40 (2002)CrossRefGoogle Scholar
  37. 37.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1998)Google Scholar
  38. 38.
    Meijler, T.D., Nierstrasz, O.: Beyond objects: Components. In: Papazoglou, M.P., Schlageter, G. (eds.) Cooperative Information Systems: Current Trends and Directions, pp. 49-78. Academic Press, London (1997)Google Scholar
  39. 39.
    Schneider, J.G., Nierstrasz, O.: Components, scripts and glue. In: Barroca, L., Hall, J., Hall, P. (eds.) Software Architectures – Advances and Applications, pp. 13–25. Springer, Heidelberg (1999)Google Scholar
  40. 40.
    Achermann, F., Lumpe, M., Schneider, J.G., Nierstrasz, O.: Piccola – a small composition language. In: Bowman, H., Derrick, J. (eds.) Formal Methods for Distributed Processing – A Survey of Object-Oriented Approaches, pp. 403–426. Cambridge University Press, Cambridge (2001)Google Scholar
  41. 41.
    Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Păsăreanu, C.S., Robby, Z.H.: Bandera: extracting finite-state models from java source code. In: International Conference on Software Engineering, 439–448 (2000),
  42. 42.
    Havelund, K., Pressburger, T.: Model checking java programs using java pathfinder. International Journal on Software Tools for Technology Transfer (STTT) (2 ) (2000),
  43. 43.
    Lee, E.A.: Overview of the ptolemy project. Technical Report UCB/ERLM01/11, University of California, Berkeley (2001),
  44. 44.
    Alur, R., Dang, T., Esposito, J.M., Fierro, R.B., Hur, Y., Ivancič, F., Kumar, V., Lee, I., Mishra, P., Pappas, G.J., Sokolsky, O.: Hierarchical hybrid modeling of embedded systems. In: EMSOFT, 14–31 (2001),
  45. 45.
    Alur, R., Henzinger, T.A., Mang, F.Y.C., Qadeer, S., Rajamani, S.K., Tasiran, S.: MOCHA: Modularity in model checking. In: Computer Aided Verification 521–525 (1998),
  46. 46.
    Henzinger, T.A., Horowitz, B., Kirsch, C.M.: Giotto: A time-triggered language for embedded programming. Lecture Notes in Computer Science 2211, 166+ (http://wwwcad. mocha) (2001)Google Scholar
  47. 47.
    Amnell, T., Behrmann, G., Bengtsson, J., D’Argenio, P.R., David, A., Fehnker, A., Hune, T., Jeannet, B., Larsen, K.G., Möller, M.O., Pettersson, P., Weise, C., Yi, W.: UPPAAL - Now, Next, and Future. In Cassez, F., Jard, C., Rozoy, B., Ryan, M., eds.: Modelling and Verification of Parallel Processes. Number 2067 in Lecture Notes in Computer Science Tutorial, Springer–Verlag (2001) 100–125
  48. 48.
    Schätz, B., Pretschner, A., Huber, F., Philipps, J.: Model-based development of embedded systems. In: Proceedings of the Workshop on Model-Driven Approaches to Software Development (2002),

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Leandro Dias da Silva
    • 1
  • Angelo Perkusich
    • 1
  1. 1.Coordination of Graduate Program in Electrical Engineering (COPELE), Electrical Engineering DepartmentFederal University of Campina GrandeCampina GrandeBrazil

Personalised recommendations