Abstract
Some facts: Before software and computing systems can be developed, their requirements must be reasonably well understood. Before requirements can be finalised the application domain, as it is, must be fairly well understood. Some opinions: In today’s software and computing systems development very little, if anything is done, we claim, to establish fair understandings of the domain. It simply does not suffice, we further claim, to record assumptions about the domain when recording requirements. Far more radical theories of application domains must be at hand before requirements development is even attempted. In another (“earlier”) paper [6] we advocate(d) a strong rôle for domain engineering. We there argued that domain descriptions are far more stable than are requirements prescriptions for support of one or another set of domain activities. In the present paper we shall argue, that once, given extensive domain descriptions, it is comparatively faster to establish trustworthy and stable requirements than it is today. And we shall further, presently, argue that once we have a sufficient (varietal) collection of domain specific, ie. related, albeit distinct, requirements, we can develop far more reusable software components than using current approaches. In this contribution we shall thus reason, at a meta-level, about two major phases of software engineering: Requirements engineering, and software design. We shall suggest a number of requirements engineering and software design concerns, stages and steps
The paper represents work in progress. It is based on presentations of “topics for discussion” at the IFIP Working Group 2.3. Such presentations are necessarily of “work in progress” — with the aim of the presentation being to solicit comments. Hence the paper (“necessarily”) is not presenting “final” results.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abowd, G., Allen, R., Garlan, D.: Using style to understand descriptions of software architecture. SIGSOFT Software Engineering Notes 18(5), 9–20 (1993)
Abowd, G.D., Allen, R., Garlan, D.: Formalizing style to understand descriptions of software architecture. ACM Transactions on Software Engineering and Methodology 4(4), 319–364 (1995)
Allen, R., Garlan, D.: A formal approach to software architectures. In: IFIP Transactions A (Computer Science and Technology); IFIP Wordl Congress, Madrid, Spain, Amsterdam, Netherlands, vol. A-12, pp. 134–141. IFIP, North Holland (1992)
Allen, R., Garlan, D.: Formalizing architectural connection. In: 16th International Conference on Software Engineering (Cat. No.94CH3409-0), Sorrento, Italy, pp. 71–80. IEEE Comput. Soc. Press, Los Alamitos (1994)
Allen, R., Garlan, D.: A case study in architectural modeling: the AEGIS system. In: 8th International Workshop on Software Specification and Design; Schloss Velen, Germany, pp. 6–15. IEEE Comput. Soc. Press, Los Alamitos (1996)
Bjørner, D.: Domain Engineering: a “Radical Innovation” for Software and Systems Engineering? A Biased Account. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, p. 54. Springer, Heidelberg (2004); The Zohar Manna International Conference, Taormina, Sicily June 29 – July 4 (2003)
Bjørner, D.: The SE Book: Principles and Techniques of Software Engineering, vol. I: Abstraction & Modelling (750 pages), II: Descriptions and Domains (est.: 500 pages), III: Requirements, Software Design and Management (est. 450 pages) [Publisher currently (March 2003) being negotiated], I: Fall 2003, II: Spring 2004, III: Summer/Fall 2004 2003–2004
Dardenne, A., Fikas, S., van Lamsweerde, A.: Goal–Directed Concept Acquisition in Requirements Elicitation. In: Proc. IWSSD–6, 6th Intl. Workshop on Software Specification and Design, Como, Italy, pp. 14–21. IEEE Computer Society Press, Los Alamitos (1991)
Dardenne, A., van Lamsweerde, A., Fikas, S.: Goal–Directed Requirements Acquisition. Science of Computer Programming 20, 3–50 (1993)
Darimont, R., van Lamsweerde, A.: Formal Refinement Patterns for Goal –Driven Requirements Elaboration. In: Proc. FSE’4, Fourth ACM SIGSOFT Symp. on the Foundations of Software Enginering, pp. 179–190. ACM, New York (1996)
Feather, M., Fikas, S., van Lamsweerde, A., Ponsard, C.: Reconciling System Requirements and Runtime Behaviours. In: Proc. IWSSD 1998, 9th Intl. Workshop on Software Specification and Design, Isobe, Japan. IEEE Computer Society Press, Los Alamitos (1998)
Garlan, D.: Formal approaches to software architecture. In: Studies of Software Design. ICSE 1993 Workshop. Selected Papers, Berlin, Germany, pp. 64–76. Springer, Heidelberg (1996)
Garlan, D., Shaw, M.: An introduction to software architecture, pp. 1–39. World Scientific, Singapore (1993)
Goguen, J.A., Girotka, M. (eds.): Requirements Engineering: Social and Technical Issues. Academic Press, London (1994)
Goguen, J.A., Linde, C.: Techniques for Requirements Elicitation. In: Proc. RE 1993, First IEEE Symposium on Requirements Engineering, San Diego, Calif., USA, pp. 152–164. IEEE Computer Society Press, Los Alamitos (1993)
Greenspan, S.J., Mylopoulos, J., Borgida, A.: A Requirements Modelling Language. Information Systems 11(1), 9–23 (1986) (about RML)
Hunter, A., Nuseibeh, B.: Managing Inconsistent Specifications: Reasoning, Analysis and Action. ACM Transactions on Software Engineering and Methodology 7(4), 335–367 (1998)
Mylopoulos, J., Chung, L., Nixon, B.: Representing and Using Non–Functional Requirements: A Process–oriented Approach. IEEE Trans. on Software Engineering 18(6), 483–497 (1992)
Mylopoulos, J., Chung, L., Yu, E.: From Object–Oriented to Goal–Oriented Requirements Analysis. CACM: Communications of the ACM 42(1), 31–37 (1999)
Nuseibeh, B., Kramer, J., Finkelstein, A.: A Framework for Expressing the Relationships between Multiple Views in Requirements Specifications. IEEE Transactions on Software Engineering 20(10), 760–773 (1994)
Back, R.-J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer, Heidelberg (1998)
Shekaran, C., Garlan, D., et al.: The role of software architecture in requirements engineering. In: First International Conference on Requirements Engineering (Cat. No.94TH0613-0); Colorado Springs, CO, USA, pp. 239–245. IEEE Comput. Soc. Press, Los Alamitos (1994)
van Lamsweerde, A.: Requirements Engineering in the Year 00: A Research Perspective. In: Proceedings 22nd International Conference on Software Engineering, ICSE 2000. IEEE Computer Society Press, Los Alamitos (2000)
van Lamsweerde, A., Darimont, R., Letier, E.: Managing Conflicts in Goal—Driven Requirements Engineering. IEEE Transaction on Software Engineering (1998); Special Issue on Inconsistency Management in Software Development
van Lamsweerde, A., Letier, E.: Integrating Obstacles in Goal–Driven Requirements Engineering. In: Proc. ICSE–98: 20th International Conference on Software Enginereering, Kyoto, Japan. IEEE Computer Society Press, Los Alamitos (1998)
van Lamsweerde, A., Willemet, L.: Inferring Declarative Requirements Specification from Operational Scenarios. IEEE Transaction on Software Engineering, pp. 1089–1114 (1998); Special Issue on Scenario Management
van Lamsweerde, A., Willemet, L.: Handling Obstacles in Goal–Driven Requirements Engineering. IEEE Transaction on Software Engineering (2000); Special Issue on Exception Handling
Yu, E., Mylopoulos, J.: Understanding ”why” in Software Process Modelling, Analysis and Design. In: Proc. 16th ICSE: Intl. Conf. on Software Engineering, Sorrento, Italy. IEEE Press, Los Alamitos (1994)
Zave, P.: Classification of Research Efforts in Requirements Engineering. ACM Computing Surveys 29(4), 315–321 (1997)
Zave, P., Jackson, M.A.: Techniques for partial specification and specification of switching systems. In: Prehn, S., Toetenel, H. (eds.) VDM 1991. LNCS, vol. 551, pp. 511–525. Springer, Heidelberg (1991)
Zave, P., Jackson, M.A.: Requirements for telecommunications services: an attack on complexity. In: Proceedings of the Third IEEE International Symposium on Requirements Engineering (Cat. No.97TB100086), pp. 106–117. IEEE Comput. Soc. Press, Los Alamitos (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bjørner, D. (2004). Towards Posit & Prove Calculi for Requirements Engineering and Software Design. In: Owe, O., Krogdahl, S., Lyche, T. (eds) From Object-Orientation to Formal Methods. Lecture Notes in Computer Science, vol 2635. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39993-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-39993-3_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21366-6
Online ISBN: 978-3-540-39993-3
eBook Packages: Springer Book Archive