Abstract
A core problem in formal methods is the transition from informal requirements to formal specifications. Especially when specifying the behavior of reactive systems, many formalisms require the user to either understand a complex mathematical theory and notation or to derive details not given in the requirements, such as the state space of the problem. For many approaches also a consistent set of requirements is needed, which enforces to resolve requirements conflicts prior to formalization. This paper describes a specification technique, where not states but signal patterns are the main elements. The notation is based on tables of regular expressions and supports a piece-wise formalization of potentially inconsistent requirements. Many properties, such as input completeness and consistency, can be checked automatically for these specifications. The detection and resolution of conflicts can be performed within our framework after formalization. Besides the formal foundation of our approach, this paper presents prototypical tool support and results from an industrial case study.
Similar content being viewed by others
References
Abreu, J., Bocchi, L., Fiadeiro, J.L., Lopes, A.: Specifying and composing interaction protocols for service-oriented system modelling. In: Proceedings of FORTE’07. Springer, Berlin (2007)
Barroca, L., Fiadeiro, J.L.: Coordination contracts as connectors in component-based development. In: Proceedings of Integrated Design and Process Technology, IDPT 2002 (2002)
Bauer, A., Leucker, M., Streit, J.: SALT—structured assertion language for temporal logic. In: Proceedings of ICFEM’06. Springer, Berlin (2006)
von der Beeck, M.: A comparison of Statecharts variants. In: Proceedings of FTRTFT. Springer, Berlin (1994)
Bérard, B., Bidoit, M., Finkel, A., Laroussinie, F., Petit, A., Petrucci, L., Schnoebelen, Ph.: Systems and Software Verification. Model-Checking Techniques and Tools. Springer, Berlin. http://www.springer.com/3-540-41523-8 (2001)
Botaschanjan, J., Harhurin, A.: Property-driven scenario integration. In: 7th IEEE International Conference on Software Engineering and Formal Methods (SEFM). IEEE Computer Society (2009)
Brill, M., Damm, W., Klose, J., Westphal, B., Wittke, H.: Live sequence charts: an introduction to lines, arrows, and strange boxes in the context of formal verification. In: SoftSpez Final Report (2004)
Broy M., Stølen K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer, Berlin (2001)
Courtois, P.J., Parnas, D.L.: Documentation for safety critical software. In: Proceedings of ICSE’93. IEEE (1993)
Damm W., Harel D.: LSCs: breathing life into message sequence charts. Form. Methods Syst. Des. 19(1), 45–80 (2001)
Denger, C., Berry, D.M., Kamsties, E.: Higher quality requirements specifications through natural language patterns. In: Proceedings of SWSTE’03. IEEE (2003)
Dwyer, M.B., Avrunin, G.S., Corbettm J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of ICSE’99. IEEE (1999)
Gössler G., Sifakis J.: Composition for component-based modeling. Sci. Comput. Program. 55(1–3), 161–183 (2005)
Gruber, H., Holzer, M.: Finite automata, digraph connectivity, and regular expression size. In: Proceedings of 35th International Colloquium on Automata, Languages and Programming (ICALP 2008) (2008)
Gurumurthy, S., Kupferman, O., Somenzi, F., Vardi, M.Y.: On complementing nondeterministic Büchi automata. In: Proceedings of the 12th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods (2003)
Halbwachs N., Caspi P., Raymond P., Pilaud D.: The synchronous data flow programming language LUSTRE. Proc. IEEE 79(9), 1305–1320 (1991)
Harel D.: Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)
Heitmeyer, C.L.: Applying practical formal methods to the specification and analysis of security properties. In: MMM-ACNS (2001)
Heitmeyer, C.L., Kirby, J., Labaw, B.G., Bharadwaj, R.: SCR*: a toolset for specifying and analyzing software requirements. In: Proceedings of CAV’98. Springer, Berlin (1998)
Heitmeyer, C.L., Archer, M., Bharadwaj, R., Jeffords, R.D.: Tools for constructing requirements specifications: the SCR toolset at the age of nine. Comput. Syst. Sci. Eng. 20(1) (2005)
Henriksen, J.G., Jensen, J.L., Jørgensen, M.E., Klarlund, N., Paige, R., Rauhe, T., Sandholm, A.: Mona: monadic second-order logic in practice. In: Proceedings of TACAS’95. Springer, Berlin (1995)
Herrmannsdörfer M., Konrad S., Berenbach B.: Tabular notations for state machine-based specifications. Crosstalk 21(3), 18–23 (2008)
Hopcroft J.E., Ullman J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (1979)
Hummel, B.: Automata-based IP packet classification. Master’s thesis, Technische Universität München. http://www4.in.tum.de/~hummelb/publ/hummel-06-thesis.pdf (2006)
IEEE: IEEE Std 1003.1-2001 Standard for Information Technology—Portable Operating System Interface (POSIX) Base Definitions, Issue 6. IEEE (2001)
ITU-T: Recommendation Z.120. Message Sequence Charts. Tech. Rep. Z-120. International Telecommunication Union, Genève (2000)
Janicki R., Khédri R.: On a formal semantics of tabular expressions. Sci. Comput. Program. 39(2–3), 189–213 (2001)
Object Management Group: UML 2 superstructure specification. http://www.uml.org/ (2004)
Parnas, D.L.: Tabular representation of relations. CRL Report 260, Telec. Research Institute of Ontario (1992)
Peters, D.K., Lawford, M., y Widemann, B.T.: An IDE for software development using tabular expressions. In: Proceedings of CASCON’07. IBM (2007)
Podelski, A., Steffen, B., Zuck, L. (eds.): Liveness Manifestos. Beyond Safety, International Workshop, Schloß Ringberg, Germany. http://www.cs.nyu.edu/acsys/beyond-safety/liveness.htm (2004)
Prowell S.J., Poore J.H.: Foundations of sequence-based software specification. IEEE Trans. Softw. Eng. 29(5), 417–429 (2003)
Ramadge P.J.G., Wonham W.M.: The control of discrete event systems. Proc. IEEE 77(1), 81–98 (1989)
Schewe, S.: Büchi complementation made tight. In: Proceedings of the Symposium on Theoretical Aspects of Computer Science (STACS’09) (2009)
Sengupta, B., Cleaveland, R.: Triggered message sequence charts. IEEE Trans. Softw. Eng. 32(8), 587–607 (2006). http://doi.ieeecomputersociety.org/10.1109/TSE.2006.82
Thomas, W.: Automata on infinite objects. In: Handbook of Theoretical Computer Science. Formal Models and Sematics, vol. B, pp. 133–192. MIT Press, New York (1990)
Thyssen, J., Hummel, B.: Behavioral specification of reactive systems using stream-based I/O tables. In: Proceedings of the 7th IEEE International Conference on Software Engineering and Formal Methods (SEFM’09) (2009)
Uchitel S., Brunet G., Chechik M.: Synthesis of partial behavior models from properties and scenarios. IEEE Trans. Softw. Eng. 35(3), 384–406 (2009)
Vardi, M.Y.: The Büchi complementation saga. In: Proceedings of the Symposium on Theoretical Aspects of Computer Science (STACS’07) (2007)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Krishnan, Dr. Cerone, and Dr. Van Hung.
Parts of this work have been conducted in a project with Siemens Sector Industry.
Rights and permissions
About this article
Cite this article
Thyssen, J., Hummel, B. Behavioral specification of reactive systems using stream-based I/O tables. Softw Syst Model 12, 265–283 (2013). https://doi.org/10.1007/s10270-011-0204-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-011-0204-1