Managing domain architecture evolution through adaptive use case and business rule models

The areas of domain engineering, vertical application frameworks, and business objects have generated considerable interest in industry and the research community during the last few years. In order for systems to be successfully implemented from such application frameworks, there are two major concerns that must be addressed: how to maintain non-interfering applications and how to minimize bias towards any individual application in developing the domain model. As we add new applications, we need to ensure that they are not destructive to each other. We also need to make certain that as we expand the domain model to accommodate new applications, that these future applications are not unnecessarily constrained or complex. Most of the related work to date has focused on defining the architectural structure of application frameworks or on maintaining structural and behavioral consistency. Methodologies have primarily focused on the definition of a domain model rather than its evolution. This thesis develops a conceptual framework for integrating various techniques to facilitate managing the evolution of a business domain architecture. As part of this conceptual framework, domain normal forms and normalization operations are defined. An adaptive use case model is proposed as an extension to the Unified Modeling Language (UML) specification. A business rule pattern language and meta-model are also developed that describes how parameterized business rules can be integrated with adaptive use cases to manage domain model evolution. All of these models are synthesized into a domain evolution architectural transformation (DEAT) process model. Although considerable work remains, this thesis demonstrates the feasibility of utilizing the prescribed models for guiding performance of operations on a domain model. Through fit assessment and change cost analysis, new applications may be developed from the domain architecture with minimal bias and interference resulting in a more stabile and resilient domain model.

[1]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[2]  C. Robert Carlson,et al.  MOODD, a Method for Object-Oriented Database Design , 1995, Data Knowl. Eng..

[3]  Colin Ashford,et al.  Semantics: the key to interoperability , 1997 .

[4]  Anthony Finkelsteiin,et al.  Re-use of formatted requirements specifications , 1988 .

[5]  Peter J. L. Wallis,et al.  Ada and software re-use , 1988, Softw. Eng. J..

[6]  E. R. Comer Domain analysis: a systems approach to software reuse , 1990, 9th IEEE/AIAA/NASA Conference on Digital Avionics Systems.

[7]  Ivar Jacobson,et al.  The object advantage - business process reengineering with object technology , 1994 .

[8]  David Notkin,et al.  Using role components in implement collaboration-based designs , 1996, OOPSLA '96.

[9]  Lois M. L. Delcambre,et al.  Change cases: use cases that identify future requirements , 1996, OOPSLA '96.

[10]  Ian M. Graham,et al.  Migrating to object technology , 1994 .

[11]  Roger P. Beck,et al.  Software reuse: a competitive advantage , 1991, ICC 91 International Conference on Communications Conference Record.

[12]  David W. Embley,et al.  Turnable formalism in object-oriented systems analysis: meeting the needs of both theoreticians and practitioners , 1992, OOPSLA.

[13]  Michael A. Beedle A “light” distributed OO Workflow Management System for the creation of OO Enterprise System Architectures in BPR environments , 1998 .

[14]  K. G. Heisler,et al.  An object-oriented maintenance-oriented model for software , 1989, Digest of Papers. COMPCON Spring 89. Thirty-Fourth IEEE Computer Society International Conference: Intellectual Leverage.

[15]  M. Ramachandran,et al.  Developing software systems with domain oriented reuse , 1994, Proceedings of Twentieth Euromicro Conference. System Architecture and Integration.

[16]  J. D. Riedesel,et al.  An object oriented model for expert system shell design , 1990, Ninth Annual International Phoenix Conference on Computers and Communications. 1990 Conference Proceedings.

[17]  Sarah Collier Building object-oriented frameworks , 1994 .

[18]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[19]  William C. Chu,et al.  Automated assessment of program and system quality , 1992, [1992] Proceedings of the Second Symposium on Assessment of Quality Software Development Tools.

[20]  Robin J. Harwood,et al.  Use Case Formats: Requirements, Analysis, and Design , 1997, J. Object Oriented Program..

[21]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[22]  Andreas Birrer,et al.  Frameworks in the Financial Engineering Domain - An Experience Report , 1993, ECOOP.

[23]  F. Aylward,et al.  The Illinois Institute of Technology , 1960 .

[24]  Conrad Weisert Point-extent pattern for dimensioned numeric classes , 1997, SIGP.

[25]  Guillermo Arango,et al.  A process for consolidating and reusing design knowledge , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[26]  Ronald G. Ross,et al.  The Business Rule Book: Classifying, Defining and Modeling Rules , 1997 .

