Skip to main content
Log in

Software synthesis using generic architectures

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

We describe a framework for synthesizing software systems based on abstracting software system designs, problem descriptions, and the design process. The result of such an abstraction process is a generic architecture and the customization knowledge for customizing the architecture for instances of a problem class. The customization knowledge is used to assist a designer in customizing the architecture as opposed to completely automating the design of systems. We illustrate our approach using an implemented example of a generic tracking architecture which we have customized in two different domains. We describe how the designs produced using KASE compare to the original designs of the two systems, discuss how our work relates to other approaches to software design, and describe current work and plans for extending KASE to other application areas.

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

  • Aho, A. V., and Ullman, J. D. 1977.Principles of Compiler Design. Addison-Wesley Publishing Company.

  • Allen, R., and Garlan, D. 1992. A formal approach to software architectures. InIFIP World Computer Congress 92, Madrid, Spain.

  • Barstow, D. 1983. A perspective on automatic programming. In8th International Joint Conference on Artificial Intelligence, pp. 1170–1179.

  • Bhansali, S. 1992. Generic software architecture based redesign. InAAAI Spring Symposium on Computational Considerations in Supporting Incremental Modification and Reuse, Stanford, CA, pp. 53–58.

  • Bhansali, S. 1993. Architecture-driven reuse of code in KASE. InFifth International Conference on Software Engineering and Knowledge Engineering, Knowledge Systems Institute, San Francisco Bay.

    Google Scholar 

  • Bhansali, S., and Nii, H. P. 1992a. KASE: An integrated environment for software design. In2nd International Conference on Artificial Intelligence in Design, Pittsburgh, PA, pp. 371–389.

  • Bhansali, S., and Nii, H. P. 1992b. Software design by reusing architectures. In7th Knowledge-Based Software Engineering Conference, pp. 100–109. McLean, VA: IEEE Computer Society Press.

    Google Scholar 

  • Brown, H. D., Schoen, E., and Delagi, B. A. 1986.An Experiment in Knowledge-Based Signal Understanding Using Parallel Architectures. No. STAN-CS-86-1136, Department of Computer Science, Stanford University.

  • Conklin, J., and Begeman, M. 1989. gIBIS: A tool for all reasons.Journal of the American Society for Information Science, 40:200–213.

    Google Scholar 

  • Feather, M., Fickas, S., and Helm, B. R. 1991. Composite system design: The good news and the bad news. In6th Annual Knowledge-based Software Engineering Conference, pp. 13–27.

  • Garg, P., and Bhansali, S. 1992. Process programming by hindsight. In14th International Conference on Software Engineering, IEEE Computer Society, Melbourne, Australia, pp. 280–293.

    Google Scholar 

  • Goguen, J. A. 1989. Principles of parameterized programming. InSoftware Reusability, edited by T. J. Biggerstaff and A. Perlis. Addison Wesley.

  • Graves, H. 1991. Lockheed Environment for Automatic Programming. In6th Annual Knowledge-Based Software Engineering Conference, pp. 78–89. Syracuse, NY.

  • Gruber, T. R. 1991. The role of common ontology in achieving sharable, reusable knowledge bases. InPrinciples of Knowledge Representation and Reasoning: Proceedings of the 2nd International Conference, edited by J. A. Allen, R. Fikes, and E. Sandewall. San Mateo, CA: Morgan Kaufmann.

    Google Scholar 

  • Guindon, R. 1990. Designing the design process: Exploiting opportunistic thoughts.Human-Computer Interaction, 5:305–344.

    Google Scholar 

  • Guindon, R. 1992. Requirements and design of Design Vision, an object-oriented graphical interface to an intelligent software design assistant. InACM Proceedings of CHI'92. Monterey, CA.

  • Jagannathan, V., Dodhiawala, R., and Baum, L. S. (eds.). 1989.Blackboard Architectures and Applications. Boston: Academic Press.

    Google Scholar 

  • Kant, E., Daube, F., MacGregor, W., and Wald, J. 1991. Scientific programming by automated synthesis. InAutomating Software Design, edited by M. R. Lowry and R. D. McCartney, pp. 169–206. AAAI Press/The MIT Press.

  • Lane, T. G. 1990.A Design Space and Design Rules for User Interface Software Architectures. No. CMU-CS-90-176. Carnegie Mellon University.

  • Lowry, M. R., and McCartney, R. D. (eds.). 1991.Automating Software Design. AAAI Press/The MIT Press.

  • Mark, W., Tyler, S., McGuire, J., and Schlossberg 1992. Commitment based software development. InIEEE Transactions on Software Engineering, 18(10):870–885.

    Google Scholar 

  • Milner, R., Tofte, M., and Harper, R. 1990.The Definition of Standard ML. MIT Press.

  • Nakano, G., and Bhansali, S. 1993a. Flexible control mechanism in a consistency maintenance system. InIEEE Pacific Rim Conference on Communications, Computers, and Signal Processing, Victoria, British Columbia, Canada.

  • Nakano, G., and Bhansali, S. 1993b. A knowledge-based approach for consistency checking mechanism in software design. InProceedings of the 6th Florida AI Research Symposium, pp. 157–165. Fort Lauderdale, FL.

  • Neighbors, J. 1984. The DRACO approach to constructing software from reusable components.IEEE Transactions on Software Engineering, 10(9):564–573.

    Google Scholar 

  • Nii, H. P., and Aiello, N. 1979. AGE (Attempt to Generalize): A knowledge-based program for building knowledge-based programs. In6th International Joint Conference on Artificial Intelligence, pp. 645–655.

  • Nii, H. P., Feigenbaum, E. A., Anton, J. J., and Rockmore, A. J. 1982. Signal-to-symbol transformation: HASP/SIAP case study.AI Magazine, Spring: 23–36.

  • Nii, P. 1989. Blackboard systems. InHandbook of Artificial Intelligence, edited by A. Barr, P. Cohen, and E. Feigenbaum, pp. 1–82. New York, NY: Addison-Wesley.

    Google Scholar 

  • Nonnenmann, U., and Eddy, J. K. 1992. KITSS—A functional software testing system using a hybrid domain model. InProceedings of the 8th Conference on Artificial Intelligence for Applications. Monterrey, CA.

  • Prieto-Diaz, R., and Neighbors, J. M. 1986. Module interconnection languages.Journal of Systems and Software, 6(4):307–334.

    Google Scholar 

  • Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. 1991.Object-Oriented Modeling and Design. Englewood Cliffs, NJ: Prentice Hall.

    Google Scholar 

  • Setliff, D., and Rutenbar, R. 1992. Knowledge representation and reasoning in a software synthesis architecture.IEEE Transactions on Software Engineering, 18(6).

  • Shaw, M. 1989. Large scale systems require higher-level abstractions. InFifth International Workshop on Software Specifications and Design, pp. 143–146. IEEE Computer Society.

  • Shaw, M. 1991. Heterogeneous design idioms for software architecture. In6th International Workshop on Software Specification and Design, pp. 158–165. Como, Italy.

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

    Google Scholar 

  • van Melle, W. 1980.A Domain Independent System that Aids in Constructing Consultation Programs. Ph.D., Computer Science Department, Stanford University.

  • Waters, R. C. 1985. The programmer's apprentice: A session with KBEmacs.IEEE Transactions on Software Engineering, 11(11):1296–1320.

    Google Scholar 

  • Workshop, D. 1990.Proceedings of the Workshop on Domain-Specific Software Architectures. Software Engineering Institute.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bhansali, S. Software synthesis using generic architectures. Autom Software Eng 1, 239–279 (1994). https://doi.org/10.1007/BF00871705

Download citation

  • Issue Date:

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

Keywords

Navigation