A knowledge-based object modeling advisor for developing quality object models

Highlights? Support the development of quality object models or class diagrams. ? Knowledge-based system extension to an open source CASE tool to suggest improvements. ? Empirical assessment of the knowledge-based system extension. ? The recommendations provided are helpful in achieving object model completeness. Object models or class diagrams are widely used for capturing information system requirements in terms of classes with attributes and operations, and relationships among those classes. Although numerous guidelines are available for object modeling as part of requirements modeling, developing quality object models has always been considered a challenging task, especially for novice systems analysts in business environments. This paper presents an approach that can be used to support the development of quality object models. The approach is implemented as a knowledge-based system extension to an open source CASE tool to offer recommendations for improving the quality of object models. The knowledge component of this system incorporates an ontology of quality problems that is based on a conceptual model quality framework commonly found in object models, the findings of related empirical studies, and a set of analysis patterns. The results obtained from an empirical evaluation of the prototype demonstrate the utility of this system, especially with respect to recommendations related to the model completeness aspect of semantic quality.

[1]  Dinesh Batra,et al.  CODASYS: a consulting tool for novice database designers , 2002, DATB.

[2]  Betty H. C. Cheng,et al.  Automatically Detecting and Visualising Errors in UML Diagrams , 2002, Requirements Engineering.

[3]  Nicholas P. Vitalari,et al.  Differences Between Novice and Expert Systems Analysts: What Do We Know and What Do We Do? , 1998, J. Manag. Inf. Syst..

[4]  Jens Dietrich,et al.  Towards a web of patterns , 2007, J. Web Semant..

[5]  Johan Lilius,et al.  vUML: a tool for verifying UML models , 1999, 14th IEEE International Conference on Automated Software Engineering.

[6]  Dinesh Batra,et al.  Conceptual Data Modeling Patterns: Representation and Validation , 2005, J. Database Manag..

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

[8]  Rik Eshuis,et al.  Symbolic model checking of UML activity diagrams , 2006, TSEM.

[9]  Mark Mayfield,et al.  Object Models: Strategies, Patterns, and Applications , 1995 .

[10]  Sandeep Purao APSARA: a tool to automate system design via intelligent pattern retrieval and synthesis , 1998, DATB.

[11]  Guttorm Sindre,et al.  Evaluating the Quality of Process Models: Empirical Testing of a Quality Framework , 2002, ER.

[12]  Arne Sølvberg,et al.  Understanding quality in conceptual modeling , 1994, IEEE Software.

[13]  M. Morisio,et al.  Extending UML to support domain analysis , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[14]  Kai Koskimies,et al.  Annotating reusable software architectures with specialization patterns , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[15]  Petia Wohed Tool Support for Reuse of Analysis Patterns - A Case Study , 2000, ER.

[16]  Jason E. Robbins,et al.  Cognitive support, UML adherence, and XMI interchange in Argo/UML , 2000, Inf. Softw. Technol..

[17]  Nenad Medvidovic,et al.  Reducing Ambiguities in Requirements Specifications Via Automatically Created Object-Oriented Models , 2008, Monterey Workshop.

[18]  Volker Haarslev,et al.  RACER System Description , 2001, IJCAR.

[19]  Keng Siau,et al.  Unified Modeling Language: A Complexity Analysis , 2001, J. Database Manag..

[20]  Keng Siau,et al.  Theoretical vs. Practical Complexity: The Case of UML , 2005, J. Database Manag..

[21]  Alexander Egyed,et al.  Instant consistency checking for the UML , 2006, ICSE.

[22]  Narasimha Bolloju Improving the quality of business object models using collaboration patterns , 2004, CACM.

[23]  George A. Miller,et al.  Squibs and Discussions: WordNet Nouns: Classes and Instances , 2006, CL.

[24]  Owen Rambow,et al.  Conceptual modeling through linguistic analysis using LIDA , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[25]  Rik Eshuis,et al.  Tool support for verifying UML activity diagrams , 2004, IEEE Transactions on Software Engineering.

[26]  Ron Weber,et al.  Research Commentary: Information Systems and Conceptual Modeling - A Research Agenda , 2002, Inf. Syst. Res..

[27]  Takuya Katayama,et al.  Consistency checking of UML model diagrams using the XML semantics approach , 2005, WWW '05.

[28]  Axel van Lamsweerde,et al.  Requirements engineering: from craft to discipline , 2008, SIGSOFT '08/FSE-16.

[29]  Dennis Koga,et al.  Design for Verification: Using Design Patterns to Build Reliable Systems , 2003 .

[30]  Daniel L. Moody,et al.  Evaluating the quality of information models: empirical testing of a conceptual model quality framework , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[31]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[32]  Hermann Kaindl Active tool support for requirements engineering through RETH , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[33]  William W. Gregory,et al.  The Data Modeling Handbook: A Best-Practice Approach to Building Quality Data Models , 1994 .

[34]  Mark Mayfield,et al.  Object models (2nd ed.): strategies, patterns, and applications , 1997 .

[35]  Hans-Erik Eriksson,et al.  UML 2 Toolkit , 2003 .

[36]  Shamkant B. Navathe,et al.  Conceptual Database Design: An Entity-Relationship Approach , 1991 .

[37]  Jocelyn Simmonds,et al.  A tool for automatic UML model consistency checking , 2005, ASE '05.

[38]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[39]  Mario Cannataro,et al.  The knowledge grid , 2003, CACM.

[40]  Scott W. Ambler,et al.  The Elements of UML(TM) 2.0 Style , 2005 .

[41]  Sandeep Purao,et al.  Improving Analysis Pattern Reuse in Conceptual Design: Augmenting Automated Processes with Supervised Learning , 2003, Inf. Syst. Res..

[42]  Juan Sánchez,et al.  Improving Requirements Analysis through Business Process Modelling: A Participative Approach , 2008, BIS.

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

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

[45]  Narasimha Bolloju,et al.  Assisting novice analysts in developing quality conceptual models with UML , 2006, CACM.

[46]  Ernest Friedman-Hill,et al.  Jess in action : rule-based systems in Java , 2003 .

[47]  Christian Lange,et al.  Improving the quality of UML models in practice , 2006, ICSE.

[48]  Vijayan Sugumaran,et al.  The role of domain ontologies in database design: An ontology management and conceptual modeling environment , 2006, TODS.

[49]  Alexander Egyed Consistent Adaptation and Evolution of Class Diagrams during Refinement , 2004, FASE.

[50]  Vijayan Sugumaran,et al.  Ontologies for conceptual modeling: their creation, use, and management , 2002, Data Knowl. Eng..

[51]  Peretz Shoval,et al.  Data Modeling and Functional Modeling , 2009, Innovations in Information Systems Modeling.

[52]  Mario Piattini,et al.  Quality in Conceptual Modeling - New Research Directions , 2002, ER.

[53]  Jill Nicola,et al.  Streamlined Object Modeling: Patterns, Rules, and Implementation [With CDROM] , 2001 .

[54]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[55]  Xiaomeng Su,et al.  Using a Semiotic Framework for a Comparative Study of Ontology Languages and Tools , 2005, Information Modeling Methods and Methodologies.