Skip to main content
Log in

A Knowledge-Based Software Engineering Environment for reusable software requirements and architectures

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

This paper describes a prototype Knowledge-Based Software Engineering Environment used to demonstrate the concepts of reuse of software requirements and software architectures. The prototype environment, which is application-domain independent, is used to support the development of domain models and to generate target system specifications from them. The prototype environment consists of an integrated set of commercial-off-the-shelf software tools and custom developed software tools.

The concept of reuse is prevalent at several levels of the domain modeling method and prototype environment. The environment itself is domain-independent thereby supporting the specification of diverse application domain models. The domain modeling method specifies a family of systems rather than a single system; features characterize the variations in functional requirements supported by the family and individual family members are specified by the features they are to support. The knowledge-based approach to target system generation provides the rules for generating target system specifications from the domain model; target system specifications, themselves, may be stored in an object repository for subsequent retrieval and reuse.

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

  • Batory, D. 1989. The genesis database system compiler: A result of domain modeling. In Proc. Workshop on Domain Modeling for Software Engineering, OOPSLA'89, New Orleans.

  • Batory, D. and O'Malley, S. 1992. The design and implementation of hierarchical software with reusable components. ACM Transactions on Software Engineering Methodology, 1(4):355–398.

    Google Scholar 

  • Biggerstaff, T. and Richter, C. 1987. Reusability framework, assessment, and directions. IEEE Software.

  • Blum, B. 1987. The tedium development environment for information systems. IEEE Software.

  • Boehm, B. 1988. A spiral model of software development and enhancement. IEEE Computer.

  • Boehm, B. and Belz, F. 1989. Experiences with the spiral model as a process model generator. In Proc. 5th International Software Process Workshop.

  • Bosch, C., Gomaa, H., and Kerschberg, L. 1995. Design and construction of a software engineering environment: Experiences with Eiffel. IEEE Readings in Object-Oriented Systems and Applications, IEEE Computer Society Press.

  • Gomaa, H., Fairley, R., and Kerschberg, L. 1989. Towards an evolutionary domain life cycle model. In Proc. Workshop on Domain Modeling for Software Engineering, OOPSLA, New Orleans.

    Google Scholar 

  • Gomaa, H. and Kerschberg, L. 1991. An evolutionary domain life cycle model for domain modeling and target system generation. In Proc. Workshop on Domain Modeling for Software Engineering, International Conference on Software Engineering, Austin.

  • Gomaa, H. 1992a. An object-oriented domain analysis and modeling method for software reuse. In Proc. Hawaii International Conference on System Sciences, Hawaii.

  • Gomaa, H., Kerschberg, L., and Sugumaran, V. 1992b. A knowledge-based approach for generating target system specifications from a domain model. In Proc. IFIP World Computer Congress, Madrid, Spain.

  • Gomaa, H., Kerschberg, L., and Sugumaran, V. 1992c. Knowledge-based approach to domain modeling: Application to NASA's payload operations control centers. Telematics and Informatics, 9(3/4):281–296.

    Google Scholar 

  • Gomaa, H. 1993a. A reuse-oriented approach for structuring and configuring distributed applications. Software Engineering Journal, pp. 61–71.

  • Gomaa, H. 1993b. Software Design Methods for Concurrent and Real-Time Systems. Addison Wesley.

  • Gomaa, H. 1994. Configuration of distributed heterogeneous information systems. In Proc. Second International Workshop on Configurable Distributed Systems.

  • Gomaa, H. 1995a. Reusable software requirements and architectures for families of systems. Journal of Systems and Software.

  • Gomaa, H. and Kerschberg, L. 1995b. Domain modeling for software reuse and evolution. In Proc. IEEE Computer Assisted Software Engineering Workshop (CASE 95), Toronto.

  • Jackson, M. 1983. System Development. Prentice Hall.

  • Kang, K.C. 1990. Feature-oriented domain analysis. Technical Report No. CMU/SEI-90-TR-21, Software Engineering Institute.

  • Kramer, J., Magee, J., Sloman, M., and Dulay, N. 1992. Configuring object-based distributed programs in REX. Software Engineering Journal.

  • Lubars, M.D. 1989. Domain analysis for multiple target systems. In Proc. Workshop on Domain Modeling for Software Engineering, OOPSLA'89, New Orleans.

  • Lyndon B. 1989. Artificial intelligence section. CLIPS Reference Manual. Johnson Space Center.

  • Magee, J., Dulay, N., and Kramer, J. 1994. A constructive development environment for parallel and distributed programs. Second International Workshop on Configurable Distributed Systems, Pittsburgh, PA.

  • Meyer, B. 1987. Reusability: The case for object-oriented design. IEEE Software.

  • Mylopoulos, J., Borgida, A., Jarke, M., and Koubarikis, M. 1990. Telos: Representing knowledge about information systems. ACM Transactions on Information Systems, 8(4):325–362.

    Google Scholar 

  • Parnas, D. 1979. Designing software for ease of extension and contraction. IEEE Transactions on Software Engineering.

  • Prieto-Diaz, R. and Freeman, P. 1987. Classifying software for reusability. IEEE Software.

  • Pyster, A. 1990. The synthesis process for software development. In System and Software Requirements Engineering, R. Thayer and M. Dorfman (Eds.), IEEE Computer Society Press.

  • Rumbaugh, J. et al. 1991. Object-oriented modeling and design, Prentice Hall.

  • Shepherd, A. and Kerschberg, L. 1986. Constraint management in expert database systems. Expert Database Systems: Proceedings from the First International Workshop, L. Kerschberg (Ed.), The Benjamin/Cummings Publishing Co., Menlo Park, CA.

    Google Scholar 

  • Shlaer, S. and Mellor, S. 1988. Object Oriented Systems Analysis. Prentice Hall.

  • Szczur, M.R. 1990. A user interface development tool for space science systems. AIAA/NASA Symposium on Space Information Systems.

  • Wegner, P. 1990. Concepts and paradigms of object-oriented programming. OOPS Messenger (ACM SIGPLAN), 1(1).

  • Yoon, Pil, J., and Kerschberg, L. 1992. A framework for constraint management in object-oriented databases. Paper presented at the International Conference on Information and Knowledge Management, Baltimore, MD.

  • Yourdon, E. 1989. Modern Structured Analysis. Prentice Hall.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gomaa, H., Kerschberg, L., Sugumaran, V. et al. A Knowledge-Based Software Engineering Environment for reusable software requirements and architectures. Autom Software Eng 3, 285–307 (1996). https://doi.org/10.1007/BF00132570

Download citation

  • Issue Date:

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

Keywords

Navigation