Skip to main content
Log in

Formal analysis of the Shlaer-Mellor method: Towards a toolkit of formal and informal requirements specification techniques

  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

In this paper, we define a number of tools that we think belong to the core of any toolkit for requirements engineers. The tools are conceptual and hence, they need precise definitions that lay down as exactly as possible what their meaning and possible use is. We argue that this definition can best be achieved by a formal specification of the tool. This means that for each semi-formal requirements engineering tool we should provide a formal specification that precisely specifies its meaning. We argue that this mutually enhances the formal and semi-formal technique: it makes formal techniques more usable and, as we will argue, at the same time simplifies the diagram-based notations.

At the same time, we believe that the tools of the requirements engineer should, where possible, resemble the familiar semi-formal specification techniques used in practice today. In order to achieve this, we should search existing requirements specification techniques to look for a common kernel of familiar semi-formal techniques and try to provide a formalisation for these.

In this paper we illustrate this approach by a formal analysis of the Shlaer-Mellor method for object-oriented requirements specification. The formal specification language used in this analysis is LCM, a language based on dynamic logic, but similar results would have been achieved by means of another language. We analyse the techniques used in the information model, state model, process model and communication model of the Shlaer-Mellor method, identify ambiguities and redundancies, indicate how these can be eliminated and propose a formalisation of the result. We conclude with a listing of the tools extracted from the Shlaer-Mellor method that we can add to a toolkit that in addition contains LCM as formal specification technique.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Jones, J. C. Design methods: seeds of human futures. Wiley, New York, 1970

    Google Scholar 

  2. Jensen, R. W. and Tonies, C. C. Software engineering. Prentice-Hall, Englewood Cliffs, NJ, 1979

    Google Scholar 

  3. Birrell, N. D. and Ould, M. A. Practical handbook for software development. Cambridge University Press, Cambridge, 1985

    Google Scholar 

  4. Wieringa, R. J. Requirements engineering: frameworks for understanding. Wiley, New York, 1996.

    Google Scholar 

  5. Wieringa, R. J. A method for building and evaluating formal specifications of object-oriented conceptual models of database systems (MCM). Technical Report IR-340, Faculty of Mathematics and Computer Science, Vrije Universiteit, December 1993

  6. Gomaa, H. Software design methods for concurrent and real-time systems. Addison-Wesley, Reading, MA, 1993

    Google Scholar 

  7. Hatley, D. and Pirbhai, I. Strategies for real-time system specification. Dorset House, 1987

  8. i Logix. The Languages of STATEMATE. Technical report, 1-Logix Inc., 22 Third Avenue, Burlington, MA. 01803, USA, January, 1991

    Google Scholar 

  9. Shumate, K. and Keller, M. Software specification and design: A disciplined approach for real-time systems. Wiley, New York, 1992

    Google Scholar 

  10. Ward, P. T. and Mellor, S. J. Structured development for real-time systems. Prentice-Hall/Yourdon Press, 1985. Three volumes

  11. Booch, G. Object-oriented design with applications, 2nd edn. Benjamin/Cummings, 1994

  12. Coad, P. and Yourdon, E. Object-oriented analysis. Yourdon Press/Prentice-Hall, 1990

  13. Embley, D. W., Kurtz, B. D. and Woodfield, S. N. Objectoriented systems analysis: A model-driven approach. Prentice-Hall, Englewood, Cliffs, NJ, 1992

    Google Scholar 

  14. Jacobson, I., Christerson, M., Johnsson, P. and Övergaard, G. Object-oriented software engineering: A use case driven approach. Prentice-Hall, Englewood Cliffs, NJ, 1992

    Google Scholar 

  15. Martin, J. and Odell, J. Object-oriented methods: A foundation. Prentice-Hall, Englewood Cliffs, NJ, 1995.

    Google Scholar 

  16. Shlaer, S. and Mellor, S. J. Object-oriented systems analysis: modeling the world in data. Prentice-Hall, Englewood Cliffs, NJ, 1988

    Google Scholar 

  17. Shlaer, S. and Mellor, S. J. Object lifecycles: modeling the world in states. Prentice-Hall, Englewood Cliffs, NJ, 1992

    Google Scholar 

  18. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. Object-oriented modeling and design. Prentice-Hall, Englewood Cliffs, NJ, 1991

    Google Scholar 

  19. i Logix. The Semantics of Statecharts. Technical report, i-Logix Inc. 22 Third Avenue, Burlington, MA. 01803, USA, January 1991

    Google Scholar 

  20. i-Logix Inc., 22 Third Avenue, Burlington, MA. 01803, USA. STATEMATE Analyzer Reference Manual Version 5.0, 1993

  21. France, R. B. and Larrondo-Petrie, M. M. From structured analysis to formal specification: state of the theory. In Proceedings of the 1994 ACM Computer Science Conference, 1994

  22. Bates, B. W., Bruel, J.-M., France, R. B. and Larronde-Petrie, M. M. Guidelines for the formalizing Fusion object-oriented analysis models. In P. Constantopoulos, J. Mylopoulos, and Y. Vassiliou, eds., Advanced Information Systems Engineering (CAiSE'96), pp. 222–223. Springer, 1996. Lecture Notes in Computer Science 1080

  23. Feijs, L. M. G., Jonkers, H. B. M. and Middelburg, C. A. Notations for Software Design. Springer, Berlin, 1994

    Google Scholar 

  24. Bourdeau, R. H. and Cheng, B. H. C. A formal semantics for object model diagrams. IEEE Transactions on Software Engineering 21(10): 799–821, October 1995

    Google Scholar 

  25. Jungclaus, R., Saake, G., Hartmann, T. and Sernadas, C. Troll. A language for object-oriented specification of information systems. ACM Transactions on Information Systems, 14(2): 175–211, April 1996

    Google Scholar 

  26. Wieringa, R. J. Combining static and dynamic modeling methods: A comparison of four methods. Computer Journal, 38(1): 17–30, 1995

    Google Scholar 

  27. Chen, P. P.-S. The entity-relationship model: Toward a unified view of data. ACM Transactions on Database Systems, 1: 9–36, 1976

    Google Scholar 

  28. Smith, J. M. and Smith, D. C. P. Database abstractions: Aggregation and generalisation. ACM Transactions on Database Systems, 2: 105–133, 1977

    Google Scholar 

  29. Smith, J. M. and Smith, D. C. P. Database abstractions: Aggregation. Communications of the ACM, 20: 405–413, June 1977

    Google Scholar 

  30. Kent, W. A rigorous model of object reference, identity, and existence. Journal of Object-Oriented Programming, 4(3): 28–36, June 1991

    Google Scholar 

  31. Wieringa, R. J. and de Jonge, W.: Object identifiers, keys, and surrogates. Theory and Practice of Object Systems, 1(2): 101–114, 1995

    Google Scholar 

  32. Wieringa, R. J., de Jonge, W., and Spruit, P. A. Using dynamic classes and role classes to model object migration. Theory and Practice of Object Systems. 1(1): 61–83, 1995

    Google Scholar 

  33. wieringa, R. J. Equational specification of dynamic objects. In Meersman, R. A., Kent, W., and Khosla, S. s. Object-oriented databases: analysis, design, and construction (DS-4), pp. 415–438. North-Holland, Amsterdam, 1991

    Google Scholar 

  34. Wieringa, R. J. A formalisation of objects using equational dynamic logic. In Delobel, C., Kifer, M., and Masunaga, Y. eds., 2nd International Conference on Deductive and Object-Oriented Databases (DOOD'91), pp. 431–452. Springer, Berlin, 1991. Lecture Notes in Computer Science 566

    Google Scholar 

  35. Ehrich, H.-D., Gogolla, M. and Lipeck, U. W. Algebraische Spezifikation abstrakter Datentypen. Teubner, B. G., 1989

  36. Ehrig, H., Mahr, B. and Orejas, F. Introduction to algebraic specification. Part 1: Formal methods for software development. Computer Journal, 35(5): 460–477, 1992

    Google Scholar 

  37. Goguen, J. A. and Meseguer, J. Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoretical Computer Science, 105: 217–273, 1992

    Google Scholar 

  38. Hopcroft, J. E. and Ullman, J. D. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading, MA, 1979

    Google Scholar 

  39. Gray, J. The transaction concept: virtues and limitations. In Zaniolo, C. and Delobel, C. eds., Proceedings of the Seventh International Conference on Very Large Databases, pp. 144–154, Cannes, France, September 9–11 1981

  40. McMenamin, S. M. and Palmer, J. F. Essential Systems Analysis. Yourdon Press/Prentice Hall, 1984

  41. Harel, D. Statecharts: a visual formalism for complex systems. Science of Computer Programming, 8: 231–274, 1987

    Google Scholar 

  42. Jungclaus, R., Wieringa, R. J., Hartel, P., Saake, G. and Hartmann, T. Combining Troll with the Object Modeling Technique. In Wolfinger, B. ed., Innovationen bei Rechen- und Kommunikationssystemen. GI-Fachgespräch FG 1: Integration von semi-formalen und formalen Methoden für die Spezifikation von Software, pp. 35–42. Springer, Informatik aktuell, Berlin, 1994

    Google Scholar 

  43. Shlaer, S. and Mellor, S. J. An object-oriented approach to domain analysis. ACM SIGSOFT Software Engineering Notes. 14(5): 66–77, July 1989

    Google Scholar 

  44. Wieringa, R. J., Jungclaus, R., Hartel, P., Saake, G. and Hartmann, T. OMTROLL-Object modeling in troll. Proceedings of the international workshop on information systems-correctness and reusability (ISCORE'93), Lipeck Udo W. and Koschorrek, G. (eds.), pp. 267–283. Institut für Informatik, Universität Hannover, Postfach 6009, D-30060, Hannover., September 1993

    Google Scholar 

  45. Booch, G. Object-oriented development. IEEE Transactions on Software Engineering, SE-12: 211–221, 1986

    Google Scholar 

  46. Hayes, F. and Coleman, D. Coherent models for objectoriented analysis. In Paepcke, A., ed., Object-Oriented Programming: Systems, Languages and Applications/European Conference on Object-Oriented Programming, pp. 171–183. ACM, 1991. Sigplan Notices 25, no 11

  47. Rumbaugh, J. OMT: The functional model. Journal of Object-Oriented Programming, 8(1): 10–14, March–April 1995

    Google Scholar 

  48. Feenstra, R. B. and Wieringa, R. J. Translating LCM specifications into reachability calculus. In preparation

  49. Spruit, P. A., Wieringa, R. J., and Ch. Meyer, J.-J. Axiomatisation, declarative semantics and operational semantics of passive and active updates in logic databases. Journal of Logic and Computation, 5(1): 27–50 1995

    Google Scholar 

  50. Berry, G. and Cosserat, I. The ESTEREL synchronous programming language and its mathematical semantics. In Brookes, S. and Winskel, G. eds., Seminar on Concurrency, pp. 389–448, 1985. Lecture Notes in Computer Science 197

  51. Harel, D. and Pnueli, A. On the development of reactive systems. In Apt, K. ed., Logics and models of concurrent systems, pp. 477–498. Springer, 1985. NATO ASI Series

  52. Martin, J. Strategic data-planning methodologies. Prentice-Hall, Englewood Cliffs, NJ, 1982

    Google Scholar 

  53. Martin, J. Information Engineering, Book II: Planning and analysis. Prentice-Hall, Englewood Cliffs, NJ, 1989

    Google Scholar 

  54. Harel, D., Pnueli, A., Schmidt, J. P. and Sherman, R. On the formal semantics of statecharts. In proceedings, symposium on logic in computer Science, pp. 54–64. Computer Science Press, June 22–25 1987

  55. Meyer, J.-J. Ch. A different approach to deontic logic: Deontic logic viewed as a variant of dynamic logic. Notre Dame Journal of Formal Logic, 29: 109–136, 1988

    Google Scholar 

  56. Wieringa, R. J. and Meyer, J.-J. Ch. Actors, actions, and initiative in normative system specification. Annals of mathematics and artificial intelligence, 7: 289–346, 1993.

    Google Scholar 

  57. Hartmann, T., Saake, G., Hartel, P. and Kusch, J. Revised verison of the modelling language TROLL (TROLL version 2. 0). Technical Report 94-03, Abt. Datenbanken, Tech. Universität Braunschweig, P. B. 3329, Braunschweig, Germany, April 1994

    Google Scholar 

  58. Oblog Software. OBLOG Case V1. 2, 1995

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to R. J. Wieringa.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wieringa, R.J., Saake, G. Formal analysis of the Shlaer-Mellor method: Towards a toolkit of formal and informal requirements specification techniques. Requirements Eng 1, 106–131 (1996). https://doi.org/10.1007/BF01235905

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01235905

Keywords

Navigation