Method for the analysis and design of class characteristic migrations during object system evolution

Abstract We propose a method to assist designers in the analysis and design of the migrations of class characteristics (attributes and methods) during object system evolution. This method advocates: • to analyze a migration by identifying transfer links that will be used to transfer class characteristics; • to design the graph of the transfer links of a migration by decomposing it into components that minimize the amount of work required to carry out the modifications of the classes concerned by the migration, that can be studied separately and then possibly dispatching to designers; these components are groups of classes strongly coupled and separate (i.e. the classes making up each component are strongly coupled by transfer links, and no links occur between the classes of different components). Among the partitions of a migration obtained with such components, the best ones are those whose components minimize the amount of work required to carry out the modifications of the classes concerned by the migration. These partitions are such that classes are implicated in the minimum number components. In case several best partitions are found, we choose the ones which have the fewest components. The components of a migration are represented by maximal bipartite complete subgraphs of the graph of transfers of a migration that defines a partition of a set of its arcs. Efficient algorithms for building a partition of a directed graph by searching for such subgraphs do not exist in the graph theory. We propose three approaches for building a partition of the graph of transfers of a migration: a departure approach that places emphasis on the classes from which class characteristics are transferred, an arrival approach that places emphasis on the classes to which class characteristics are transferred, and a simulated annealing approach used in operations research.

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

[2]  Lotfi Lakhal,et al.  Consistent Structural Updates for Object Database Design , 1993, CAiSE.

[3]  Peter A. Pircher Object-Oriented Structured Design , 1991, TOOLS.

[4]  Carine Souveyet,et al.  The Evolutionary Object Model (EOM) , 1993, Information System Development Process.

[5]  Dominique Rieu,et al.  Schema Evolution in Object-Oriented Database Systems , 1989, Data Knowl. Eng..

[6]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[7]  Cecilia R. Aragon,et al.  Optimization by Simulated Annealing: An Experimental Evaluation; Part I, Graph Partitioning , 1989, Oper. Res..

[8]  Victor R. Basili,et al.  Viewing maintenance as reuse-oriented software development , 1990, IEEE Software.

[9]  Grady Booch Object-oriented design , 1982, ALET.

[10]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[11]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[12]  Jean-Marc Nerson,et al.  Applying object-oriented analysis and design , 1992, CACM.

[13]  Hafedh Mili,et al.  Building and maintaining analysis-level class hierarchies using Galois Lattices , 1993, OOPSLA '93.

[14]  A. Nico Habermann,et al.  Beyond schema evolution to database reorganization , 1990, OOPSLA/ECOOP '90.

[15]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

[16]  David W. Embley,et al.  Object-oriented systems analysis , 1992 .

[17]  Stanley B. Zdonik,et al.  The management of changing types in an object-oriented database , 1986, OOPLSA '86.

[18]  Xavier Castellani Mechanisms of Standardized Reusability of Objects (MCO Methodology) , 1993, Information System Development Process.

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

[20]  Stewart M. Clamen,et al.  Type Evolution and Instance Adaptation , 1992 .

[21]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[22]  J. K. Lenstra,et al.  Local Search in Combinatorial Optimisation. , 1997 .