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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lee, E.: Embedded software. In: Zelkowitz, M. (ed.) Advances in Computers, vol. 56, Academic Press, London (2002)
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)
Lee, E.A.: Embedded software - an agenda for research. Technical Report UCB/ERL No. M99/63, University of California, Berkeley (1999)
Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. In: SEI Series in Software Engineering, Addison-Wesley, Reading (2001)
Shaw, M., Garlan, D.: Software architecture: perspectives on an emerging discipline. Prentice-Hall, Inc., Englewood Cliffs (1996)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Massachusetts (1994)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (1999)
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)
Murata, T.: Petri nets: Properties, analysis and applications. Proc. of the IEEE 77, 541–580 (1989)
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)
Girault, C., Valk, R.: Petri Nets for Systems Engineering - A Guide to Modeling, Verification, and Applications. Springer, Berlin (2003)
Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis, Methods and Practical Use. In: EACTS – Monographs on Theoretical Computer Science, Springer, Heidelberg (1992)
Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 2. Springer, Heidelberg (1997)
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)
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)
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/
Crnkovic, I.: Component-based software engineering - new challenges in software development. Software Focus 2, 127-133 (2001)
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)
Hughes, G.E., Creswell, M.J.: Introduction to Modal Logic, Methuen, London, UK (1977)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)
Christensen, S., Mortensen, K.H.: Design/CPN ASK-CTL Manual, University of Aarhus. 0.9 edn. (1996)
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)
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)
McMillan, K.L.: Symbolic Model Checking. The Kluwer Academic Publishers, Boston (1993)
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)
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)
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)
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)
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)
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)
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)
Long, D.L.: Model Checking, Abstraction, and Compositional Reasoning. PhD thesis, Carnegie Mellon University (1993)
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)
Christensen, S., Haagh, T.B.: Design/CPN Overview of CPN ML Syntax. University of Aarhus. 3.0 edn. (1996)
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)
Crnkovic, I., Hnich, B., Jonsson, T., Kiziltan, Z.: Specification, implementation, and deployment of components. Communications of the ACM 45, 35–40 (2002)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1998)
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)
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)
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)
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
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
Lee, E.A.: Overview of the ptolemy project. Technical Report UCB/ERLM01/11, University of California, Berkeley (2001), http://ptolemy.eecs.berkeley.edu
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
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
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)
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
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
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)