Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A Hybrid Knowledge Representation as a Basis of Requirement Specification and Specification Analysis

Published: 01 December 1992 Publication History

Abstract

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.

References

[1]
{1} K. R. Apt and M. H. van Emden, "Contributions to the theory of logic programming," JACM, vol. 29, pp. 841-862, 1982.]]
[2]
{2} R. Balzer and N. Goldman, "Principles of good software specification and their implementations for specification languages," in Proc. Specifications of Reliable Software Conf., Long Beach, CA, Apr. 1979, pp. 58-67.]]
[3]
{3} R. Balzer, "Transformational implementation: An example," IEEE Trans. Software Eng., vol. SE-7, pp. 3-13, Jan. 1981.]]
[4]
{4} G. Booch, Object Oriented Design with Applications, Redwood City, CA: Benjamin/Cummings, 1991.]]
[5]
{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]
{6} A. Borgida, S. Greenspan, and J. Mylopoulos, "Knowledge representation as the basis for requirements specifications," IEEE Computer, pp. 82-90, Apr. 1985.]]
[7]
{7} R. J. Brachman and H. J. Levesque, Eds., Readings in Knowledge Representation, Los Altos, CA: Morgan-Kaufmann, 1985.]]
[8]
{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]
{9} W. F. Clocksin and C. S. Mellish, Programming in Prolog, New York: Springer Verlag, 1984.]]
[10]
{10} P. Coad and E. Yourdon, "Object-oriented analysis," Yourdon Press Computing Series, Englewood Cliffs, NJ: Prentice Hall, 1989.]]
[11]
{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]
{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]
{13} M. S. Feather, "Constructing specifications by parallel elaboration," IEEE Trans. Software Eng., vol.15, pp. 198-208, Feb. 1989.]]
[14]
{14} S. Fickas, "Automating the analysis process: An example," in Proc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 58-67.]]
[15]
{15} M. Genesereth and N. Nilsson, Logical Foundations of Artificial Intelligence , Palo Alto, CA: Morgan Kaufmann, 1988.]]
[16]
{16} M. L. Ginsberg, Readings in Nonmonotonic Reasoning, Palo Alto, CA: Morgan Kaufmann, 1987.]]
[17]
{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]
{18} J. A. Goguen and J. Meseguer, "Unifying functional, object-oriented and relational programming with logical semantics," in Research Directions in Object-Oriented Programming, B. Shriver and P. Wegner, Eds. Cambridge, MA: MIT Press, 1987, pp. 417-477.]]
[19]
{19} S. J. Greenspan, A. Borgida, and J. Mylopoulos, "A Requirements Modeling Language and its Logic," Information Systems, Vol. II, no. 1, 1986, pp. 9-23.]]
[20]
{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]
{21} N. L. Kerth, "The use of multiple specification methodologies on a single system," in Proc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 183-189.]]
[22]
{22} W. Kim and F. H. Lochovsky, Object-Oriented Concepts, Databases and Applications, New York: ACM Press, 1989.]]
[23]
{23} R. Kowalski, Logic for Problem Solving, New York: North-Holland, 1979.]]
[24]
{24} R. Kowalski, "Software engineering and knowledge engineering in new generalization computing," Future Generation Computer Systems, Jan. 1984, pp. 39-50.]]
[25]
{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]
{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]
{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]
{28} N. Levy, A. Piganiol, and J. Souquieres, "Specifying with SACSO," in Proc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 236-241.]]
[29]
{29} J. W. Lloyd, Foundations of Logic Programming, New York: Springer, 1984.]]
[30]
{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]
{31} W. Lukaszewicz, Non-Monotonic Reasoning: Formalization of Commonsense Reasoning, New York: Ellis Horwood, 1990.]]
[32]
{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]
{33} T. Murata, "Petri nets: Properties, analysis and applications," Proc. IEEE, vol. 77, pp. 541-580, Apr. 1989.]]
[34]
{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]
{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]
{36} P. Rudnicki, "What should be proved and tested symbolically in formal specifications?," in Proc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 190-195.]]
[37]
{37} M. Rueher, "From specification to design: An approach based on rapid prototyping," in Proc. Fourth Int. Workshop on Software Specification and Design, Los Alamitos, CA, 1987, pp. 126-133.]]
[38]
{38} G. Smolka and H. Aït-Kaci, "Inheritance hierarchies: Semantics and unification," J. Symb. Comp., vol. 7, pp. 343-370, 1989.]]
[39]
{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]
{40} A. Tarski, "A lattice-theoretical fixpoint theorem and its applications," Pacific J. Math., vol. 5, pp. 285-309, 1955.]]
[41]
{41} R. B. Terwilliger and R. H. Campbell, "PLEASE: Executable specifications for incremental software development," The Journal of Systems and Software, vol. 10, pp. 97-112, 1989.]]
[42]
{42} D. Touretzky, The Mathematics of Inheritance Systems, San Mateo, CA: Morgan Kaufmann, 1986.]]
[43]
{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]
{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]
{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]
{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]
{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]
{48} J. J.-P Tsai and R. Sheu, "A distributed cooperative agents architecture for software development," in Proc. IJCAI Int. Workshop on Intelligent Cooperative Information Systems, IJCAI'91, Aug. 1991, pp. 51-76.]]
[49]
{49} D. E. Webster, "Mapping the design information representation terrain," IEEE Computer, pp. 8-23, Dec. 1988.]]
[50]
{50} T. Weigert, "Non-monotonic logic as the basis for a requirement specification language," in Proc. Workshop Automating Software Design, AAAI-89, 1989, pp. 191-206.]]
[51]
{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]
{52} J. M. Wing, "A study of 12 specifications for the library problem," IEEE Software, pp. 66-76, July 1988.]]
[53]
{53} K. Yue, "What does it mean to say that a specification is complete?" in Proc. Fourth Int. Workshop on Software Specification and Design, LOS Alamitos, CA, 1987, pp. 42-49.]]
[54]
{54} P. Zave, "The operational approach to requirements specification for embedded systems," IEEE Trans. Software Eng., vol. SE-8, pp. 250-269, May 1982.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 18, Issue 12
Special issue on software maintenance
December 1992
78 pages
ISSN:0098-5589
Issue’s Table of Contents

