Skip to main content
Log in

A knowledge-based system for Ada® software development

  • Published:
Journal of Systems Integration

Abstract

In this article, we present a knowledge-based system using the concept of knowledge representation and data abstraction to support Ada software development. This article uses logic-based specification with object-oriented features to facilitate Ada software development. The Ada source code will be obtained through knowledge-based transformation. This system includes a frame-and-rule-oriented requirements language (FRORL), a predominance/particular methodology, and a knowledge base. FRORL uses frame representations for object-oriented modeling, applies production rules for specifying actions and constraints of real world domains, and provides a set of abstract mechanisms for the practical description of abstract relations. The predominance/particular methodology is used to support Ada software developers in performing object-oriented modeling of application domains. The knowledge base provides rules for specification checking, prototype validation, and transformation of specifications into Ada code. A real problem is given to illustrate the system.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

  1. W.W. Agresti, “New paradigms for software development,”IEEE Comput. Soc. Press, Washington, 1986.

    Google Scholar 

  2. R. Balzer and N.M. Goldman, “Principles of good software specification and their implementations for specification languages,”Proc. Specification of Reliable Software Conf., Cambridge, MA pp. 58–67, 1979.

  3. G. Birtwistle, O. Bahl, B. Myhrtag, and K. Nygaard,Simula Begin, Auerback Press: Philadelphia, 1973.

    Google Scholar 

  4. G. Booch,Software Engineering with Ada, Benjamin Cummings: Menlo Park, CA, 1983.

    Google Scholar 

  5. G. Booch, “Object-oriented development,”IEEE Trans. Software Eng., vol. SE-12, no. 2, pp. 211–221, February 1986.

    Google Scholar 

  6. A. Borgida, J. Mylopoulos, and H. Wong, “Generalization/specification as a basis for software specification,” inConceptual Modelling, eds. M. Brodie, J. Mylopoulos, and J. Schmidt, Springer-Verlag: New York, 1984.

    Google Scholar 

  7. R.J. Brachman and H.J. Levesque (eds.),Readings in Knowledge Representation, Morgan Kaufmann: Los Altos, CA, 1985.

    Google Scholar 

  8. D.C. Brown, “Expert system for design refinement with selection and redesign,” Ph.D. dissertation, Ohio State University, 1984.

  9. L. Brownston, R. Farrell, E. Kant, and N. Martin,Programming Expert Systems in OPS5—An Introduction to Rule-Based Programming, Addison-Wesley: Reading, MA, 1985.

    Google Scholar 

  10. L. Cardelli and P. Wegner, “On understanding types, data abstraction, and polymorphism,”ACM Computing Surveys, vol. 17, no. 4, pp. 471–522, 1985.

    Article  Google Scholar 

  11. W.F. Clocksin and C.S. Mellish,Programming in Prolog, Springer-Verlag: New York, 1984.

    Google Scholar 

  12. P. Coad and E. Yourdon,Object-Oriented Analysis, Yourdon Press Computing Series, Prentice Hall: Englewood Cliffs, NJ, 1989.

    Google Scholar 

  13. B. Dasarathy, “Timing constraints of real-time systems: Constructs for expressing them, methods of validating them,”IEEE Trans. Software Eng., vol. SE-11, no. 1, pp. 80–86, January 1985.

    Google Scholar 

  14. U.S. Department of Defense,Reference Manual for The Ada Programming Language, ANSI/MIL-STD-11815A-1983.

  15. M.S. Feather, “Constructing specifications by parallel elaborations,”IEEE Trans. Software Eng., vol. 15, no. 2, pp. 198–208, February 1989.

    Article  Google Scholar 

  16. R. Fikes and T. Kehler, “The role of frame-based representation in reasoning,”Comm. ACM, Vol. 28, No. 9 pp. 904–920, September 1985.

    Article  Google Scholar 

  17. N. Gehani,Ada: An Advanced Introduction, Prentice Hall: Englewood Cliffs, NJ, 1983.

    Google Scholar 

  18. A. Goldberg and D. Robson,SMALLTALK-80: The Language and its Implementation, Addison-Wesley: Reading, MA, 1983.

    Google Scholar 

  19. S.J. Greenspan, J. Mylopoulos, and A. Borgida, “Capturing more world knowledge in the requirements specification,”Proc. 6th Int'l Conf on Software Eng., Tokyo, Japan 1982, pp. 225–234.

  20. R. Kowalski,Logic for Problem Solving, North-Holland: New York, 1979.

    Google Scholar 

  21. R. Kowalski, “Software engineering and knowledge engineering in new generalization computing,”Future Generation Computer Systems, pp. 39–50, January 1984.

  22. R. Kowalski, “The relation between logic programming and logic specification,” inMathematical Logic and Programming Languages, eds. C.A.R. Hoare and J.C. Shepherdson, Prentice Hall: Englewood Cliffs, NJ, 1985, pp. 11–24.

    Google Scholar 

  23. K.J. Lieberherr an A.J. Riel, “Contribution to teaching object-oriented design and programming,”Proc. ACM OOPSPLA '89, New Orleans, Louisiana SIGPLAN Notices vol. 24, no. 10, 1989, pp. 11–22.

    Google Scholar 

  24. B. Liskov and J. Guttag,Abstraction and Specification in Program Development, The MIT Press: Cambridge, MA, 1986.

    Google Scholar 

  25. B. Meyer, “Genericity versus inheritance,”Proc. ACM OOPSLA '86, Portland, Oregon SIGPLAN Notices, Vol. 21, No. 11 September 1986, pp. 391–405.

    Article  Google Scholar 

  26. M. Minsky, ldA framework for representing knowledge,” inThe Psychology of Computer Vision, ed. P.H. Winston, New York: McGraw-Hill, 1975.

    Google Scholar 

  27. E.J.M. Morgado, “Semantic networks as abstract data types,” Ph.D. dissertation, State University of New York at Buffalo, 1986.

    Google Scholar 

  28. T. Murata, B. Shenker, and S.M. Shatz, “Detection of Ada static deadlocks using Petri net invariants,”IEEE Trans. Software Eng., vol. 15, no. 3, pp. 314–326, March 1989.

    Article  Google Scholar 

  29. NASA,General Object-Oriented Software Development, Goddard Space Flight Center, SEL-86-002, Greenbelt, MD, 1986.

  30. O. Nierstrasz, “A survey of object-oriented concepts,” inObject-Oriented Concepts, Databases, and Applications, eds. W. Kim and F.H. Lochovsky, ACM Press, Addison-Wesley: Reading, MA, 1989, pp. 3–21.

    Google Scholar 

  31. C. Rich and R.C. Waters, eds.,Readings in Artificial Intelligence and Software Engineering, Morgan Kaufmann: Los Altos, CA, 1985.

    Google Scholar 

  32. E. Schoen, R.G. Smith, and B.G. Buchanan, “Design of knowledge-based systesms with a knowledge-based assistant,”IEEE Trans. Software Eng., vol. 14, no. 12, pp. 1771–1791, December 1988.

    Article  Google Scholar 

  33. E. Seidewitz, “Object-oriented programming in Smalltalk and Ada,”Proc. ACM OOPSLA '87, Orland, FL SIGPLAN Notices, Vol. 22, No. 12 October 1987, pp. 202–2113.

    Article  Google Scholar 

  34. R. Sincover and R. Wiener, “Modular software construction and object-oriented design using Ada,”J. Pascal, Ada & Modular-2, pp. 30–36, March 1984.

  35. A. Snyder, “Encapsulation and inheritance in object-oriented programming languages,”Proc. ACM OOPSLA '86, SIGPLAN Notices, vol. 21, no. 11, 1986, pp. 38–45.

    Article  Google Scholar 

  36. D. Touretzky,The Mathematics of Inheritance Systems, Morgan Kaufmann: Los Altos, CA, 1986.

    Google Scholar 

  37. J.J.-P. Tsai, “A knowledge-based approach for software design,”IEEE J. on Selected Areas in Commun., vol. 6, no. 5, pp. 828–841, June 1988.

    Article  Google Scholar 

  38. J.J.P. Tsai, K.Y. Fang, H.Y. Chen, and Y.-D. Bi, “A noninterference monitoring and replay mechanism for real-time software testing and debugging,”IEEE Trans. Software Eng. vol. 16, no. 8, pp. 897–916, August 1990.

    Article  Google Scholar 

  39. J.J.-P. Tsai and A. Liu, “A knowledge-based system for rapid prototyping,”J. of Knowledge-Based Systems, vol. 2, no. 4, pp. 239–248, 1989.

    Article  Google Scholar 

  40. J.J.-P. Tsai and T Weigert, “An explication of reasoning in multiple inheritance systems through non-monotonic horn clause logic,”J. Inf. Sci., (In Press 1992).

  41. J.J.-P. Tsai, and T. Weigert, “HCLIE: A logic-based requirements language for new software engineering paradigms,”Software Engineering Journal, July 1991.

  42. J.J.-P. Tsai, T. Weigert, and M. Aoyama, “A declarative approach to software requirement specification language,”Proc. IEEE Computer Languages Conf., Miami, Florida, November 1988, pp. 414–421.

  43. R.C. Waters, “The programmer's apprentice: A session with KBEmacs,”IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1296–1320, November 1985.

    Google Scholar 

  44. D. E. Webster, “Mapping the design information representation terrian,”IEEE Comput., pp. 8–23, December 1988.

  45. P. Wegner, “On the unification of data and program abstraction in Ada,”Proc. 10th Annual ACM Symp. on Principles of Programming Languages, 1983, pp. 256–264.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Tsai, 0.J.P., Sheu, RY. A knowledge-based system for Ada® software development. Journal of Systems Integration 1, 163–194 (1991). https://doi.org/10.1007/BF02426922

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Key Words