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.
Similar content being viewed by others
References
Jones, J. C. Design methods: seeds of human futures. Wiley, New York, 1970
Jensen, R. W. and Tonies, C. C. Software engineering. Prentice-Hall, Englewood Cliffs, NJ, 1979
Birrell, N. D. and Ould, M. A. Practical handbook for software development. Cambridge University Press, Cambridge, 1985
Wieringa, R. J. Requirements engineering: frameworks for understanding. Wiley, New York, 1996.
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
Gomaa, H. Software design methods for concurrent and real-time systems. Addison-Wesley, Reading, MA, 1993
Hatley, D. and Pirbhai, I. Strategies for real-time system specification. Dorset House, 1987
i Logix. The Languages of STATEMATE. Technical report, 1-Logix Inc., 22 Third Avenue, Burlington, MA. 01803, USA, January, 1991
Shumate, K. and Keller, M. Software specification and design: A disciplined approach for real-time systems. Wiley, New York, 1992
Ward, P. T. and Mellor, S. J. Structured development for real-time systems. Prentice-Hall/Yourdon Press, 1985. Three volumes
Booch, G. Object-oriented design with applications, 2nd edn. Benjamin/Cummings, 1994
Coad, P. and Yourdon, E. Object-oriented analysis. Yourdon Press/Prentice-Hall, 1990
Embley, D. W., Kurtz, B. D. and Woodfield, S. N. Objectoriented systems analysis: A model-driven approach. Prentice-Hall, Englewood, Cliffs, NJ, 1992
Jacobson, I., Christerson, M., Johnsson, P. and Övergaard, G. Object-oriented software engineering: A use case driven approach. Prentice-Hall, Englewood Cliffs, NJ, 1992
Martin, J. and Odell, J. Object-oriented methods: A foundation. Prentice-Hall, Englewood Cliffs, NJ, 1995.
Shlaer, S. and Mellor, S. J. Object-oriented systems analysis: modeling the world in data. Prentice-Hall, Englewood Cliffs, NJ, 1988
Shlaer, S. and Mellor, S. J. Object lifecycles: modeling the world in states. Prentice-Hall, Englewood Cliffs, NJ, 1992
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. Object-oriented modeling and design. Prentice-Hall, Englewood Cliffs, NJ, 1991
i Logix. The Semantics of Statecharts. Technical report, i-Logix Inc. 22 Third Avenue, Burlington, MA. 01803, USA, January 1991
i-Logix Inc., 22 Third Avenue, Burlington, MA. 01803, USA. STATEMATE Analyzer Reference Manual Version 5.0, 1993
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
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
Feijs, L. M. G., Jonkers, H. B. M. and Middelburg, C. A. Notations for Software Design. Springer, Berlin, 1994
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
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
Wieringa, R. J. Combining static and dynamic modeling methods: A comparison of four methods. Computer Journal, 38(1): 17–30, 1995
Chen, P. P.-S. The entity-relationship model: Toward a unified view of data. ACM Transactions on Database Systems, 1: 9–36, 1976
Smith, J. M. and Smith, D. C. P. Database abstractions: Aggregation and generalisation. ACM Transactions on Database Systems, 2: 105–133, 1977
Smith, J. M. and Smith, D. C. P. Database abstractions: Aggregation. Communications of the ACM, 20: 405–413, June 1977
Kent, W. A rigorous model of object reference, identity, and existence. Journal of Object-Oriented Programming, 4(3): 28–36, June 1991
Wieringa, R. J. and de Jonge, W.: Object identifiers, keys, and surrogates. Theory and Practice of Object Systems, 1(2): 101–114, 1995
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
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
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
Ehrich, H.-D., Gogolla, M. and Lipeck, U. W. Algebraische Spezifikation abstrakter Datentypen. Teubner, B. G., 1989
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
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
Hopcroft, J. E. and Ullman, J. D. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading, MA, 1979
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
McMenamin, S. M. and Palmer, J. F. Essential Systems Analysis. Yourdon Press/Prentice Hall, 1984
Harel, D. Statecharts: a visual formalism for complex systems. Science of Computer Programming, 8: 231–274, 1987
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
Shlaer, S. and Mellor, S. J. An object-oriented approach to domain analysis. ACM SIGSOFT Software Engineering Notes. 14(5): 66–77, July 1989
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
Booch, G. Object-oriented development. IEEE Transactions on Software Engineering, SE-12: 211–221, 1986
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
Rumbaugh, J. OMT: The functional model. Journal of Object-Oriented Programming, 8(1): 10–14, March–April 1995
Feenstra, R. B. and Wieringa, R. J. Translating LCM specifications into reachability calculus. In preparation
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
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
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
Martin, J. Strategic data-planning methodologies. Prentice-Hall, Englewood Cliffs, NJ, 1982
Martin, J. Information Engineering, Book II: Planning and analysis. Prentice-Hall, Englewood Cliffs, NJ, 1989
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
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
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.
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
Oblog Software. OBLOG Case V1. 2, 1995
Author information
Authors and Affiliations
Corresponding author
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF01235905