[27]  W. Lewis Johnson,et al.  Developing formal specifications from informal requirements , 1993, IEEE Expert.

[28]  Stephen G. Schur The Database Factory: Active Database for Enterprise Computing , 1994 .

[29]  Randy H. Katz,et al.  Organizing A Design Database Across Time , 1985, On Knowledge Base Management Systems.

[30]  James O. Coplien,et al.  A development process generative pattern language , 1994 .

[31]  Selden Stewart,et al.  Experiences with a Manufacturing Framework , 1997 .

[32]  A.-J. Berre COOP-an object oriented framework for systems integration , 1992, Proceedings of the Second International Conference on Systems Integration.

[33]  Simon M. Kaplan,et al.  Supporting collaborative processes with Conversation Builder , 1992, Comput. Commun..

[34]  R.J.A. Buhr,et al.  Architectures with pictures , 1992, OOPSLA 1992.

[35]  Ralph E. Johnson,et al.  Refactoring and Aggregation , 1993, ISOTAS.

[36]  G. Cantone Software factory: modeling the improvement , 1992 .

[37]  Ivar Jacobson,et al.  Using Contracts and Use Cases to Build Pluggable Architectures , 1995, J. Object Oriented Program..

[38]  Jean-Pierre Corriveau,et al.  Capturing Object Interactions , 1994, TOOLS.

[39]  Karl J. Lieberherr,et al.  From objects to classes: algorithms for optimal object-oriented design , 1991, Softw. Eng. J..

[40]  John T. Cunningham,et al.  New Jersey , 1896, The Journal of Comparative Medicine and Veterinary Archives.

[41]  Ian M. Holland,et al.  Specifying Reusable Components Using Contracts , 1992, ECOOP.

[42]  Jay F. Nunamaker,et al.  Software productivity: a framework of study and an approach to reusable components , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

[43]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[44]  Ralph E. Johnson,et al.  Patterns Generate Architectures , 1994, ECOOP.

[45]  A. Philippakis,et al.  Modeling the information systems architecture: an object-oriented approach , 1991, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences.

[46]  Frank J. Post,et al.  An Architecture Framework: From Business Strategies to Implementation , 1997 .

[47]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[48]  R.T. Mittermeir,et al.  Layered specifications to support reusability and integratibility , 1992, Proceedings of the Second International Conference on Systems Integration.

[49]  Karl J. Lieberherr,et al.  Abstraction of Object-Oriented Data Models , 1990, ER.

[50]  Morris Sloman,et al.  The representation of policies as system objects , 1991, COCS '91.

[51]  Michel Augeraud Dynamic objects , 1991, COCS '91.

[52]  Kang G. Shin,et al.  Combining contracts and exemplar-based programming for class hiding and customization , 1994, OOPSLA 1994.

[53]  Bruce F. Webster,et al.  Pitfalls of object-oriented development , 1995 .

[54]  Lodewijk Bergmans,et al.  An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach , 1992, ECOOP.

[55]  Barbara Pernici Objects with roles , 1990 .

[56]  Walt Scacchi,et al.  A hypertext system to manage software life-cycle documents , 1990, IEEE Software.

[57]  Michael Jackson,et al.  Problems, methods and specialisation , 1994, Softw. Eng. J..

[58]  Ivan Moore,et al.  Automatic inheritance hierarchy restructuring and method refactoring , 1996, OOPSLA '96.

[59]  J. A. Salvato John wiley & sons. , 1994, Environmental science & technology.

[60]  Ian M. Holland,et al.  Object-oriented programming: an objective sense of style , 1988, OOPSLA 1988.

[61]  Ian M. Holland,et al.  Tools for preventive software maintenance , 1989, Proceedings. Conference on Software Maintenance - 1989.

[62]  Scott Ambler,et al.  Normalizing classes , 1997 .

[63]  Eric Dubois,et al.  O-O Requirements Analysis: an Agent Perspective , 1993, ECOOP.

[64]  Elizabeth A. Kendall,et al.  The Application of Object-Oriented Analysis to Agent-Based Systems , 1997, J. Object Oriented Program..

[65]  Daniel A. Rawsthorne Capturing functional requirements through object interactions , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[66]  Eduardo Casais,et al.  Managing class evolution in object-oriented systems , 1995 .

[67]  Mark B. Ratcliffe,et al.  Software component interface description for reuse , 1993, Softw. Eng. J..

