Skip to main content

A Two-Layered Approach to Support Systematic Software Development

  • Conference paper
Requirements Targeting Software and Systems Engineering (RTSE 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1526))

Abstract

We present two concepts that help software engineers to perform different software development activities systematically. The concept of an agenda serves to represent technical process knowledge. An agenda consists of a list of steps to be performed when developing a software artifact. Each activity may have associated a schematic expression of the language in which the artifact is expressed and validation conditions that help detect errors. Agendas provide methodological support to their users, make development knowledge explicit and thus comprehensible, and they contribute to a standardization of software development activities and products.

The concept of a strategy is a formalization of agendas. Strategies model the development of a software artifact as a problem solving process. They form the basis for machine-supported development processes. They come with a generic system architecture that serves as a template for the implementation of support tools for strategy-based problem solving.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 74.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Astesiano, E., Reggio, G.: Formalism and Method. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 93–114. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  2. Broy, M., Jähnichen, S. (eds.): KORSO 1995. LNCS, vol. 1009. Springer, Heidelberg (1995)

    Google Scholar 

  3. Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., Jeremaes, P.: Object-Oriented Development: The Fusion Method. Prentice Hall, Englewood Criffs (1994)

    Google Scholar 

  4. Chernack, Y.: A statistical approach to the inspection checklist formal synthesis and improvement. IEEE Transactions on Software Engineering 22(12), 866–874 (1996)

    Article  Google Scholar 

  5. Davies, J.: Specification and Proof in Real-Time CSP. Cambridge University Press, Cambridge (1993)

    Book  MATH  Google Scholar 

  6. Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.): Software Process Modeling and Technology. Wiley, Chichester (1994)

    Google Scholar 

  7. Fuggetta, A., Wolf, A. (eds.): Software Process. Trends in Software 4. Wiley, Chichester (1996)

    Google Scholar 

  8. Grieskamp, W., Heisel, M., Dörr, H.: Specifying safety-critical embedded systems with Statecharts and Z: An agenda for cyclic software components. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 88–106. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns Elements of Reusable Object-Oriented Software. Addison Wesley, Reading (1995)

    Google Scholar 

  10. Garg, P., Jazayeri, M.: Process-centered software engineering environments: A grand tour. In: Fuggetta, A., Wolf, A. (eds.) Software Process, Trends in Software, vol. 4, ch. 2, pp. 25–52. Wiley, Chichester (1996)

    Google Scholar 

  11. Gries, D.: The Science of Programming. Springer, Heidelberg (1981)

    MATH  Google Scholar 

  12. Heisel, M.: Methodology and Machine Support for the Application of Formal Techniques in Software Engineering. Habilitation Thesis, TU Berlin (1997)

    Google Scholar 

  13. Heisel, M., Lévy, N.: Using LOTOS patterns to characterize architectural styles. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 818–832. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  14. Heisel, M., Sühl, C.: Formal specification of safety-critical software with Z and real-time CSP. In: Schoitsch, E. (ed.) Proceedings 15th International Conference on Computer Safety, Reliability and Security (SAFECOMP), pp. 31–45. Springer, London (1996)

    Google Scholar 

  15. Heisel, M., Sühl, C.: Methodological support for formally specifying safety-critical software. In: Daniel, P. (ed.) Proceedings 16th International Conference on Computer Safety, Reliability and Security (SAFECOMP), pp. 295–308. Springer, London (1997)

    Google Scholar 

  16. Heisel, M., Souquières, J.: Methodological support for requirements elicitation and formal specification. In: Proc. 9th International Workshop on Software Specification and Design, pp. 153–155. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  17. Heisel, M., Santen, T., Zimmermann, D.: Tool support for formal software development: A generic architecture. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989, pp. 272–293. Springer, Heidelberg (1995)

    Google Scholar 

  18. Humphrey, W.S.: A Discipline for Software Engineering. Addison-Wesley, London (1995)

    Google Scholar 

  19. Kanellakis, P.C.: Elements of relational database theory. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, ch. 17, pp. 1073–1156. Elsevier, Amsterdam (1990)

    Google Scholar 

  20. Milner, R.: Logic for computable functions: description of a machine implementation. SIGPLAN Notices 7, 1–6 (1972)

    Article  Google Scholar 

  21. Osterweil, L.: Software processes are software too. In: 9th International Conference on Software Engineering, pp. 2–13. IEEE Computer Society Press, Los Alamitos (1987)

    Google Scholar 

  22. Reggio, G.: A method to capture formal requirements: the Invoice case study. In: Allemand, M., Attiogbe, C., Habrias, H. (eds.) Proceedings Workshop on Comparing Specification Techniques. IRIN – Université de Nantes (1998)

    Google Scholar 

  23. Rich, C., Waters, R.C.: The programmer’s apprentice: A research overview. IEEE Computer, 10–25 (November 1988)

    Google Scholar 

  24. Shaw, M., Garlan, D.: Software Architecture. IEEE Computer Society Press, Los Alamitos (1996)

    Google Scholar 

  25. Souquières, J., Lévy, N.: Description of specification developments. In: Proc. of Requirements Engineering 1993, pp. 216–223 (1993)

    Google Scholar 

  26. Smith, D.R.: KIDS: A semi-automatic program development system. IEEE Transactions on Software Engineering 16(9), 1024–1043 (1990)

    Article  Google Scholar 

  27. Sutton, S., Osterweil, L.: The design of a next-generation process language. In: Jazayeri, M., Schauer, H. (eds.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301, pp. 142–158. Springer, Heidelberg (1997)

    Google Scholar 

  28. Spivey, J.M.: The Z Notation - A Reference Manual, 2nd edn. Prentice Hall, Englewood Cliffs (1992)

    Google Scholar 

  29. Wile, D.S.: Program developments: Formal explanations of implementations. Communications of the ACM 26(11), 902–911 (1983)

    Article  Google Scholar 

  30. Winter, K., Santen, T., Heisel, M.: An agenda for event-driven software components with complex data models. In: Ehren-berger, W. (ed.) SAFECOMP 1998. LNCS, vol. 1516, p. 16. Springer, Heidelberg (1998) (to appear)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Heisel, M., Jähnichen, S. (1998). A Two-Layered Approach to Support Systematic Software Development. In: Broy, M., Rumpe, B. (eds) Requirements Targeting Software and Systems Engineering. RTSE 1997. Lecture Notes in Computer Science, vol 1526. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10692867_8

Download citation

  • DOI: https://doi.org/10.1007/10692867_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65309-7

  • Online ISBN: 978-3-540-49439-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics