Unifying models

  • Bernhard Steffen
Invited Talk
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1200)

Abstract

In this paper we illustrate the unifying power and flexibility of an operational model-based approach by treating the problem dilemma of lack of consistency between the various description methods used in software systems design. The success of this approach strongly relies on the definition of adequate unifying model structures, which must be powerful enough to capture the interference potential between the different description methods, while remaining simple enough to support (automatic) verification, the key for formal methods to enter industrial practice.

Keywords

abstraction architecture behaviour (in-)completeness consistency decidability expressivity (temporal) models partial evaluation intermediate language operational semantics process refinement temporal logic tools transition system verification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Ande92]
    H. Andersen: Model Checking and Boolean Graphs, Proc. of ESOP '92, LNCS 582, Springer, 1992.Google Scholar
  2. [Beec94a]
    M. von der Beeck: Method Integration and Abstraction from Detailed Semantics to Improve Software Quality, Proc. 1st Int. Worksh. on Requirements Engineering: Foundation of Software Quality REFSQ'94, Augustinus Buchh., Aachen, pp. 102–111, 1994Google Scholar
  3. [BoCa89]
    T. Bolognesi, M. Caneve: Squiggles: A tool for the analysis of LOTOS specifications, in K. Turner Ed., Formal Description Techniques, pp. 201–216, North-Holland, 1989.Google Scholar
  4. [BoRS89]
    G. Boudol, V. Roy, R. de Simone, D. Vergamini: Process calculi, from theory to practice: Verification tools, Rapport de Recherche RR1098, INRIA, 1989.Google Scholar
  5. [Broy91]
    M. Broy: Towards a Formal Foundation of the Specification and Description Language SDL, Formal Aspects of Computing, vol. 3, 1991.Google Scholar
  6. [BSI91]
    British Standards Institution: VDM Specification Language — Proto-Standard, Technical Report, BSI ist/5/50 N-231, 1991.Google Scholar
  7. [BuSt92]
    O. Burkart, B. Steffen: Model Checking for Context-Free Processes, Proc. CONCUR '92, Stony Brook (NJ), Aug. 1992, LNCS 630, pp. 123–137, Springer.Google Scholar
  8. [BuSt94]
    O. Burkart, B. Steffen: Pushdown Processes: Parallel Composition and Model Checking, Proc. CONCUR '94, Uppsala (Sweden), August 1994, LNCS 836, pp. 98–113, Springer.Google Scholar
  9. [CeGL93]
    K. Cerans, J. Godskesen, K. Larsen: Timed Modal Specification — Theory and Tools, Proc. CAV, LNCS 697, Springer, pp. 253–267, 1993.Google Scholar
  10. [ClPS93]
    R. Cleaveland, J. Parrow, B. Steffen: The Concurrency Workbench: A Semantics-Based Verification Tool for Finite State Systems, ACM TOPLAS, Vol. 15, No. 1, pp. 36–72, 1993.CrossRefGoogle Scholar
  11. [ClWi96]
    E. Clarke, J.M. Wing: Position Statement of the Formal Methods Working Group, ACM Worksh. on Strategic Directions in Computing Research, Boston (USA), June 14–15 1996. ACM Computing Surveys, 28(4), Dec. 1996.Google Scholar
  12. [DoMS90]
    G. Doumenc, E. Madelaine, R. de Simone: Proving process calculi translations in ECRINS: The PureLotos-> Meije example, Rapport de recherche RR1192, INRIA, 1990.Google Scholar
  13. [ElLP93]
    R. Elmstrom, R. Lintulampi, M. Pezzé: Giving Semantics to SA/RT by Means of High-Level Timed Petri Nets, Real-Time Systems, Vol. 5, pp. 249–271, Academic Publishing, 1993.Google Scholar
  14. [Emer90]
    E.A. Emerson: Temporal and Modal Logic, In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, vol. B, p. 995–1072, MIT Press/Elsevier, 1990.Google Scholar
  15. [FGLB94]
    P. Fencott, A. Galloway, M. Lockyer, S. O'Brien, S. Pearson: Formalising the Semantics of Ward/Mellor SA/RT Essential Models using a Process Algebra, Proc. FME'94, LNCS 873, pp. 681–702, Springer-Verlag, 1994.Google Scholar
  16. [FrKV91]
    M. Fraser, K. Kumar, V. Vaishnavi: Informal and Formal Requirements Specification Languages: Bridging the Gap, IEEE Transact. on Softw. Eng., vol. 17, no. 5, pp. 454–466, 1991.CrossRefGoogle Scholar
  17. [Hare87]
    D. Harel: Statecharts: A visual formalism for complex systems, Science of Computer Programming, Vol. 8, pp. 231–274, 1987.CrossRefGoogle Scholar
  18. [HeHW95]
    T. Henzinger, P. Ho, H. Wong-Toi: A User Guide to HyTech, Proc. TACAS'95, LNCS 1019, Springer, pp. 41–71, 1995.Google Scholar
  19. [Hoar85]
    C. Hoare: Communicating Sequential Processes, Prentice-Hall Int., 1985.Google Scholar
  20. [Hung94]
    H. Hungar: Model Checking of Macro Processes, Proc. of CAV'94, Palo Alto (CA), June 1994, LNCS 818, Springer, pp.169–181.Google Scholar
  21. [JaJD96]
    D. Jackson, S. Jha, C.A. Damon: Faster checking of software specifications by eliminating isomorphs, Proc. ACM POPL'96, St. Petersburg Beach, FL (USA), Jan. 1996.Google Scholar
  22. [JoNi95]
    N.D. Jones, F. Nielson. Abstract Interpretation: A Semantics-Based Tool for Program Analysis. In Handbook of Logics in Computer Science, Vol. 4, pp. 527–637, Oxford University Press, 1995.Google Scholar
  23. [Klar95]
    J. Henriksen, J. Jensen, M. Jørgensen N. Klarlund, R. Paige, T. Rauhe, A. Sandholm: “Mona: Monadic second-order logic in practice,” Proc. of TACAS'95, Århus (DK), May 1995, LNCS 1019, Springer, pp. 89–110.Google Scholar
  24. [KMMG97]
    P. Kelb, T. Margaria, M. Mendler, C. Gsottberger: “Mosel: A Flexible Toolset for Monadic Second-Order Logic,” Appears at TACAS'97, Enschede (NL), April 1997, LNCS, Springer.Google Scholar
  25. [Knoo93]
    J. Knoop: Optimal Interprocedural Program Optimization: A new Frame-work and its Application, PhD thesis, Dep. of Computer Science, Univ. of Kiel, Germany, 1993. To appear as LNCS monograph, Springer.Google Scholar
  26. [KnRS94]
    J. Knoop, O. Rüthing, B. Steffen. Partial Dead Code Elimination, ACM SIGPLAN PLDI Conf.'94, ACM SIGPLAN Notices 29, Orlando, June 1994.Google Scholar
  27. [KnRS96]
    J. Knoop, O. Rüthing, B. Steffen: A Tool Kit for Constructing Optimal Interprocedural Data Flow Analyses, appears in Journal of Programming Languages, Chapman & HallGoogle Scholar
  28. [KnSV95]
    J. Knoop. B. Steffen. J. Vollmer: Parallelism for Free: bitvector analyses ⇒ no state explosion! TACAS'95, Selected Papers, Aarhus (DK), LNCS 1019, pp. 264–290, Springer, 1995.Google Scholar
  29. [KnSV96]
    J. Knoop. B. Steffen. J. Vollmer: Parallelism for free: Efficient and optimal bitvector analyses for parallel programs, ACM TOPLAS, Vol. 18, 3 (1996), pp.268–299.CrossRefGoogle Scholar
  30. [Koze83]
    D. Kozen. Results on the Propositional mu-Calculus. TCS 27, 333–354, 1983CrossRefGoogle Scholar
  31. [LaGZ89]
    K.G. Larsen, J.C. Godskesen, M. Zeeberg: TAV, tools for automatic verification, user manual, Technical Report R 89-19, Department of Mathematics and Computer Science, Ålborg University (DK), 1989.Google Scholar
  32. [Lars92]
    K.G. Larsen: Efficient Local Correctness Checking, Proc. of CAV'92, Montreal (CAN), LNCS 663, pp. 410–422, Springer.Google Scholar
  33. [Made92]
    E. Madelaine: Verification tools from the Concur project, EATCS Bulletin, Vol. 47, 1992.Google Scholar
  34. [MaWo84]
    Z. Manna, P. Wolper. Synthesis of Communicating Processes from Temporal Logic Specifications, ACM TOPLAS Vol.6, N.1, Jan. 1984, pp.68–93.CrossRefGoogle Scholar
  35. [Miln89]
    R. Milner: Communication and Concurrency, Prentice-Hall, 1989.Google Scholar
  36. [Moss92]
    P.D. Mosses: Action Semantics, Cambridge Tracts in Theoretical Computer Science, Vol. 26, Cambridge Univ. Press, 1992.Google Scholar
  37. [MSGS93]
    J. Malhotra, S.A. Smolka, A. Giacalone, R. Shapiro: Winston: A Tool for Hierarchical Design and Simulation of Concurrent Systems, Work. on Specification and Verification of Concurrent Systems, Univ. of Stirling, Scotland, 1988.Google Scholar
  38. [NOSY93]
    X. Nicollin, A. Olivero, J. Sifakis, S. Yovine: An Approach to the Description and Analysis of Hybrid Systems, Proc. Work. on Theory of Hybrid Systems, LNCS 736, Springer, pp. 149–178, 1993.Google Scholar
  39. [Plot81]
    G. Plotkin: A Structural Approach to Operational Semantics, University of Aarhus (DK), DAIMI FN-19, 1981.Google Scholar
  40. [Reis85]
    W. Reisig: Petri Nets. An Introduction., Springer-Verlag, 1985.Google Scholar
  41. [SCKK95]
    B. Steffen, A. Claßen, M. Klein, J. Knoop, T. Margaria: The Fixpoint Analysis Machine, (invited paper) to CONCUR'95, Pittsburgh (USA), August 1995, LNCS 962, Springer.Google Scholar
  42. [ShNi96]
    L. Shi, P. Nixon: An Improved Translation of SA/RT Specification Model to High-Level Timed Petri Nets, Proc. FME'96, LNCS 1051, pp. 518–537, 1996.Google Scholar
  43. [SiCl85]
    A.P. Sistla, E.M. Clarke. The Complexity of the Propositional Linear Temporal Logics, Journal of the ACM, Vol.32, 3, July 1985, pp.733–749.CrossRefGoogle Scholar
  44. [SMCB96a]
    B. Steffen, T. Margaria, A. Claßen, V. Braun, M. Reitenspieß: A Constraint-Oriented Service Creation Environment, Proc. PACT'96, 2nd Int. Conf. on Practical Application of Constraint Technology — April 1996, London (UK), Ed. by The Practical Application Company pp. 283–298.Google Scholar
  45. [SMCB96b]
    B. Steffen, T. Margaria, A. Claßen, V. Braun: The MetaFrame '95 Environment, Proc. CAV'96, Juli–Aug. 1996, New Brunswick, NJ (USA), LNCS 1102, pp.450–453, Springer.Google Scholar
  46. [SMCB96c]
    B. Steffen, T. Margaria, A. Claßen, V. Braun: “Incremental Formalization: A Key to Industrial Success ”, In “SOFTWARE: Concepts and Tools”, Vol. 17, No 2, pp. 78–91, Springer, July 1996.Google Scholar
  47. [Spiv89]
    J. Spivey: The Z Notation: A Reference Manual, Prentice-Hall, 1989.Google Scholar
  48. [Stef89]
    B. Steffen. Characteristic Formulae. Proc. ICALP'89, Stresa (Italy), LNCS 372, Springer, 1989.Google Scholar
  49. [Stef91]
    B. Steffen. Data Flow Analysis as Model Checking. Proc. of TACS'91, Sendai (Japan), LNCS 526, pp. 346–364, Springer, 1991.Google Scholar
  50. [Stef93]
    B. Steffen. Generating Data Flow Analysis Algorithms from Modal Specifications, Science of Computer Programming, N. 21, 1993, pp. 115–139.CrossRefGoogle Scholar
  51. [StIn94]
    B. Steffen, A. Ingólfsdóttir: Characteristic Formulae for Finite State Processes, Information and Computation, Vol. 110, No. 1, 1994.Google Scholar
  52. [Stir95]
    C. Stirling: Modal and Temporal Logics, In Handbook of Logics in Computer Science, Vol. 2, pp. 478–551, Oxford Univ. Press, 1995.Google Scholar
  53. [StMa96]
    B. Steffen, T. Margaria: Method Engineering for Real-Life Concurrent Systems, position statement, ACM Works. on Strategic Directions in Computing Research, Working Group on Concurrency (Chair S. Smolka). Appears in ACM Computing Surveys 28A(4), Dec. 1996, http://www.acm. org/surveys/1996/SteffenMethod/.Google Scholar
  54. [StMa96a]
    B. Steffen, T. Margaria: Tools Get Formal Methods into Practice, position statement, ACM Works. on Strategic Directions in Computing Research, Working Group on Formal Methods (Co-Chairs E. Clarke, J. Wing). Appears in ACM Computing Surveys 28A(4), Dec. 1996, http://www.acm.org/surveys/1996/SteffenTools/.Google Scholar
  55. [StMC96]
    B. Steffen, T. Margaria, A. Claßen. Heterogeneous Analysis and Verification for Distributed Systems, In “SOFTWARE: Concepts and Tools”, vol. 17, N.1, pp. 13–25, Springer, 1996.Google Scholar
  56. [STTT]
    International Journal on Software Tools for Technology Transfer (STTT), Springer Verlag, coming September 1997 http://brahms.fmi.uni-passau.de/bs/sttt.Google Scholar
  57. [Thom90]
    W. Thomas: “Automata on infinite objects,” In J. van Leeuwen, ed., Handbook of Theoretical Computer Science, vol.B, pp.133–191. MIT Press/Elsevier, 1990.Google Scholar
  58. [Thom96]
    W. Thomas: “Languages, automata, and objects,” to appear in the forthcoming new edition of the Handbook of Theoretical Computer Science, MIT Press/Elsevier.Google Scholar
  59. [JaWa96]
    D. Janin, I. Walukiewicz: On the expressive completeness of the propositional mu-calculus with respect to the Monadic Second Order logic, Proc. CONCUR'96, Pisa (I), LNCS 1119, Springer, pp.263–277, Aug. 1996.Google Scholar
  60. [ZaJa93]
    P. Zave, M. Jackson: Conjunction as Composition, ACM TOSEM 2(4), pp. 379–411, October'93.Google Scholar
  61. [ZaJa96]
    P. Zave, M. Jackson: Where do operations come from? A Multiparadigm specification technique, To appear on Trans. on Softw. Eng.Google Scholar

Copyright information

© Springer-Verlag 1997

Authors and Affiliations

  • Bernhard Steffen
    • 1
  1. 1.Lehrstuhl für ProgrammiersystemeUniversität PassauPassauGermany

Personalised recommendations