Abstract
At present, there is a variety of formalisms for modeling and analyzing the communication behavior of components. Due to a tremendous increase in size and complexity of embedded systems accompanied by shorter time to market cycles and cost reduction, so called behavioral type systems become more and more important. This chapter presents an overview and a taxonomy of behavioral types. The intentions of this taxonomy are to provide a guidance for software engineers and to form the basis for future research.
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
Brown, A.W., Wallnau, K.C.: The current state of component based software engineering. IEEE Software 15, 37–46 (1998)
Lee, E.A.: Embedded Software. In: Advances in Computers, vol. 56, Academic Press, London (2002)
Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modeling. Wiley, New York (1994)
Szyperski, C.: Component Software. Addison-Wesley, Reading (2002)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)
Amey, P.: Correctness by construction: Better can also be cheaper. CrossTalk, The Journal of Defense Software Engineering (2002)
Xiong, Y.: An Extensible Type System for Component-Based Design. PhD thesis, University of California at Berkeley (2002)
Lee, E.A., Xiong, Y.: A behavioral type system and its application in Ptolemy II. Aspects of Computing Journal (to appear)
Lee, E.A., Xiong, Y.: A behavioral type system and its application in ptolemy ii. Formal Aspects of Computing 16, 210–237 (2004)
Nierstrasz, O.: Regular Types for Active Objects. In: Object-Oriented Software Composition, pp. 99–121. Prentice-Hall, Englewood Cliffs (1995)
Plasil, F., Visnovsky, S.: Behavior protocols for software components. IEEE Transactions on Software Engineering 28 (2002)
Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Transactions on Programming Languages and Systems 19, 292–333 (1997)
Chakrabarti, A., de Alfaro, L., Henzinger, T.A., Jurdzinski, M., Mang, F.Y.C.: Interface compatibility checking for software modules. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 428–441. Springer, Heidelberg (2002)
Inverardi, P., Wolf, A.L., Yankelevich, D.: Static checking of system behaviors using derived component assumptions. ACM Transactions on Software Engineering Methodologies 9, 239–272 (2000)
Bhattacharyya, S.S., Murthy, P.K., Lee, E.A.: Software Synthesis from Dataflow Graphs. Kluwer Academic Publishers, Dordrecht (1996)
Geilen, M., Basten, T.: Requirements on the execution of Kahn process networks. In: 12th European Symposium on Programming. LNCS, pp. 319–334. Springer, Heidelberg (2003)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Reading (1998)
Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems 16, 1811–1841 (1994)
Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. Computing Surveys 17, 471–522 (1985)
Janneck, J.W.: Actors and their composition. Technical report, University of California at Berkeley (2002)
Bowen, J.P., Hinchey, M.G.: Formal Methods and the Specification Process. In: The Computer Science and Engineering Handbook, pp. 2302–2322. CRC Press, Boca Raton (1997)
Edwards, S., Lavagno, L., Lee, E.A., Sangiovanni-Vincentelli, A.: Design of embedded systems: Formal models, validation, and synthesis. Proceedings of the IEEE 85, 366–390 (1997)
Sgroi, M., Lavagno, L., Sangiovanni-Vincentelli, A.: Formal models for embedded system design. IEEE Design Test of Computers 17, 14-27 (2000)
Jourdan, M., Maraninchi, F., Olivero, A.: Verifying quantitative real-time properties of synchronous programs. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, Springer, Heidelberg (1993)
Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)
Kahn, G.: The semantics of a simple language for parallel processing. In: Proc. of IFIP Congress 74, pp. 471–475. North Holland Publishing Company, Amsterdam (1974)
Buck, J.T.: Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model. PhD thesis, University of Berkeley (1993)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1999)
Rudolph, E., Grabowski, J., Graubmann, P.: Tutorial on Message Sequence Charts. Computer Networks and ISDN Systems 28, 1629–1641 (1996)
Alur, R., Yannakakis, M.: Model checking of message sequence charts. In: Proc. 10th International Conference on Concurrency Theory, pp. 114–129. Springer, Heidelberg (1999)
Douglass, B.P.: Real-Time UML, 2nd edn. Addison-Wesley, Reading (1999)
Pratt, V.: Modeling concurrency with partial orders. International Journal of Parallel Programming 15, 33-71 (1986)
Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering 21, 336-355 (1995)
Luckham, D.C., Vera, J.: An event-based architecture definition language. IEEE Transactions on Software Engineering 21, 717-734 (1995)
de Alfaro, L., Henzinger, T.A.: Interface automata. In: Proceedings of the 9th Annual ACM Symposium on Foundations of Software Engineering (FSE), pp. 109–120. ACM Press, New York (2001)
de Alfaro, L., Henzinger, T.A., Stoelinga, M.: Timed interfaces. In: Proceedings of the Second InternationalWorkshop on Embedded Software (EMSOFT). LNCS, pp. 108-122. Springer, Heidelberg (2002)
Alur, R.: A theory of timed automata. Theoretical Computer Science 126, 183-235 (1994)
Holzmann, G.J.: Design and Validation of Computer Protocols. Prentice-Hall, Englewood Cliffs (1991)
Holzmann, G.J.: The Spin Model Checker. Addison-Wesley, Reading (2004)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. Journal of the ACM 31, 560-599 (1984)
Dijkstra, E.W.: Guarded commands, nondeterminism and formal derivation of programs. Communications of the ACM 18, 453-457 (1975)
Reed, G.M., Roscoe, A.W.: A timed model for Communicating Sequential Processes. Theoretical Computer Science 58, 249-261 (1988)
Schneider, S.: Timewise refinement for communicating processes. Science of Computer Programming 28, 43-90 (1997)
Pardo, J., Valero, V., Cuartero, F.: A dynamic state graph for a timed process algebra. In: Proceedings of SNPD 2000, pp. 199-209 (2000)
Roscoe, A.W.: Modeling and verifying key exchange protocols using CSP and FDR. In: Proceedings of the 8th IEEE Computer Security Foundations Workshop (CSFW), pp. 98-107 (1995)
Milner, R.: Communication and Concurrency. Prentice Hall, New York (1989)
Milner, R.: Communicating and Mobile Systems: the ? -Calculus. Cambridge University Press, Cambridge (1999)
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
Maydl, W., Grunske, L. (2005). Behavioral Types for Embedded Software – A Survey. 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_5
Download citation
DOI: https://doi.org/10.1007/11591962_5
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)