Ontology-based methodology for error detection in software design

Improving the quality of a software design with the goal of producing a high quality software product continues to grow in importance due to the costs that result from poorly designed software. It is commonly accepted that multiple design views are required in order to clearly specify the required functionality of software. There is universal agreement as to the importance of identifying inconsistencies early in the software design process, but the challenge is how to reconcile the representations of the diverse views to ensure consistency. To address the problem of inconsistencies that occur across multiple design views, this research introduces the Methodology for Objects to Agents (MOA). MOA utilizes a new ontology, the Ontology for Software Specification and Design (OSSD), as a common information model to integrate specification knowledge and design knowledge in order to facilitate the interoperability of formal requirements modeling tools and design tools, with the end goal of detecting inconsistency errors in a design. The methodology, which transforms designs represented using the Unified Modeling Language (UML) into representations written in formal agent-oriented modeling languages, integrates object-oriented concepts and agent-oriented concepts in order to take advantage of the benefits that both approaches can provide. The OSSD model is a hierarchical decomposition of software development concepts, including ontological constructs of objects, attributes, behavior, relations, states, transitions, goals, constraints, and plans. The methodology includes a consistency checking process that defines a consistency framework and an Inter-View Inconsistency Detection technique. MOA enhances software design quality by integrating multiple software design views, integrating object-oriented and agent-oriented concepts, and defining an error detection method that associates rules with ontological properties.

[1]  Gregor Engels,et al.  Consistent Interaction of Software Components , 2002, Trans. SDPS.

[2]  James M. Coggins,et al.  Subject-Oriented Programming , 1996 .

[3]  Anna Perini,et al.  Developing Tools for Agent-Oriented Visual Modeling , 2004, MATES.

[4]  Monique Snoeck,et al.  Consistency by Construction: The Case of MERODE , 2003, ER.

[5]  Giuseppe De Giacomo History of Programming Languages , 2006 .

[6]  Ramaswamy Chandramouli,et al.  Cost Effective Use of Formal Methods in Verification and Validation , 2002 .

[7]  Andrea Zisman,et al.  Inconsistency Management in Software Engineering: Survey and Open Research Issues , 2000 .

[8]  Marko Grobelnik,et al.  A SURVEY OF ONTOLOGY EVALUATION TECHNIQUES , 2005 .

[9]  Holger Knublauch,et al.  The Protégé OWL Plugin: An Open Development Environment for Semantic Web Applications , 2004, SEMWEB.

[10]  Mrv Michel Chaudron,et al.  An empirical investigation in quantifying inconsistency and incompleteness of UML designs , 2003 .

[11]  Steve M. Easterbrook,et al.  Using ViewPoints for inconsistency management , 1996, Softw. Eng. J..

[12]  Amanda Andress Integrating People, Process and Technology , 2003 .

[13]  Tom Mens,et al.  Maintaining Consistency between UML Models with Description Logic Tools. , 2003 .

[14]  Steffen Staab,et al.  Ontology Learning for the Semantic Web , 2002, IEEE Intell. Syst..

[15]  Stephen J. Garland,et al.  Larch: Languages and Tools for Formal Specification , 1993, Texts and Monographs in Computer Science.

[16]  A. Finkelstein,et al.  A comedy of errors: the London Ambulance Service case study , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[17]  Alicia Perez,et al.  Evaluation of Taxonomic Knowledge in Ontologies and Knowledge Bases , 1999 .

[18]  Annie I. Antón,et al.  Goal-based requirements analysis , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[19]  Michael Wooldridge,et al.  Agent-based software engineering , 1997, IEE Proc. Softw. Eng..

[20]  Nicholas R. Jennings,et al.  A Roadmap of Agent Research and Development , 2004, Autonomous Agents and Multi-Agent Systems.

[21]  Lionel C. Briand,et al.  Impact analysis and change management of UML models , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[22]  Leo Obrst,et al.  Ontologies for semantically interoperable systems , 2003, CIKM '03.

[23]  Carlos José Pereira de Lucena,et al.  From a Conceptual Framework for Agents and Objects to a Multi-Agent System Modeling Language , 2004, Autonomous Agents and Multi-Agent Systems.

[24]  Winfried Lamersdorf,et al.  Evaluation of Agent-Oriented Software Methodologies - Examination of the Gap Between Modeling and Platform , 2004, AOSE.

[25]  Carlos Angel Iglesias,et al.  Analysis and Design of Multiagent Systems Using MAS-Common KADS , 1997, ATAL.

[26]  K Lano,et al.  Making Uml Precise , 1998 .

