Page en développement

Theses / Thèses

<Retour à la page des publications / Back>


[PHD10] Reverse Engineering User-Drawn Form-based Interfaces for Interactive Database Conceptual Analysis

Author: Ravi Ramdoyal
Date: 2010
The first step of most database design methodologies consists in eliciting part of the user requirements from various sources such as user interviews and corporate documents. These requirements are formalised into a conceptual schema of the application domain, that has proved difficult to validate, especially since the graphical representations of data models have shown understandability limitations from the end-users standpoint. On the other hand, electronic forms seem to be more natural and intuitive to express data requirements for laymen. Besides, the necessity to associate end-users of a future system with its specification and development steps has long been advocated.
In this doctoral research, we consequently explore the possible reverse engineering of user-drawn form-based interfaces to perform an interactive database conceptual analysis, and subsequently present the tool-supported RAINBOW approach resulting from this investigation. This user-oriented approach relies on the adaptation and integration of principles and techniques coming from various fields of study, ranging from Database Forward and Reverse Engineering to Prototyping and Participatory Design.
[full text and complements]

[PHD09] Program Analysis and Transformation for Data-Intensive System Evolution

Author: Anthony Cleve
Date: 2009
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]

[PHD03-2] Legacy database federation. A combined forward-Reverse approach

Author: Philippe Thiran
Date: 2003
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]

[PHD03-1] Program comprehension in database reverse engineering

Author: Jean Henrard
Date: 2003
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]

[PHD02] Database engineering process modelling

Author: Didier Roland
Date: 2002
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]

[PHD01] Evolution of relational databases applications (in French)

Author: Jean-Marc Hick
Date: 2001
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]

[PHD00] A smart meta-CASE: towards an integrated solution

Author: Vincent Englebert
Date: 2000
For twenty years now, software engineers use CASE (Computer Aided Software Engineering) tools to design systems, to verify specifications, to generate programs, \dots Unfortunately, their use is not as widespread as one could expect it. They are often both too limited and too coercive. But because computer projects become larger and more complex every year, such tools are now essential to ensure the correctness, the schedules, and the documentation of programs. For these reasons, researchers have proposed complementary (or alternative) approaches with meta-CASE tools. The latter are flexible frameworks that allow engineers to customize, to extend them, or even to define brand-new CASE tools in a dynamic way.
This thesis presents the results of a study about the implementation of a new meta-CASE. This research starts from a dozen case studies in this realm to draw up an assessment of the requirements that future meta-CASE tools should meet. This work has examined a subset of them to propose an integration of meta-modelling techniques that are generally both simpler and more expressive than the former approaches.
We have investigated the requirements about three major components that make up meta-CASEs: the repository, the representation of the information stored in this repository, and the processes that animate it. Our work has been guided by two key ideas: simplicity and expressivity. Although they are generally seen as contradictory requirements, we prove that it is possible to bring them together. Indeed, (1) we have defined a repository with a very limited number of concepts coming from the object-oriented paradigm and we have demonstrated that complex methods can be represented with; (2) a graphical symbolic language allows method engineers to define advanced representations of these methods; and finally (3) a new programming language has provided the repository with an operational intelligence. Moreover, this architecture has been endowed with a mirroring service that blurs the distinction between the the meta-CASE (i.e., the meta-model level) and the CASE tools it describes (i.e., the specification level). This service made it possible to bootstrap some other major components of the meta-CASE (A meta-model editor, a Grasyla script editor, meta-extensions of Voyager 2).

[full text]
Outils personnels