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.
Similar content being viewed by others
References
W.W. Agresti, “New paradigms for software development,”IEEE Comput. Soc. Press, Washington, 1986.
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.
G. Birtwistle, O. Bahl, B. Myhrtag, and K. Nygaard,Simula Begin, Auerback Press: Philadelphia, 1973.
G. Booch,Software Engineering with Ada, Benjamin Cummings: Menlo Park, CA, 1983.
G. Booch, “Object-oriented development,”IEEE Trans. Software Eng., vol. SE-12, no. 2, pp. 211–221, February 1986.
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.
R.J. Brachman and H.J. Levesque (eds.),Readings in Knowledge Representation, Morgan Kaufmann: Los Altos, CA, 1985.
D.C. Brown, “Expert system for design refinement with selection and redesign,” Ph.D. dissertation, Ohio State University, 1984.
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.
L. Cardelli and P. Wegner, “On understanding types, data abstraction, and polymorphism,”ACM Computing Surveys, vol. 17, no. 4, pp. 471–522, 1985.
W.F. Clocksin and C.S. Mellish,Programming in Prolog, Springer-Verlag: New York, 1984.
P. Coad and E. Yourdon,Object-Oriented Analysis, Yourdon Press Computing Series, Prentice Hall: Englewood Cliffs, NJ, 1989.
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.
U.S. Department of Defense,Reference Manual for The Ada Programming Language, ANSI/MIL-STD-11815A-1983.
M.S. Feather, “Constructing specifications by parallel elaborations,”IEEE Trans. Software Eng., vol. 15, no. 2, pp. 198–208, February 1989.
R. Fikes and T. Kehler, “The role of frame-based representation in reasoning,”Comm. ACM, Vol. 28, No. 9 pp. 904–920, September 1985.
N. Gehani,Ada: An Advanced Introduction, Prentice Hall: Englewood Cliffs, NJ, 1983.
A. Goldberg and D. Robson,SMALLTALK-80: The Language and its Implementation, Addison-Wesley: Reading, MA, 1983.
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.
R. Kowalski,Logic for Problem Solving, North-Holland: New York, 1979.
R. Kowalski, “Software engineering and knowledge engineering in new generalization computing,”Future Generation Computer Systems, pp. 39–50, January 1984.
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.
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.
B. Liskov and J. Guttag,Abstraction and Specification in Program Development, The MIT Press: Cambridge, MA, 1986.
B. Meyer, “Genericity versus inheritance,”Proc. ACM OOPSLA '86, Portland, Oregon SIGPLAN Notices, Vol. 21, No. 11 September 1986, pp. 391–405.
M. Minsky, ldA framework for representing knowledge,” inThe Psychology of Computer Vision, ed. P.H. Winston, New York: McGraw-Hill, 1975.
E.J.M. Morgado, “Semantic networks as abstract data types,” Ph.D. dissertation, State University of New York at Buffalo, 1986.
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.
NASA,General Object-Oriented Software Development, Goddard Space Flight Center, SEL-86-002, Greenbelt, MD, 1986.
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.
C. Rich and R.C. Waters, eds.,Readings in Artificial Intelligence and Software Engineering, Morgan Kaufmann: Los Altos, CA, 1985.
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.
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.
R. Sincover and R. Wiener, “Modular software construction and object-oriented design using Ada,”J. Pascal, Ada & Modular-2, pp. 30–36, March 1984.
A. Snyder, “Encapsulation and inheritance in object-oriented programming languages,”Proc. ACM OOPSLA '86, SIGPLAN Notices, vol. 21, no. 11, 1986, pp. 38–45.
D. Touretzky,The Mathematics of Inheritance Systems, Morgan Kaufmann: Los Altos, CA, 1986.
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.
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.
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.
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).
J.J.-P. Tsai, and T. Weigert, “HCLIE: A logic-based requirements language for new software engineering paradigms,”Software Engineering Journal, July 1991.
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.
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.
D. E. Webster, “Mapping the design information representation terrian,”IEEE Comput., pp. 8–23, December 1988.
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.
Author information
Authors and Affiliations
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02426922