Formal specification languages in knowledge and software engineering

During the last few years, a number of formal specification languages for knowledge-based systems (KBS) have been developed. Characteristics of such systems are a complex knowledge base and an inference engine which uses this knowledge to solve a given problem. Languages for KBS have to cover both these aspects. They have to provide a means to specify a complex and large amount of knowledge and they have to provide a means to specify the dynamic reasoning behaviour of a KBS. Nevertheless, KBS are just a specific type of software system. Therefore, it seems quite natural to compare formal languages for specifying KBS with formal languages which were developed by the software community for specifying software systems. That is the subject of this paper.

[1]  Angi Voß,et al.  MODEL-K for prototyping and strategic reasoning at the knowledge level , 1993 .

[2]  Douglas T. Ross,et al.  Structured Analysis (SA): A Language for Communicating Ideas , 1977, IEEE Transactions on Software Engineering.

[3]  Acm Sigsoft,et al.  ICSE-16 : 16th International Conference on Software Engineering, May 16-21, 1994, Sorrento, Italy , 1994 .

[4]  Michael Kifer,et al.  Logical foundations of object-oriented and frame-based languages , 1995, JACM.

[5]  James E. Rumbaugh,et al.  Object-Oriented Modelling and Design , 1991 .

[6]  D. Gabbay,et al.  Handbook of Philosophical Logic, Volume II. Extensions of Classical Logic , 1986 .

[7]  Sandra Marcus,et al.  Automating Knowledge Acquisition for Expert Systems , 1988 .

[8]  G. P. Randell Translating Data Flow Diagrams into Z (and Vice Versa) , 1990 .

[9]  Pamela Zave,et al.  An Operational Approach to Requirements Specification for Embedded Systems , 1982, IEEE Transactions on Software Engineering.

[10]  Peter Gorm Larsen,et al.  The IFAD VDM-SL toolbox: a practical approach to formal specifications , 1994, SIGP.

[11]  Peter Gorm Larsen,et al.  Making specifications executable - Using IPTES Meta-IV , 1992, Microprocess. Microprogramming.

[12]  Michael L. Brodie,et al.  On Conceptual Modelling , 1984, Topics in Information Systems.

[13]  Teodor C. Przymusinski On the Declarative Semantics of Deductive Databases and Logic Programs , 1988, Foundations of Deductive Databases and Logic Programming..

[14]  Bob J. Wielinga,et al.  CommonKADS: a comprehensive methodology for KBS development , 1994, IEEE Expert.

[15]  Bernhard Beckert,et al.  lean E A : A Poor Man ’ s Evolving Algebra Compiler , 1995 .

[16]  Michael L. Brodie On the Development of Data Models , 1982, On Conceptual Modelling.

[17]  J. E. Nicholls,et al.  Understanding the differences between VDM and Z , 1994, SOEN.

[18]  Susan Stepney,et al.  Object Orientation in Z , 1992, Workshops in Computing.

[19]  Dieter Fensel,et al.  Model-Based and Incremental Knowledge Engineering: The MIKE Approach , 1992, AIFIPP.

[20]  Ernst-Erich Doberkat,et al.  Requirements Engineering ’93: Prototyping , 1993 .

[21]  Roel Wieringa,et al.  Aziomatization, Declarative Semantics and Operational Semantics of Passive and Active Updates in Logic Databases , 1995, J. Log. Comput..

[22]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[23]  Michel Bidoit Pluss, un langage pour le développement de spécifications algébriques modulaires , 1989 .

[24]  Cliff B. Jones,et al.  Specifications are not (necessarily) executable , 1989 .

[25]  Dianne C. Berry,et al.  The problem of implicit knowledge , 1987 .

[26]  Jan Treur,et al.  A compositional architecture for simple design formally specified in DESIRE , 1993 .

[27]  Frank van Harmelen,et al.  (ML)2: A Formal Language for KADS Models , 1992, ECAI.

[28]  Nicholas R. Jennings,et al.  Formal Specification of Multi-Agent Systems: A Real-World Case , 1995, ICMAS.

[29]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[30]  Robert B. France,et al.  Integrated Structured Analysis and Formal Specification Techniques , 1992, Comput. J..

[31]  Jan Treur,et al.  Formal Specification of Complex Reasoning Systems , 1993 .

[32]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

[33]  Robert Balzer,et al.  Principles of good software specification and their implications for specification languages , 1981, AFIPS '81.

[34]  Roel Wieringa,et al.  Dynamic Database Logic: the First-order Case , 1992, FMLDO.

[35]  G. Rozenber,et al.  Current Trends in Theoretical Computer Science , 1993 .

