A Framework Supporting the Utilization of Domain Knowledge Embedded in Software

Software systems embed in them knowledge about the domain in which they operate. However, this knowledge is "latent". Making such knowledge accessible could be of great value to the organization both as a source of explicit knowledge and to systems development and maintenance. We propose a framework aimed at making domain knowledge embedded in software explicit. The framework is based on identifying domain knowledge acquired during the development process (especially in requirements analysis) and formalizing it. The software architecture is then partitioned into two parts: one represents the domain knowledge and the other responsible for the actual processing (using this knowledge). A specific object-oriented design approach is suggested to accomplish this partitioning.

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

[2]  Penny Grubb,et al.  Software maintenance , 1996 .

[3]  Bruce I. Blum,et al.  Beyond programming - to a new era of design , 1996 .

[4]  Jim Welsh,et al.  Software Documents: Concepts and Tools , 1994, Softw. Concepts Tools.

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

[6]  Edward Yourdon,et al.  Object-oriented design , 1991, Yourdon Press Computing Series.

[7]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[8]  Harold H. Smith On tool selection for illustrating the use of UML in system development , 2004 .

[9]  Russ Abbott,et al.  Knowledge abstraction , 1987, CACM.

[10]  Grady Booch,et al.  Software engineering with Ada , 1983 .

[11]  Martin Fowler,et al.  The new methodology , 2001, Wuhan University Journal of Natural Sciences.

[12]  Stephen J. Mellor,et al.  Object lifecycles: modeling the world in states , 1992 .

[13]  Grady Booch,et al.  Software engineering with Ada (3. ed.) , 1993, Benjamin/Cummings series in object-oriented software engineering.

[14]  Yair Wand,et al.  A Proposal for a Formal Model of Objects , 1989, Object-Oriented Concepts, Databases, and Applications.

[15]  John Mylopoulos,et al.  Representing Software Engineering Knowledge , 1997, Automated Software Engineering.

[16]  Frank Maurer,et al.  Requirements engineering and agile software development , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[17]  Yair Wand,et al.  Software architecture to support domain semantics representation , 2005, IEEE International Conference on Software - Science, Technology & Engineering (SwSTE'05).

[18]  Siobhán Clarke,et al.  Subject-oriented design: towards improved alignment of requirements, design, and code , 1999, OOPSLA '99.

[19]  Keith H. Bennett,et al.  20 – Software maintenance , 1991 .

[20]  Hermann Kaindl,et al.  Difficulties in the Transition from OO Analysis to Design , 1999, IEEE Softw..

[21]  Renate Motschnig-Pitrik,et al.  The Semantics of Parts Versus Aggregates in Data/Knowledge Modelling , 1993 .

[22]  David Lorge Parnas,et al.  Software design , 2001 .

[23]  Brian Henderson-Sellers,et al.  The object-oriented systems life cycle , 1990, CACM.

[24]  Kari Laitinen,et al.  Estimating understandability of software documents , 1996, SOEN.

[25]  Grigori Melnik,et al.  Knowledge sharing: agile methods vs. Tayloristic methods , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[26]  Natalia Juristo Juzgado,et al.  A conceptual model completely independent of the implementation paradigm , 2003, J. Syst. Softw..

[27]  Stephen J. Mellor,et al.  MDA Distilled Principles Of Model-Driven Architecture , 2004 .