[27]  Annie I. Antón,et al.  Financial privacy policies and the need for standardization , 2004, IEEE Security & Privacy Magazine.

[28]  Bernhard Bauer,et al.  Agent UML : A formalism for specifying multiagent interaction , 2001 .

[29]  N. F. Noy,et al.  Ontology Development 101: A Guide to Creating Your First Ontology , 2001 .

[30]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[31]  András Pataricza,et al.  Completeness and Consistency Analysis of UML Statechart Specifications , 2000 .

[32]  Robert Darimont,et al.  Quality Starts with the Modelling of Goal-Oriented Requirements , 2003 .

[33]  Bashar Nuseibeh,et al.  USING ABDUCTION TO EVOLVE INCONSISTENT REQUIREMENTS SPECIFICATIONS , 1999 .

[34]  Dirk Deridder,et al.  The Use of Ontologies as a Backbone for Software Engineering Tools , 1999 .

[35]  Axel van Lamsweerde,et al.  Inferring Declarative Requirements Specifications from Operational Scenarios , 1998, IEEE Trans. Software Eng..

[36]  Ileana Ober An ASM Semantics of UML Derived from the Meta-model and Incorporating Actions , 2003, Abstract State Machines.

[37]  Ahmad Kayed Ontology Management System , 2003, IKE.

[38]  Richard F. Paige,et al.  Checking the Consistency of Collaboration and Class Diagrams using PVS , 2002 .

[39]  Ron Weber,et al.  An Ontological Model of an Information System , 1990, IEEE Trans. Software Eng..

[40]  Pericles Loucopoulos,et al.  Goal driven requirements engineering: Evaluation of current methods. , 2003 .

[41]  Peter Loos,et al.  Ontological Evaluation of Reference Models Using the Bunge-Wand-Weber Model , 2003, AMCIS.

[42]  Jeff Heflin,et al.  Semantic web technologies for aerospace , 2003, 2003 IEEE Aerospace Conference Proceedings (Cat. No.03TH8652).

[43]  Michael Uschold,et al.  The Enterprise Ontology , 1998, The Knowledge Engineering Review.

[44]  Zhi Jin,et al.  Ontology-Based Inconsistency Management of Software Requirements Specifications , 2005, SOFSEM.

[45]  Aldo Gangemi,et al.  Ontology evaluation and validation An integrated formal model for the quality diagnostic task , 2005 .

[46]  Dean Jin,et al.  Ontological adaptive integration of reverse engineering tools , 2004 .

[47]  Michael Rovatsos,et al.  Handbook of Software Engineering and Knowledge Engineering , 2005 .

[48]  George A. Miller,et al.  WordNet: A Lexical Database for English , 1995, HLT.

[49]  M. Huhns Software Development with Objects , Agents , and Services , 2004 .

[50]  Steve Easterbrook,et al.  Model Management and Inconsistency in Software Design , 2003 .

[51]  Reiko Heckel,et al.  Model-Based Verification and Validation of Properties , 2003, UNIGRA.

[52]  Michel Patry,et al.  An Evaluation of Inter-Organizational Workflow Modeling Formalisms , 2002 .

[53]  A.M. Hoss,et al.  Ontological approach to improving design quality , 2006, 2006 IEEE Aerospace Conference.

[54]  Scott A. DeLoach,et al.  Analysis and Design using MaSE and agentTool , 2001 .

[55]  Paulo S. C. Alencar,et al.  Taming Agents and Objects in Software Engineering , 2002, SELMAS.

[56]  Patrick Heymans,et al.  A Template-based Analysis of GRL , 2005 .

[57]  Jason E. Robbins,et al.  Argo: A Design Environment for Evolving Software Architectures , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[58]  Bashar Nuseibeh,et al.  Making inconsistency respectable in software development , 2001, J. Syst. Softw..

[59]  Veda C. Storey,et al.  An ontological analysis of the relationship construct in conceptual modeling , 1999, TODS.

[60]  Jean-Claude Royer,et al.  Checking the Consistency of UML Class Diagrams Using Larch Prover , 2000, Rigorous Object-Oriented Methods.

[61]  WenQian Liu,et al.  RULE-BASED DETECTION OF INCONSISTENCY IN SOFTWARE DESIGN , 2002 .

[62]  Ian Horrocks,et al.  OWL rules: A proposal and prototype implementation , 2005, J. Web Semant..

[63]  Jozef Hooman,et al.  Formalizing UML Models and OCL Constraints in PVS , 2004, SFEDL@ETAPS.

