Page en développement
Theses / Thèses
<Retour à la page des publications / Back>
Program Analysis and Transformation for Data-Intensive System Evolution
- Author: Anthony Cleve
- Date: 2009
- Abstract
- Data-intensive software systems are generally made of a database (sometimes in the form of a set of files) and a collection of application programs in strong interaction with the former. They constitute critical assets in most enterprises, since they support business activities in all production and management domains. Data-intensive systems form most of the so-called legacy systems: they typically are one or more decade old, they are very large, heterogeneous and highly complex. Many of them significantly resist modifications and change due to the lack of documentation, to the use of aging technologies and to inflexible architectures. Therefore, the evolution of data-intensive systems clearly calls for automated support. This thesis particularly explores the use of automated program analysis and transformation techniques in support to the evolution of the database component of the system. The program analysis techniques aim to ease the database evolution process, by helping the developers to understand the data structures that are to be changed, despite the lack of precise and up-to-date documentation. The objective of the program transformation techniques is to support the adaptation of the application programs to the new database. This adaptation process is studied in the context of two realistic database evolution scenarios, namely database platform migration and database schema refactoring.
- [full text]
Legacy database federation. A combined forward-Reverse approach
- Author: Philippe Thiran
- Date: 2003
- Abstract
- Most large organizations maintain their data in many distinct independent databases that have been developed at different times on different platforms and DMS (Data Management Systems). The new economic challenges force enterprises to integrate their functions and therefore their information systems including the databases they are based on. In most cases, these databases cannot be replaced with a unique system, nor even reengineered due to the high financial and organizational costs of such restructuring. Hence the need for interoperation frameworks that allow the databases to be accessed by users and application programs as if they were a unique homogeneous and consistent database, through an architecture called federated databases. We refer to software services allowing such so-called legacy database systems to cooperate, as providing interoperability. Such services provide users and application programs with an integrated view of data dispersed over various component databases. In this thesis, we focus on the interoperability of legacy and heterogeneous databases. We introduce the thesis by first giving the main issues about interoperability. Next, a short overview of the interoperability research is presented. We then develop a small example that illustrates some of the problems we intend to address. Finally, we present the purpose and the topic of the thesis.
- [full text]
Program comprehension in database reverse engineering
- Author: Jean Henrard
- Date: 2003
- Abstract
- For many years software engineering has primarily focused on the development of new systems and neglected maintenance and reengineering of legacy applications. Maintenance typically represents 70% of the cost during the life cycle of a system. In order to allow an efficient and safe maintenance of a legacy system, we need to reverse engineer it in order to reconstruct its missing or out-of-date documentation. In data-oriented applications the reverse engineering complexity can be broken down by considering that the database can be reverse engineered independently of the procedural components. Database reverse engineering can be defined as the process of recovering the database's schema(s) of an application from database declaration text and program source code that use the data in order to understand their exact structure and meaning. A database reverse engineering methodology is broken down into three processes: project preparation, data structure extraction that recovers the database's logical schema and data structure conceptualization that interprets the logical schema in conceptual terms. In order to validate our methodology and program understanding techniques, we have developed tools to support them. Those tools have proved absolutely necessary to perform database reverse engineering of medium to larger applications in reasonable time and at reasonable cost. To cut down on the cost of large projects, we have stressed the need for automation to reduce the manual work of the analyst. Our experience with real size projects has taught us that the management aspects of a project are essential success factors. The management of a project comprises different aspects such as database reverse engineering explanation, cost evaluation and database reverse engineering result evaluation.
- [full text]
Database engineering process modelling
- Author: Didier Roland
- Date: 2002
- Abstract
- An important research subject in Software engineering is concerned with modelling the development process of huge software in order to bring some help to engineers when designing and maintaining an application. In general, every design process is seen a rational application of transformation operators to one or more products (mainly specifications) in order to produce new products that satisfy some given criteria: O=f(I). I and O being sets of products compliant with formalisable models, f is a transformation composition whose specifications are the properties of I and O. This modelling is a sound basis for a methodological guidance. Indeed, at each step of the process, the set of pertinent activities and types of products are proposed to the designer, without any other.
- This guidance can be reinforced with some help. Furthermore, this modelling allows to document the process with its history, i.e. with a representation of performed activities. This history is itself the basis of maintenance activities.
- The thesis holds in four phases:
- elaboration of a general model of design processes, a method specification language (MDL), and a history representation
- basic methodological recommendation proposals for the elaboration of engineering methods according to the defined model
- development and integration of some methodological control functions in the DB-MAIN CASE tool, including an extension of the repository, the definition of the interface of the methodological functions, the development of the methodological engine and the development of history processors (recording, replay, analysis,...)
- evaluation of this model with case studies using classical methods.
- [full text]
Evolution of relational databases applications (in French)
- Author: Jean-Marc Hick
- Date: 2001
- Abstract
- If the recent DBMS technologies consider the problem of databases schema evolution, standard Information Systems in use raise hard problems when evolution is concerned. This work studies these problems in the current developer context. It gives a complete typology of modifications and analyses the evolution of systems and its impact on the data structures, data and programs through typical strategies.
- The document introduces the DB-Main CASE environment, with which an evolution tool prototype has been developed. This tool can automatically generate the conversion programs for the database from the operational trace of the conceptual and logical schema modifications. It can also help the programmer to modify the application programs.
- [full text]
A smart meta-CASE: towards an integrated solution
- Author: Vincent Englebert
- Date: 2000
- Abstract
- VEN.
- [full text]