[68]  Fuyau Lin,et al.  Integrating CASE tools with knowledge-base by object orientation , 1992, Proceedings ICCI `92: Fourth International Conference on Computing and Information.

[69]  M. D. Lubars Reusing designs for rapid application development , 1991, ICC 91 International Conference on Communications Conference Record.

[70]  H. S. Burns,et al.  Tackling productivity and quality through customer involvement and software technology , 1989, IEEE Global Telecommunications Conference, 1989, and Exhibition. 'Communications Technology for the 1990s and Beyond.

[71]  Oscar Nierstrasz,et al.  Class management for software communities , 1990, CACM.

[72]  Jeff Sutherland,et al.  Business object design and implementation III , 1997, OOPSLA '97.

[73]  Roy H. Campbell,et al.  A technique for documenting the framework of an object-oriented system , 1992, [1992] Proceedings of the Second International Workshop on Object Orientation in Operating Systems.

[74]  K. Lano,et al.  Extracting design and functionality from code , 1992, [1992] Proceedings of the Fifth International Workshop on Computer-Aided Software Engineering.

[75]  Björn Regnell,et al.  Improving the use case driven approach to requirements engineering , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[76]  R. J. A. Buhr,et al.  Use Case Maps: A New Model to Bridge the Gap Between Requirements and Design , 1995 .

[77]  Derek Coleman,et al.  Coherent models for object-oriented analysis , 1991, OOPSLA 1991.

[78]  D. B. Anderson,et al.  Software reusability using object-oriented programming , 1990 .

[79]  李幼升,et al.  Ph , 1989 .

[80]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

[81]  Oscar Nierstrasz,et al.  Component-oriented software development , 1992, CACM.

[82]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[83]  Ian M. Mitchell,et al.  On an Improved Approach to the Elicitation of O-O State Machines by Use-Case , 1997, J. Object Oriented Program..

[84]  Spencer Rugaber,et al.  Domain analysis and reverse engineering , 1994, Proceedings 1994 International Conference on Software Maintenance.

[85]  A. S. Peterson,et al.  Mapping a Domain Model and Architecture to a Generic Design , 1994 .

[86]  Terry Bollinger,et al.  Making reuse cost-effective , 1991, IEEE Software.

[87]  Rubén Prieto-Díaz,et al.  Status report: software reusability , 1993, IEEE Software.

[88]  James M. Neighbors,et al.  The Draco Approach to Constructing Software from Reusable Components , 1984, IEEE Transactions on Software Engineering.

[89]  Björn Regnell,et al.  A hierarchical use case model with graphical representation , 1996, Proceedings IEEE Symposium and Workshop on Engineering of Computer-Based Systems.

[90]  Martin Davis STARS reuse maturity model: guidelines for reuse strategy formulation , 1992 .

[91]  Vangalur S. Alagar,et al.  A methodology for deriving an object-oriented design from functional specifications , 1992, Softw. Eng. J..

[92]  Wei Wu,et al.  A multipurpose drawing understanding system with flexible object-oriented framework , 1993, Proceedings of 2nd International Conference on Document Analysis and Recognition (ICDAR '93).

[93]  Rodolphe Nassif,et al.  An object-oriented application development environment , 1990, Digest of Papers Compcon Spring '90. Thirty-Fifth IEEE Computer Society International Conference on Intellectual Leverage.

[94]  Peter Coad,et al.  Object-oriented patterns , 1992, CACM.

[95]  Pamela Zave,et al.  Classification of research efforts in requirements engineering , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[96]  Murali Sitaraman,et al.  Solving Object State Model Mysteries Using a Key Event Dictionary. , 1997 .

[97]  Georg Kösters,et al.  Coupling Use Cases and Class Models , 1997 .

[98]  Timothy W. Finin,et al.  Specification of the KQML Agent-Communication Language , 1993 .

[99]  Gunter Saake,et al.  Aggregation in a Behaviour Oriented Object Model , 1992, ECOOP.

[100]  James O. Coplien,et al.  A generative development-process pattern language , 1995 .

[101]  Philip E. Bourne,et al.  Design and use of a software framework to obtain information derived from macromolecular structure data , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

[102]  Gregor von Bochmann,et al.  A framework for dynamic evolution of object-oriented specifications , 1992, Proceedings Conference on Software Maintenance 1992.

[103]  Tetsuo Tamai,et al.  Software lifetime and its evolution process over generations , 1992, Proceedings Conference on Software Maintenance 1992.

[104]  Aniello Cimitile Towards reuse reengineering of old software , 1992, Proceedings Fourth International Conference on Software Engineering and Knowledge Engineering.

[105]  Martin L. Griss,et al.  Building Object-Oriented Instrument Kits , 1996 .

[106]  Spencer Rugaber,et al.  A software re-engineering method using domain models , 1995, Proceedings of International Conference on Software Maintenance.

[107]  Kristofer Kimbler,et al.  Use case driven analysis of feature interactions , 1994, FIW.

[108]  Michael Goul,et al.  Towards synergizing the active object, software maintenance, and algorithm synthesis metaphors for integrated modeling environments , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[109]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[110]  Rebecca Wirfs-Brock Stereotyping: a technique for characterizing objects and their interactions , 1993 .

[111]  Mauricio J. V. Silva A/OODBMT: an active object-oriented database modeling technique , 1996 .

[112]  Hanspeter Mössenböck,et al.  Designing a Framework by Stepwise Generalization , 1995, ESEC.

[113]  Tim Menzies,et al.  Using The Size of Classes and Methods as the Basis for Early Effort Prediction; Empirical Observatio , 1995 .

[114]  Joyce J. Elam,et al.  USING ARTIFICIAL INTELLIGENCE TECHNIQUES TO ENHANCE THE CAPABILITIES OF MODEL MANAGEMENT SYSTEMS , 1987 .

[115]  M. Mišík,et al.  Oxford University Press , 1968, PMLA/Publications of the Modern Language Association of America.

[116]  M. Falla Using formal English for object-oriented system description , 1993 .

[117]  Natalya Fridman,et al.  Reuse of Adaptive Software through Opportunistic Parameterization , 1994 .

[118]  Andy Pols Requirements engineering: use cases and more , 1997, OOPSLA '97.

[119]  Kevin Loney,et al.  Oracle: The complete reference , 1990 .

[120]  Robert C. Goldstein Database: Technology and Management , 1985 .

[121]  Björn Regnell,et al.  From Requirements to Design with Use Cases - Experiences from Industrial Pilot Projects , 1997 .

[122]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[123]  Martin Glinz,et al.  An Integrated Formal Model of Scenarios Based on Statecharts , 1995, ESEC.

[124]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[125]  Holger Herbst,et al.  A Meta-Model for Business Rules in Systems Analysis , 1995, CAiSE.

[126]  James McGuire,et al.  Commitment-Based Software Development , 1992, IEEE Trans. Software Eng..

[127]  Dirk Riehle,et al.  A pattern language for tool construction and integration based on the tools and materials metaphor , 1995 .

[128]  Holger Herbst,et al.  A Repository System for Business Rules , 1995, DS-6.

[129]  Sanjay Bhansali,et al.  Software design by reusing architectures , 1992, Proceedings of the Seventh Knowledge-Based Software Engineering Conference.

[130]  P. Bassctt Framing software reuse - lessons from real world , 1997 .

[131]  Roy Rada,et al.  Software reuse: from text to hypertext , 1992, Softw. Eng. J..

[132]  Kim Marriott,et al.  An Object-Oriented Architecture for Constraint-Based Graphical Editing , 1992, Workshops on Object-Oriented Graphics.

[133]  D. Garvin Building a learning organization. , 1993, Harvard business review.

[134]  Stephen W. Clyde,et al.  Turnable formalism in object-oriented systems analysis: meeting the needs of both theoreticians and practitioners , 1992, OOPSLA 1992.

[135]  Brian Henderson-Sellers,et al.  An Integrated and Enhanced Methodology for Modeling and Implementing Object Relationships. , 1997 .

[136]  Cory Casanave Business-Object Architectures and Standards , 1997 .

[137]  T. C. Hartrum,et al.  A decision-based methodology for object-oriented design , 1989, Proceedings of the IEEE National Aerospace and Electronics Conference.

[138]  Dorothea Beringer,et al.  Modelling global behaviour with scenarios in object-oriented analysis , 1997 .

[139]  Eduardo Casais,et al.  An Experiment in Framework Development - Issues and Results , 1994 .

[140]  Cláudia Maria Lima Werner,et al.  The design of object-oriented software with domain architecture reuse , 1994, Proceedings of 1994 3rd International Conference on Software Reuse.

[141]  Ralph E. Johnson,et al.  Creating abstract superclasses by refactoring , 1993, CSC '93.

[142]  Kim Mens,et al.  Vrije Universiteit Brussel Faculteit Wetenschappen Reuse Contracts: Managing the Evolution of Reusable Assets Reuse Contracts: Managing the Evolution of Reusable Assets , 2022 .

[143]  Glenn Andert Object frameworks in the Taligent OS , 1994, Proceedings of COMPCON '94.

[144]  Murugappan Palaniappan,et al.  MetaFlex: A Flexible Metaclass Generator , 1993, ECOOP.

[145]  Russell R. Hurlbut Proposal Managing Business Domain Architectures through Use Case Formalisms , 1997 .

[146]  Verzekeren Naar Sparen,et al.  Cambridge , 1969, Humphrey Burton: In My Own Time.

[147]  D. Gangopadhyay,et al.  Understanding frameworks by exploration of exemplars , 1995, Proceedings Seventh International Workshop on Computer-Aided Software Engineering.

[148]  Jacob L. Cybulski,et al.  A hypertext based software-engineering environment , 1992, IEEE Software.

[149]  E. Groves A Dissertation ON , 1928 .

[150]  David W. Franke Imbedding rule inferencing in applications , 1990, IEEE Expert.

[151]  Russell R. Hurlbut A Survey of Approaches For Describing and Formalizing Use Cases , 1998 .

[152]  Timothy W. Finin,et al.  A Proposal for a new KQML Specification , 1997 .

[153]  Guus Ramackers,et al.  Object Business Modelling, requirements and approach , 1997 .

[154]  Hassan Gomaa,et al.  An object-oriented domain analysis and modeling method for software reuse , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[155]  D. Tsichritzis,et al.  SaTellite: a visualization and navigation tool for hypermedia , 1990 .

[156]  Don Batory,et al.  A programming language for writing domain-specific software system generators , 1996 .

[157]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[158]  Rudolf K. Keller,et al.  Design and Reuse in Object-Oriented Frameworks: Patterns, Contracts, and Motifs in Concert , 1994, COODBSE.

[159]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[160]  Tom Digre Business Application Components , 1997 .

[161]  Ralph Johnson How to Design Frameworks , 1993, OOPSLA 1993.

[162]  J. Karjalainen,et al.  User need oriented software component development , 1993 .

[163]  Frank Buschmann,et al.  A system of patterns , 1995 .

[164]  Alistair Cockburn,et al.  Structuring Use Cases with Goals , 2000 .

[165]  Terry Winograd,et al.  The action workflow approach to workflow management technology , 1992, CSCW '92.

[166]  B. Pernici,et al.  Application development through reuse: the ITHACA tools environment , 1992, SIGO.

[167]  Luiz Fernando Capretz,et al.  Object-oriented design: guidelines and techniques , 1993, Inf. Softw. Technol..

[168]  Daniel G. Bobrow,et al.  Context Structures/Versioning: A Survey , 1985, On Knowledge Base Management Systems.

[169]  Jeffrey S. Poulin,et al.  Determining the value of a corporate reuse program , 1993, [1993] Proceedings First International Software Metrics Symposium.

[170]  Hans Albrecht Schmid Creating the architecture of a manufacturing framework by design patterns , 1995, OOPSLA.

[171]  James Coplien,et al.  A role-based empirical process modeling environment , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[172]  B.H.L. Betlem,et al.  An object-oriented framework for production control , 1994 .

[173]  Bill Harvey,et al.  Semantic integration in complex systems: collective behavior in business rules and software transactions , 1995, OOPSLA '95.

[174]  David Chenho Kung,et al.  Formal approach to scenario analysis , 1994, IEEE Software.

[175]  Becky Winant,et al.  Solving Object State Model Mysteries Using a Key Event Dictionary , 1997, J. Object Oriented Program..

[176]  Trish Wooding,et al.  Techniques for Developing Reusable Business Components , 1996, J. Object Oriented Program..

[177]  Dennis de Champeaux,et al.  Object-oriented system development , 1993 .

[178]  Anthony Finkelstein,et al.  Re-use of formatted requirements specifications , 1988, Softw. Eng. J..

[179]  Edward Yourdon Decline and Fall of the American Programmer , 1992 .

[180]  Terry Winograd,et al.  Understanding computers and cognition - a new foundation for design , 1987 .

[181]  Karl Wiegers Listening to the customer's voice , 1997 .

[182]  Harald C. Gall,et al.  Reuse engineering: software construction from reusable components , 1992, [1992] Proceedings. The Sixteenth Annual International Computer Software and Applications Conference.

[183]  Hassan Gomaa,et al.  A reuse-oriented approach for structuring and configuring distributed applications , 1993, Softw. Eng. J..