[64]  Brian Henderson-Sellers,et al.  Open Modeling Language (OML)-Refer-ence Manual , 1998 .

[65]  Marta Indulska,et al.  A Reference Methodology for Conducting Ontological Analyses , 2004, ER.

[66]  Barry Boehm,et al.  Heterogeneous view integration and its automation , 2000 .

[67]  Marta Indulska,et al.  A Procedural Model for Ontological Analyses , 2004 .

[68]  Holger Giese,et al.  A Plug-In for Flexible and Incremental Consistency Management , 2003 .

[69]  E. Tansley,et al.  Using ontology to validate conceptual models , 2003, CACM.

[70]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[71]  E. Letier,et al.  Goal-Oriented Elaboration of Security Requirements , 2001 .

[72]  Catholijn M. Jonker,et al.  Compositional design of a generic design agent , 2001, Design Studies.

[73]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[74]  Heinrich Hussmann LOOSE SEMANTICS FOR UML/OCL , 2002 .

[75]  Jim Chu Computer-Aided Dispatch , 2001 .

[76]  Alain Wegmann,et al.  Goals, Interpretations, and Policies in Information Systems Design , 2001 .

[77]  Alain Abran,et al.  Guide to the Software Engineering Body of Knowledge : 2004 Version , 2005 .

[78]  Riichiro Mizoguchi,et al.  Ontology-based description of functional design knowledge and its use in a functional way server , 2003, Expert Syst. Appl..

[79]  Itu-T Specification and Description Language (SDL) , 1999 .

[80]  Bashar Nuseibeh,et al.  Managing inconsistent specifications: reasoning, analysis, and action , 1998, TSEM.

[81]  York Sure-Vetter,et al.  D1.2.3 Methods for ontology evaluation , 2004 .

[82]  Alexander Egyed,et al.  Using Patterns to Integrate UML Views , 1999 .

[83]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.

[84]  Nicola Guarino,et al.  An Overview of OntoClean , 2004, Handbook on Ontologies.

[85]  H. Lan,et al.  SWRL : A semantic Web rule language combining OWL and ruleML , 2004 .

[86]  Thomas R. Gruber,et al.  A translation approach to portable ontology specifications , 1993, Knowl. Acquis..

[87]  Brian Henderson-Sellers,et al.  Agent-based Software Development Methodologies , 2003 .

[88]  Zerong Chen,et al.  Semantic markup for inconsistency handling in requirements engineering , 2004 .

[89]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[90]  Gianna Reggio,et al.  An Attempt at Analysing the Consistency Problems in the UML from a Classical Algebraic Viewpoint , 2002, WADT.

[91]  Dan Ioan Chiorean,et al.  Ensuring UML Models Consistency Using the OCL Environment , 2004, Electron. Notes Theor. Comput. Sci..

[92]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[93]  Dov Dori,et al.  Modelling Off-the-Shelf Information Systems Requirements: An Ontological Approach , 2001, Requirements Engineering.

[94]  GlinzMartin,et al.  Object-oriented modeling with ADORA , 2002 .

[95]  Harith Alani,et al.  Common Features of Killer Apps: A Comparison with Prot´eg´e , 2005 .

[96]  Mark Woodman,et al.  Introduction to VDM , 1993 .

[97]  Leonardo Mariani,et al.  An agent-based approach to tool integration , 2004, International Journal on Software Tools for Technology Transfer.

[98]  A. Baruzzo,et al.  Checking UML Model Consistency , 2006 .

[99]  Jason E. Robbins,et al.  Software architecture critics in the Argo design environment , 1998, Knowl. Based Syst..

[100]  K. K. Sandhu,et al.  Specification and description language (SDL) , 1992 .

[101]  Richard Fikes,et al.  The Ontolingua Server: a tool for collaborative ontology construction , 1997, Int. J. Hum. Comput. Stud..

[102]  Alex Groce,et al.  VeriAgent: an Approach to Integrating UML and Formal Verification Tools , 2004, WMF.

[103]  Islam A. M. El-Maddah,et al.  Tracing Aspects in Goal driven Requirements of Process Control Systems , 2004 .

[104]  Thanwadee Sunetnanta,et al.  Automated Consistency Checking for Multiperspective Software Specifications , 2001 .

[105]  William F. Clocksin,et al.  Programming in Prolog , 1987, Springer Berlin Heidelberg.

[106]  Axel van Lamsweerde Goal-Oriented Requirements Engineering: From System Objectives to UML Models to Precise Software Specifications , 2003, ICSE.

