Skip to main content

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

  • Chapter
Component-Based Software Development for Embedded Systems

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3778))

  • 932 Accesses

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Lee, E.: Embedded software. In: Zelkowitz, M. (ed.) Advances in Computers, vol. 56, Academic Press, London (2002)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. In: SEI Series in Software Engineering, Addison-Wesley, Reading (2001)

    Google Scholar 

  5. Shaw, M., Garlan, D.: Software architecture: perspectives on an emerging discipline. Prentice-Hall, Inc., Englewood Cliffs (1996)

    MATH  Google Scholar 

  6. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Massachusetts (1994)

    Google Scholar 

  7. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (1999)

    Google Scholar 

  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. Murata, T.: Petri nets: Properties, analysis and applications. Proc. of the IEEE 77, 541–580 (1989)

    Article  Google Scholar 

  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. Girault, C., Valk, R.: Petri Nets for Systems Engineering - A Guide to Modeling, Verification, and Applications. Springer, Berlin (2003)

    Google Scholar 

  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. Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 2. Springer, Heidelberg (1997)

    MATH  Google Scholar 

  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. 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. Jensen, K.: et al.: Design/CPN 4.0. Meta Software Corporation and Department of Computer Science, University of Aarhus, Denmark (1999), On-line version: http://www.daimi.aau.dk/designCPN/

  17. Crnkovic, I.: Component-based software engineering - new challenges in software development. Software Focus 2, 127-133 (2001)

    Article  Google Scholar 

  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. Hughes, G.E., Creswell, M.J.: Introduction to Modal Logic, Methuen, London, UK (1977)

    Google Scholar 

  20. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)

    Google Scholar 

  21. Christensen, S., Mortensen, K.H.: Design/CPN ASK-CTL Manual, University of Aarhus. 0.9 edn. (1996)

    Google Scholar 

  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)

    Article  MATH  Google Scholar 

  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. McMillan, K.L.: Symbolic Model Checking. The Kluwer Academic Publishers, Boston (1993)

    MATH  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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. 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. 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. 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. Long, D.L.: Model Checking, Abstraction, and Compositional Reasoning. PhD thesis, Carnegie Mellon University (1993)

    Google Scholar 

  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)

    Article  MathSciNet  Google Scholar 

  34. Christensen, S., Haagh, T.B.: Design/CPN Overview of CPN ML Syntax. University of Aarhus. 3.0 edn. (1996)

    Google Scholar 

  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. Crnkovic, I., Hnich, B., Jonsson, T., Kiziltan, Z.: Specification, implementation, and deployment of components. Communications of the ACM 45, 35–40 (2002)

    Article  Google Scholar 

  37. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1998)

    Google Scholar 

  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. 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. 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. 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), http://bandera.projects.cis.ksu.edu

  42. Havelund, K., Pressburger, T.: Model checking java programs using java pathfinder. International Journal on Software Tools for Technology Transfer (STTT) (2 ) (2000), http://ase.arc.nasa.gov/visser/jpf

  43. Lee, E.A.: Overview of the ptolemy project. Technical Report UCB/ERLM01/11, University of California, Berkeley (2001), http://ptolemy.eecs.berkeley.edu

  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), http://www.cis.upenn.edu/mobies/charon/index.html

  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), http://www-cad.eecs.berkeley.edu/mocha

  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. eecs.berkeley.edu/ mocha) (2001)

    Google Scholar 

  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 http://www.uppaal.com

  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), http://autofocus.informatik.tu-muenchen.de/index-e.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

da Silva, L.D., Perkusich, A. (2005). A Model-Based Approach to Formal Specification and Verification of Embedded Systems Using Colored Petri Nets. In: Atkinson, C., Bunse, C., Gross, HG., Peper, C. (eds) Component-Based Software Development for Embedded Systems. Lecture Notes in Computer Science, vol 3778. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11591962_3

Download citation

  • DOI: https://doi.org/10.1007/11591962_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30644-3

  • Online ISBN: 978-3-540-31614-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics