Advertisement

Behavioral Types for Embedded Software – A Survey

  • Walter Maydl
  • Lars Grunske
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3778)

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.

Keywords

Embed System Sequence Diagram Label Transition System Communicate Sequential Process Behavioral Type 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Brown, A.W., Wallnau, K.C.: The current state of component based software engineering. IEEE Software 15, 37–46 (1998)CrossRefGoogle Scholar
  2. 2.
    Lee, E.A.: Embedded Software. In: Advances in Computers, vol. 56, Academic Press, London (2002)Google Scholar
  3. 3.
    Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modeling. Wiley, New York (1994)zbMATHGoogle Scholar
  4. 4.
    Szyperski, C.: Component Software. Addison-Wesley, Reading (2002)Google Scholar
  5. 5.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  6. 6.
    Amey, P.: Correctness by construction: Better can also be cheaper. CrossTalk, The Journal of Defense Software Engineering (2002)Google Scholar
  7. 7.
    Xiong, Y.: An Extensible Type System for Component-Based Design. PhD thesis, University of California at Berkeley (2002)Google Scholar
  8. 8.
    Lee, E.A., Xiong, Y.: A behavioral type system and its application in Ptolemy II. Aspects of Computing Journal (to appear)Google Scholar
  9. 9.
    Lee, E.A., Xiong, Y.: A behavioral type system and its application in ptolemy ii. Formal Aspects of Computing 16, 210–237 (2004)zbMATHCrossRefGoogle Scholar
  10. 10.
    Nierstrasz, O.: Regular Types for Active Objects. In: Object-Oriented Software Composition, pp. 99–121. Prentice-Hall, Englewood Cliffs (1995)Google Scholar
  11. 11.
    Plasil, F., Visnovsky, S.: Behavior protocols for software components. IEEE Transactions on Software Engineering 28 (2002)Google Scholar
  12. 12.
    Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Transactions on Programming Languages and Systems 19, 292–333 (1997)CrossRefGoogle Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    Bhattacharyya, S.S., Murthy, P.K., Lee, E.A.: Software Synthesis from Dataflow Graphs. Kluwer Academic Publishers, Dordrecht (1996)zbMATHGoogle Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Reading (1998)Google Scholar
  18. 18.
    Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems 16, 1811–1841 (1994)CrossRefGoogle Scholar
  19. 19.
    Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. Computing Surveys 17, 471–522 (1985)CrossRefGoogle Scholar
  20. 20.
    Janneck, J.W.: Actors and their composition. Technical report, University of California at Berkeley (2002)Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)CrossRefGoogle Scholar
  23. 23.
    Sgroi, M., Lavagno, L., Sangiovanni-Vincentelli, A.: Formal models for embedded system design. IEEE Design Test of Computers 17, 14-27 (2000)CrossRefGoogle Scholar
  24. 24.
    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)Google Scholar
  25. 25.
    Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    Buck, J.T.: Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model. PhD thesis, University of Berkeley (1993)Google Scholar
  28. 28.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1999)Google Scholar
  29. 29.
    Rudolph, E., Grabowski, J., Graubmann, P.: Tutorial on Message Sequence Charts. Computer Networks and ISDN Systems 28, 1629–1641 (1996)CrossRefGoogle Scholar
  30. 30.
    Alur, R., Yannakakis, M.: Model checking of message sequence charts. In: Proc. 10th International Conference on Concurrency Theory, pp. 114–129. Springer, Heidelberg (1999)Google Scholar
  31. 31.
    Douglass, B.P.: Real-Time UML, 2nd edn. Addison-Wesley, Reading (1999)Google Scholar
  32. 32.
    Pratt, V.: Modeling concurrency with partial orders. International Journal of Parallel Programming 15, 33-71 (1986)zbMATHCrossRefMathSciNetGoogle Scholar
  33. 33.
    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)CrossRefGoogle Scholar
  34. 34.
    Luckham, D.C., Vera, J.: An event-based architecture definition language. IEEE Transactions on Software Engineering 21, 717-734 (1995)CrossRefGoogle Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    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)Google Scholar
  37. 37.
    Alur, R.: A theory of timed automata. Theoretical Computer Science 126, 183-235 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  38. 38.
    Holzmann, G.J.: Design and Validation of Computer Protocols. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  39. 39.
    Holzmann, G.J.: The Spin Model Checker. Addison-Wesley, Reading (2004)Google Scholar
  40. 40.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  41. 41.
    Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. Journal of the ACM 31, 560-599 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  42. 42.
    Dijkstra, E.W.: Guarded commands, nondeterminism and formal derivation of programs. Communications of the ACM 18, 453-457 (1975)zbMATHCrossRefMathSciNetGoogle Scholar
  43. 43.
    Reed, G.M., Roscoe, A.W.: A timed model for Communicating Sequential Processes. Theoretical Computer Science 58, 249-261 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  44. 44.
    Schneider, S.: Timewise refinement for communicating processes. Science of Computer Programming 28, 43-90 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  45. 45.
    Pardo, J., Valero, V., Cuartero, F.: A dynamic state graph for a timed process algebra. In: Proceedings of SNPD 2000, pp. 199-209 (2000)Google Scholar
  46. 46.
    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)Google Scholar
  47. 47.
    Milner, R.: Communication and Concurrency. Prentice Hall, New York (1989)zbMATHGoogle Scholar
  48. 48.
    Milner, R.: Communicating and Mobile Systems: the ? -Calculus. Cambridge University Press, Cambridge (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Walter Maydl
    • 1
  • Lars Grunske
    • 2
  1. 1.University of PassauPassauGermany
  2. 2.Boeing Postdoctoral Research Fellow, School of ITEEUniversity of QueenslandBrisbane (St.Lucia)Australia

Personalised recommendations