[107]  Joerg Evermann,et al.  Ontology based object-oriented domain modelling: fundamental concepts , 2005, Requirements Engineering.

[108]  Terry Quatrani Visual modelling with Rational Rose 2000 and UML , 1998 .

[109]  Onn Shehory,et al.  Evaluation of modeling techniques for agent-based systems , 2001, AGENTS '01.

[110]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[111]  Brian Henderson-Sellers,et al.  A Template for Defining Enterprise Modeling Constructs , 2004, J. Database Manag..

[112]  J. Michael Spivey,et al.  An introduction to Z and formal specifications , 1989, Softw. Eng. J..

[113]  Andrea Zisman,et al.  Are their design specifications consistent with our requirements? , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[114]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[115]  Reiko Heckel,et al.  Rule-Based Specification of Behavioral Consistency Based on the UML Meta-model , 2001, UML.

[116]  Mauri Leppänen An ontological framework and a methodical skeleton for method engineering : a contextual approach , 2005 .

[117]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[118]  Axel van Lamsweerde,et al.  From System Goals to Software Architecture , 2003, SFM.

[119]  John McCarthy,et al.  History of LISP , 1978, SIGP.

[120]  Gretchen Irwin,et al.  An Ontological Analysis of Use Case Modeling Grammar , 2005, J. Assoc. Inf. Syst..

[121]  Jane Hunter,et al.  The ABC Ontology and Model , 2001, J. Digit. Inf..

[122]  Ron Weber,et al.  On the ontological expressiveness of information systems analysis and design grammars , 1993, Inf. Syst. J..

[123]  Maged Elaasar,et al.  An Overview of UML Consistency Management , 2004 .

[124]  Anand S. Rao,et al.  A Methodology and Modelling Technique for Systems of BDI Agents , 1996, MAAMAW.

[125]  Philippe Massonet,et al.  Goal-oriented requirements animation , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[126]  V. Dignum,et al.  Towards an integrated methodology to develop KM solutions with the support of agents , 2005, International Conference on Integration of Knowledge Intensive Multi-Agent Systems, 2005..

[127]  Adam Pease,et al.  Towards a standard upper ontology , 2001, FOIS.

[128]  Hans Chalupsky,et al.  OntoMorph: A Translation System for Symbolic Knowledge , 2000, KR.

[129]  Joerg Evermann,et al.  Towards Ontologically Based Semantics for UML Constructs , 2001, ER.

[130]  Asunción Gómez-Pérez,et al.  METHONTOLOGY: From Ontological Art Towards Ontological Engineering , 1997, AAAI 1997.

[131]  Allison Barnard Feeney,et al.  Concepts for Automating Systems Integration , 2003 .

[132]  Marian H. Nodine,et al.  Agent-based semantic interoperability in infosleuth , 1999, SGMD.

[133]  Richard F. Paige,et al.  Theorem Proving Support for View Consistency Checking , 2003, Obj. Logiciel Base données Réseaux.

[134]  SOFTWARE INTEROPERABILITY Software Interoperability , 2000 .

[135]  eCOMO,et al.  Conceptual Modeling for Novel Application Domains, ER 2003 Workshops ECOMO, IWCMQ, AOIS, and XSDM, Chicago, IL, USA, October 13, 2003, Proceedings , 2003, ER.

[136]  M. R. Genesereth,et al.  Knowledge Interchange Format Version 3.0 Reference Manual , 1992, LICS 1992.

[137]  Ricardo de Almeida Falbo,et al.  ODE: ontology-based software development environment , 2003 .

[138]  Rajiv Khosla,et al.  Modeling Information Systems Using Objects, Agents, and Task-Based Problem Solving Adapters , 1999 .

[139]  Rachel Pires Vieira de Vasconcelos Formalization of UML Using Algebraic Specifications , 1999, ECOOP Workshops.

[140]  Nicholas R. Jennings,et al.  Pitfalls of agent-oriented development , 1998, AGENTS '98.

[141]  Torres Wilfredo,et al.  Software Fault Tolerance: A Tutorial , 2000 .

[142]  Nazlia Omar,et al.  Heuristics-based entity-relationship modelling through natural language processing , 2005 .

[143]  Franklin Ramalho,et al.  Mapping UML Class Diagrams to Object-Oriented Logic Programs for Formal Model-Driven Development , 2004 .

[144]  Mehrdad Sabetzadeh,et al.  Analysis of inconsistency in graph-based viewpoints: a category-theoretical approach , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[145]  Franco Zambonelli,et al.  Challenges and Research Directions in Agent-Oriented Software Engineering , 2004, Autonomous Agents and Multi-Agent Systems.

