This Article 
 Bibliographic References 
 Add to: 
A Hybrid Knowledge Representation as a Basis of Requirement Specification and Specification Analysis
December 1992 (vol. 18 no. 12)
pp. 1076-1100

A formal requirement specification language, the frame-and-rule oriented requirement specification language FRORL, developed to facilitate the specification, analysis, and development of a software system is presented. The surface syntax of FRORL is based on the concepts of frames and production rules that may bear hierarchical relationships to each other, relying on multiple inheritance. To provide thorough semantic foundations, FRORL is based on a nonmonotonic variant of Horn-clause logic. Using the machinery of Horn-clause logic, various properties of a FRORL specification can be analyzed. Among the external properties of FRORL are formality, object-orientedness, and a wide spectrum of life cycle phases. Intrinsic properties are modularity, provision for incremental development, inheritance, refinement, reusability, prototyping, and executability. A software development environment based on FRORL has been implemented using the Clanguage on a Sun workstation.

[1] K. R. Apt and M. H. van Emden, "Contributions to the theory of logic programming,"JACM, vol. 29, pp. 841-862, 1982.
[2] R. Balzer and N. Goldman, "Principles of good software specification and their implementations for specification languages," inProc. Specifications of Reliable Software Conf., Long Beach, CA, Apr. 1979, pp. 58-67.
[3] R. Balzer, "Transformational implementation: An example,"IEEE Trans. Software Eng., vol. SE-7, pp. 3-13, Jan. 1981.
[4] G. Booth,Object-Oriented Design with Applications. Redwood City, CA: Benjamin Cummings, 1991.
[5] A. Borgida, J. Mylopoulos, and H. Wong, "Generalization/specification as a basis for software specification,"On Conceptual Modeling, M. Brodie, J. Mylpoulos, J. Schmidt, Eds. New York: Springer Verlag, 1984.
[6] A. Borgida, S. Greenspan, and J. Mylopoulos, "Knowledge representation as the basis for requirements specifications,"IEEE Computer, pp. 82-90, Apr. 1985.
[7] R. Brachman and H. Levesque,Readings in Knowledge Representation. Morgan Kaufmann, 1985.
[8] K. L. Clark, "Negation as failure,"Logic and Databases, H. Gallairc and J. Minker, Eds. New York: Plenum Press, 1978, pp. 293-322.
[9] W. F. Clocksin and C. S. Mellish,Programming in Prolog. New York: Springer-Verlag, 1984.
[10] P. Coad and E. Yourdon, "Object-oriented analysis," Yourdon Press Computing Series, Englewood Cliffs, NJ: Prentice Hall, 1989.
[11] B. Dasarathy, "Timing constraints of real-time systems: Constructs for expressing them, methods of validating them,"IEEE Trans. Software Eng., vol. SE-11, pp. 80-86, Jan. 1985.
[12] E. Dubois, J. Hagelstein, E. Lahou, F. Ponsaert, and A. Rifaut, "A knowledge representation language for requirements engineering,"Proc. IEEE, vol. 74, pp. 1431-1444, 1986.
[13] M. S. Feather, "Constructing specifications by parallel elaboration,"IEEE Trans. Software Eng., vol.15, pp. 198-208, Feb. 1989.
[14] S. Fickas, "Automating the analysis process: An example," inProc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 58-67.
[15] M.R. Genesereth and N.J. Nilsson,Logical Foundations of Artificial Intelligence, Morgan Kaufmann, San Mateo, Calif., 1987.
[16] M. L. Ginsberg,Readings in Nonmonotonic Reasoning, Palo Alto, CA: Morgan Kaufmann, 1987.
[17] J. A. Goguen and J. Meseguer, "EQLOG-Equality, types, and generic modules for logic programming,"J. Logic Prog., 1, 2, pp. 179-209, 1984.
[18] J. A. Goguen and J. Meseguer, "Unifying functional, object-oriented and relational programming with logical semantics," inResearch Directions in Object-Oriented Programming, B. Shriver and P. Wegner, Eds. Cambridge, MA: MIT Press, 1987, pp. 417-477.
[19] S. J. Greenspan, A. Borgida, and J. Mylopoulos, "A requirements modeling language and its logic,"Inform. Syst., vol. 11, no. 1, pp. 9-23, 1986.
[20] J. V. Guttag, J. J. Horning, and J. M. Wing, "The Larch family of specification languages,"IEEE Software, vol. 2, pp. 24-36, Sept. 1985.
[21] N. L. Kerth, "The use of multiple specification methodologies on a single system," inProc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 183-189.
[22] W. Kim and F. H. Lochovsky,Object-Oriented Concepts, Databases and Applications, New York: ACM Press, 1989.
[23] R. Kowalski,Logic for Problem Solving. New York: North-Holland, 1979.
[24] R. Kowalski, "Software engineering and knowledge engineering in new generalization computing,"Future Generation Computer Systems, Jan. 1984, pp. 39-50.
[25] R. Kowalski, "The relation between logic programming and logic specification,"Mathematical Logic and Programming Languages, C. A. R. Hoare and J. C. Shepherdson, Eds. Englewood Cliffs, NJ: Prentice-Hall, 1985, pp. 1-24.
[26] J. L. Lassez and M. J. Maher, "Closure and fairness in the semantics of programming logic,"Theoretical Computer Science, vol. 29, pp. 167-184, 1984.
[27] S. Lee and S. Sluizer, "An executable language for modeling simple behavior,"IEEE Trans. Software Eng., vol. 17, pp. 527-543, June 1991.
[28] N. Levy, A. Piganiol, and J. Souquieres, "Specifying with SACSO," inProc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 236-241.
[29] J. W. Lloyd,Foundations of Logic Programming, New York: Springer, 1984.
[30] M. D. Lubars, "Schematic Techniques for High Level Support of Software Specification and Design,"Proc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 68-75.
[31] W. Lukaszewicz,Non-Monotonic Reasoning: Formalization of Commonsense Reasoning, New York: Ellis Horwood, 1990.
[32] T. Murata and D. Zhang, "A predicate-transition net model for parallel interpretation of logic programs,"IEEE Trans. Software Eng., vol. 14, pp. 481-497, Apr. 1988.
[33] T. Murata, "Petri nets: Properties, analysis, and applications,"Proc. IEEE, vol. 77, no. 4, pp. 541-580, Apr. 1989.
[34] M. Reinfrank, J. de Kleer, M. L. Ginsberg, and E. Sandewall,Non-Monotonic Reasoning, Proc. 2nd Intl. Wksp Grassau, Springer Lecture Notes in Art. Intell., 1989.
[35] H. B. Reubenstein and R. C. Waters, "The requirements apprentice: Automated assistance for requirements acquisition,"IEEE Trans. Software Eng., vol. 17, pp. 226-240, Mar. 1991.
[36] P. Rudnicki, "What should be proved and tested symbolically in formal specifications?," inProc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 190-195.
[37] M. Rueher, "From specification to design: An approach based on rapid prototyping," inProc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 126-133.
[38] G. Smolka and H. Aït-Kaci, "Inheritance hierarchies: Semantics and unification,"J. Symb. Comp., vol. 7, pp. 343-370, 1989.
[39] S. L. Squires, M. Branstad, and M. Zelkowitz,Special Issue on Rapid Prototyping Working Papers from the ACM SIGSOFT Rapid Prototyping Workshop, Columbia, MD, Apr. 1982.
[40] A. Tarski, "A lattice-theoretical fixpoint theorem and its applications,"Pacific J. Math., vol. 5, pp. 285-309, 1955.
[41] R. B. Terwilliger and R. H. Campbell, "PLEASE: Executable specifications for incremental software development,"J. Systems and Software, pp. 97-112, 1989.
[42] D. Touretzky,The Mathematics of Inheritance Systems, San Mateo, CA: Morgan Kaufmann, 1986.
[43] J. J.-P. Tsai and A. Liu, "A knowledge-based system for rapid prototyping,"J. Knowledge-Based Systems, vol. 2, pp. 239-248, Dec. 1989.
[44] J. J.-P Tsai, K. Y. Fang, and H. Y. Chen, "A noninvasive architecture to monitor real-time distributed systems,"IEEE Computer, vol. 23, PP. 11-23, Mar. 1990.
[45] 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, pp. 897-916, Aug. 1990.
[46] J. J.-P. Tsai and T. Weigert, "A knowledge-based approach for checking software information using a non-monotonic reasoning system,"J. Knowledge-Based Systems, vol. 3, pp. 131-138, Sept. 1990.
[47] J. J.-P. Tsai and T. Weigert, "ECLIE: A logic-based requirements language for new software engineering paradigms,"IEE Software Engineering J., vol. 6, pp. 137-151, July 1991.
[48] J. J.-P Tsai and R. Sheu, "A distributed cooperative agents architecture for software development," inProc. IJCAI Int. Workshop on Intelligent Cooperative Information Systems, IJCAI'91, Aug. 1991, pp. 51-76.
[49] D. E. Webster, "Mapping the design information representation terrain,"IEEE Computer, pp. 8-23, Dec. 1988.
[50] T. Weigert, "Non-monotonic logic as the basis for a requirement specification language," inProc. Workshop Automating Software Design, AAAI-89, 1989, pp. 191-206.
[51] T. Weigert, "A non-monotonic extension to Horn-clause logic," Logical Calculi for Reasoning in the Presence of Uncertainty, Ph.D. dissertation, Dept. of Philosophy, Univ. of Illinois, Chicago, 1990.
[52] J. M. Wing, "A study of 12 specifications for the library problem,"IEEE Software, pp. 66-76, July 1988.
[53] K. Yue, "What does it mean to say that a specification is complete?" inProc. Fourth Int. Workshop on Software Specification and Design, LOS Alamitos, CA, 1987, pp. 42-49.
[54] P. Zave, "The operational approach to requirements specification for embedded systems,"IEEE Trans. Software Eng., vol. SE-8, pp. 250-269, May 1982.

Index Terms:
nonmonotonic Horn clause logic; object oriented; hybrid knowledge representation; formal requirement specification language; frame-and-rule oriented requirement specification language; FRORL; surface syntax; frames; production rules; hierarchical relationships; multiple inheritance; inheritance; reusability; prototyping; executability; software development environment; C language; formal specification; Horn clauses; knowledge representation; logic programming languages; specification languages
J.J.P. Tsai, T. Weigert, H.-C. Jang, "A Hybrid Knowledge Representation as a Basis of Requirement Specification and Specification Analysis," IEEE Transactions on Software Engineering, vol. 18, no. 12, pp. 1076-1100, Dec. 1992, doi:10.1109/32.184762
Usage of this product signifies your acceptance of the Terms of Use.