[36]  Jan Treur,et al.  User Centered Knowledge-Based System Design: a Formal Modelling Approach , 1994, EKAW.

[37]  Christine Golbreich,et al.  TFL: an algebraic language to specify the dynamic behaviour of knowledge-based systems , 1996, The Knowledge Engineering Review.

[38]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2: Module Specifications and Constraints , 1990 .

[39]  Michael Kifer,et al.  Transaction Logic Programming , 1993, ICLP.

[40]  Edward Yourdon,et al.  Modern structured analysis , 1989 .

[41]  Annie G. Brooking,et al.  The analysis phase in development of knowledge based systems , 1986 .

[42]  B. Chandrasekaran,et al.  Generic Tasks in Knowledge-Based Reasoning: High-Level Building Blocks for Expert System Design , 1986, IEEE Expert.

[43]  Gill Smith,et al.  Object-oriented analysis , 1988, WADAS '88.

[44]  Roel Wieringa,et al.  Steps towards a method for the formal modeling of dynamic objects , 1991, Data Knowl. Eng..

[45]  Jerzy Tiuryn,et al.  Logics of Programs , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[46]  Bob J. Wielinga,et al.  KADS: a modelling approach to knowledge engineering , 1992 .

[47]  Pamela Zave,et al.  An Insider's Evaluation of PAISLey , 1991, IEEE Trans. Software Eng..

[48]  Gerard Renardel de Lavalette Semantics of Specification Languages , 1994 .

[49]  Anjo Anjewierden,et al.  The KACTUS View on the 'O' word , 1995, IJCAI 1995.

[50]  Peter Ryan,et al.  Formal Methods in Systems Engineering , 1993, Springer London.

[51]  William J. Clancey,et al.  From Guidon to Neomycin and Heracles in Twenty Short Lessons: ORN Final Report 1979-1985 , 1986, AI Mag..

[52]  Mack W. Alford SREM at the Age of Eight; The Distributed Computing Design System , 1985, Computer.

[53]  Paul J. Krause,et al.  Can we formally specify a medical decision support system? , 1993, IEEE Expert.

[54]  Michael Z. Spivey,et al.  The Z notation , 1989 .

[55]  Edith Schonberg,et al.  Programming with Sets , 1986, Texts and Monographs in Computer Science.

[56]  Dieter Fensel,et al.  Giving Structured Analysis Technologie a Formal and Operational Semantics with KARL , 1993, Requirements Engineering.

[57]  Ralf Jungclaus Modeling of dynamic object systems - a logic-based approach , 1993, Vieweg advanced studies in computer science.

[58]  Marie-Claude Gaudel,et al.  Formal specification techniques , 1994, Proceedings of 16th International Conference on Software Engineering.

[59]  Reid Simmons,et al.  Second Generation Expert Systems , 1993, Springer Berlin Heidelberg.

[60]  Egon Börger Specification and validation methods , 1995 .

[61]  Ernst-Erich Doberkat,et al.  Generating an Algebraic Specification from an ER-Model , 1997, Int. J. Softw. Eng. Knowl. Eng..

[62]  Horst Reichel,et al.  Formal specification and design, Cambridge tracts in theoretical computer science: L.M.G. Feijs and H.B.M Jonkers, (Cambridge University Press, 1992) (hardback), ISBN 0-521-43457-2 , 1995 .

[63]  Robert Balzer,et al.  Operational specification as the basis for rapid prototyping , 1982 .

[64]  Norbert E. Fuchs Specifications are (preferably) executable , 1992, Softw. Eng. J..

[65]  Betty H. C. Cheng,et al.  A Formal Semantics for Object Model Diagrams , 1995, IEEE Trans. Software Eng..

[66]  Ralf Jungclaus Modeling of Dynamic Object Systems , 1993 .

[67]  Kenneth R. Wood,et al.  A practical approach to software engineering using Z and the refinement calculus , 1993, SIGSOFT '93.

[68]  Dieter Fensel,et al.  A comparison of languages which operationalize and formalize KADS models of expertise , 1994, The Knowledge Engineering Review.

[69]  Dzenan Ridjanovic,et al.  On the Design and Specification of Database Transactions , 1982, On Conceptual Modelling.

[70]  Egon Börger,et al.  The bakery algorithm: yet another specification and verification , 1993, Specification and validation methods.

[71]  Dieter Fensel,et al.  Formal methods in knowledge engineering , 1995, The Knowledge Engineering Review.

[72]  Dieter Fensel,et al.  The Knowledge Acquisition and Representation Language, KARL , 1995, Springer US.

[73]  Deri Sheppard Introduction to Formal Specifications with Z and VDM , 1994 .

[74]  Angelica Maria Kappel Executable Specifications based on Dynamic Algebras , 1993, LPAR.

[75]  Merlin Dorfman Requirements Engineering , 1990 .

[76]  Jan Treur,et al.  Formal Specification of Compositional Architectures , 1992, ECAI.

[77]  Dines Bjørner,et al.  VDM '90 VDM and Z — Formal Methods in Software Development , 1990, Lecture Notes in Computer Science.

[78]  Jack Minker Foundations of deductive databases and logic programming , 1988 .

[79]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[80]  J. Baeten Applications of process algebra , 1990 .

[81]  Darrel C. Ince,et al.  Practical formal methods with VDM , 1991 .

[82]  Hans-Jörg Kreowski,et al.  Algebraic system specification and development , 1991, Lecture Notes in Computer Science.

[83]  Edmond Schonberg,et al.  Programming with Sets: An Introduction to SETL , 1986 .

[84]  Allen Newell,et al.  The Knowledge Level , 1989, Artif. Intell..

[85]  Jim Woodcock,et al.  FME '93: Industrial-Strength Formal Methods , 1993, Lecture Notes in Computer Science.

[86]  Edward Yourdon,et al.  Object-oriented analysis (2nd ed.) , 1991 .

[87]  Gerard R. Renardel de Lavalette,et al.  Reasoning About Dynamic Features in Specification Languages - A Modal View on Creation and Modification , 1993, Semantics of Specification Languages.

[88]  John P. McDermott,et al.  R1: A Rule-Based Configurer of Computer Systems , 1982, Artif. Intell..

[89]  Ernst-Erich Doberkat,et al.  Software Prototyping mit SETL , 1989 .

[90]  Jan Treur Temporal Semantics of Meta-Level Architectures for Dynamic Control of Reasoning , 1994 .

[91]  Jürgen Angele Operationalisierung des Modells der Expertise mit KARL , 1993, DISKI.

[92]  Wilhelm Hasselbring,et al.  Prototyping parallel algorithms in a set-oriented language , 1994 .

[93]  J. Michael Spivey,et al.  Understanding Z : A specification language and its formal semantics , 1985, Cambridge tracts in theoretical computer science.

[94]  Nicholas R. Jennings,et al.  Formal Specification of Multi-Agent Systems , 1995 .

[95]  Dan Craigen 1 – An International Survey of Industrial Applications of Formal Methods , 1995 .

[96]  Jan Treur,et al.  A Formal Model for the Dynamics of Compositional Reasoning Systems , 1994, ECAI.

[97]  Kai von Luck,et al.  Management and Processing of Complex Data Structures , 1994, Lecture Notes in Computer Science.

[98]  Bernhard Thalheim,et al.  Modelling Database Dynamics , 1993, Workshops in Computing.

[99]  Jan Willem Spee,et al.  The semantics of K BS SF, a language for KBS design , 1994 .

[100]  Peter A. Lindsay,et al.  Proof in VDM: A Practitioner's Guide , 1993, Proof in VDM.

[101]  Thomas E. Bell,et al.  An Extendable Approach to Computer-Aided Software Requirements Engineering , 1976, IEEE Transactions on Software Engineering.

[102]  Ataru T. Nakagawa,et al.  Algebraic specification of reasoning systems , 1993 .

[103]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[104]  Dieter Fensel,et al.  Integration Of Semiformal and Formal Methods For Specification of Knowledge-Based Systems , 1994 .

[105]  J. W. Sanders The Construction of Formal Specifications , 1995 .

[106]  Jan Treur,et al.  Interaction types and chemistry of generic task models , 1992 .

[107]  Rudi Studer,et al.  The Model of Expertise in KARL , 1994 .

[108]  Wolffried Stucky,et al.  INCOME/STAR: Methodology and Tools for the Development of Distributed Information Systems , 1994, Inf. Syst..

[109]  Peter Gorm Larsen,et al.  An Executable Subset of Meta-IV with Loose Specification , 1991, VDM Europe.

[110]  Derek Coleman,et al.  Formal Specification and Design Time Testing , 1990, IEEE Trans. Software Eng..

[111]  J. B. Wordsworth,et al.  Software development with Z , 1992 .

[112]  Friedrich L. Bauer,et al.  The Munich Project CIP , 1987, Lecture Notes in Computer Science.

[113]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[114]  Cristina Sernadas,et al.  Object Specification Logic , 1995, J. Log. Comput..

[115]  Bernhard Beckert,et al.  LeanEA: A Lean Evolving Algebra Compiler , 1995, WLP.

[116]  L. M. G. Feijs,et al.  Formal Specification and Design , 1992 .