[146]  Hong Zhu Developing Formal Specifications of Multi-Agent Systems in SLABS -- A Case Study of Evolutionary Multi-Agent Ecosystem , 2002, AOIS@CAiSE.

[147]  Anthony Finkelstein,et al.  A UML profile to support requirements engineering with KAOS , 2002 .

[148]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[149]  Kai Koskimies,et al.  How to make apples from oranges in UML , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[150]  Bashar Nuseibeh,et al.  Using Abduction to Evolve Inconsistent Requirements Specification , 1999, Australas. J. Inf. Syst..

[151]  Demissie Bediye Aredo,et al.  FORMAL DEVELOPMENT OF OPEN DISTRIBUTED SYSTEMS: INTEGRATION OF UML AND PVS , 2004 .

[152]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[153]  Axel van Lamsweerde Building Formal Requirements Models for Reliable Software , 2001, Ada-Europe.

[154]  Mercedes Garijo Ayestaran,et al.  Analysis and Design of Multiagent Systems Using MAS-Common KADS , 1997, ATAL.

[155]  Krysia Broda,et al.  Mapping UML Models incorporating OCL Constraints into Object-Z , 2003 .

[156]  Brian Henderson-Sellers,et al.  Ontological Evaluation of the UML Using the Bunge–Wand–Weber Model , 2002, Software and Systems Modeling.

[157]  J. M. Singer,et al.  IEEE Recommended Practice for Software Requirements SpeciÞcations , 1993 .

[158]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[159]  Camelia Chira,et al.  DEVELOPMENT OF ENGINEERING DESIGN METHODOLOGIES AND SOFTWARE TOOLS TO SUPPORT THE CREATIVE PROCESS OF DESIGN IN A DISTRIBUTED ENVIRONMENT , 2003 .

[160]  Reiko Heckel,et al.  TESTING THE CONSISTENCY OF DYNAMIC UML DIAGRAMS , 2002 .

[161]  Emmanuel Letier Reasoning about Agents in Goal-Oriented Requirements Engineering , 2002 .

[162]  Deborah L. McGuinness,et al.  OWL Web ontology language overview , 2004 .

[163]  Reiko Heckel,et al.  Defining and validating transformations of UML models , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[164]  Axel van Lamsweerde,et al.  Deriving tabular event-based specifications from goal-oriented requirements models , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[165]  Henrik Eriksson,et al.  The evolution of Protégé: an environment for knowledge-based systems development , 2003, Int. J. Hum. Comput. Stud..

[166]  Licia Capra,et al.  xlinkit: a consistency checking and smart link generation service , 2002, TOIT.

[167]  William N. Robinson,et al.  Requirement Conflict Restructuring , 1999 .

[168]  Matteo Cristani,et al.  A Survey on Ontology Creation Methodologies , 2005, Int. J. Semantic Web Inf. Syst..

[169]  Ramaswamy Chandramouli,et al.  Cost Effective Uses of Formal Methods in Verification and Validation , 2002 .

[170]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[171]  Jocelyn Simmonds,et al.  Consistency Maintenance of UML Models with Description Logics , 2003 .

[172]  Bashar Nuseibeh,et al.  The process of inconsistency management: a framework for understanding , 1999, Proceedings. Tenth International Workshop on Database and Expert Systems Applications. DEXA 99.

[173]  A. Ohnishi Management and verification of the consistency among UML Models , 2002 .

[174]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[175]  A. van Lamsweerde Goal-oriented requirements engineering: from system objectives to UML models to precise software specifications , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[176]  Wolfgang Emmerich,et al.  Flexible consistency checking , 2003, TSEM.

[177]  Yannis Kalfoglou,et al.  Deploying ontologies in software design , 2000 .

[178]  Eerke Albert Boiten,et al.  A framework for UML consistency , 2002 .

[179]  Patrik Paetau,et al.  ON THE BENEFITS AND PROBLEMS OF THE OBJECT-ORIENTED PARADIGM INCLUDING A FINNISH STUDY , 2005 .

[180]  Jin Song Dong,et al.  Semantic Web for Extending and Linking Formalisms , 2002, FME.

[181]  Recommended Practice for Software Design Descriptions , 1998 .

[182]  es Manuel Barrio-Solórzano UML Automatic Verification Tool ( TABU ) , 2004 .

[183]  Robert J. Gaizauskas,et al.  CM-Builder: A Natural Language-Based CASE Tool for Object-Oriented Analysis , 2003, Automated Software Engineering.