Publisher

IEEE Press

Publication History

Published: 01 December 1992

Author Tags

  1. C language
  2. FRORL
  3. Horn clauses
  4. executability
  5. formal requirement specification language
  6. formal specification
  7. frame-and-rule oriented requirement specification language
  8. frames
  9. hierarchical relationships
  10. hybrid knowledge representation
  11. inheritance
  12. knowledge representation
  13. logic programming languages
  14. multiple inheritance
  15. nonmonotonic Horn clause logic
  16. object oriented
  17. production rules
  18. prototyping
  19. reusability
  20. software development environment
  21. specification languages
  22. surface syntax

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Natural language processing for hybrid knowledge representationInternational Journal of Advanced Intelligence Paradigms10.1504/IJAIP.2018.09078710:3(223-235)Online publication date: 1-Jan-2018
  • (2014)KBRESoftware Quality Journal10.1007/s11219-013-9202-622:1(87-119)Online publication date: 1-Mar-2014
  • (2010)The analysis and management of non-canonical requirement specifications through a belief integration gameKnowledge and Information Systems10.5555/3225646.322586122:1(27-64)Online publication date: 1-Jan-2010
  • (2009)Experience on knowledge-based software engineeringJournal of Systems and Software10.1016/j.jss.2009.03.01982:10(1578-1587)Online publication date: 1-Oct-2009
  • (2008)Model eco-systemsProceedings of the fifth Asia-Pacific conference on Conceptual Modelling - Volume 7910.5555/1379429.1379434(19-26)Online publication date: 1-Jan-2008
  • (2006)Pre-conceptual schemaProceedings of the 5th Mexican international conference on Artificial Intelligence10.1007/11925231_3(27-37)Online publication date: 13-Nov-2006
  • (2005)Reasoning about inconsistencies in natural language requirementsACM Transactions on Software Engineering and Methodology10.1145/1072997.107299914:3(277-330)Online publication date: 1-Jul-2005
  • (2000)Formal Tools for Managing Inconsistency and Change in REProceedings of the 10th International Workshop on Software Specification and Design10.5555/857171.857209Online publication date: 5-Nov-2000
  • (1999)Knowledge-Based Software ArchitecturesIEEE Transactions on Knowledge and Data Engineering10.1109/69.75562811:1(187-201)Online publication date: 1-Jan-1999
  • (1999)Nonmonotonic Logic ProgrammingIEEE Transactions on Knowledge and Data Engineering10.1109/69.75562311:1(143-152)Online publication date: 1-Jan-1999
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media