La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Software construction by composition of components

Msheik, Hamdan (2010). Software construction by composition of components. Thèse de doctorat électronique, Montréal, École de technologie supérieure.

[img]
Prévisualisation
PDF
Télécharger (65MB) | Prévisualisation
[img]
Prévisualisation
PDF
Télécharger (11MB) | Prévisualisation

Résumé

In the continuously evolving era of software technological advances, software complexity and requirements change grow at increasing paces. Developing software using traditional approaches to meet the growing demand for functionalities and computation, in particular for large scale software, produces software applications which are characterized as being monolithic, difficult to reuse and costly to develop. To address those issues, componentbased software development has emerged among other approaches and has already produced a noteworthy positive impact. Nevertheless, component-based software development still suffers from a number of drawbacks and limitations.

The aim of this research project is to improve software construction by composition of components. Traditionally, reusable components may exhibit a bloating syndrome caused by bundled but unused set of members which vary according to application contexts and business domains. Furthermore, reusable components may suffer from chaotic amalgamation of code elements. Component members' bloating and a chaotic amalgamation of code elements limitations can be partially attributed to the lack of modular components. Typically, software constmctors rewrite from scratch newer software components (even though many code parts exist), retrofit or customize existing components to satisfy applications'
requirements. In addition to these two limitations, software components suffer also from version mismatches due to the use of different versions of the same component.

To address the aforementioned limitations a new approach is proposed in this research work. Our approach is based on composition of atomic or enhanced modularity components. This new approach will contribute to the improvement of component-based software construction by alleviating some of the limitations facing it. It The focus of our research targets particularly the constmction phase of the software development lifecycle.

The main generic goal of this research project is:
• To improve software construction based on components composition by providing an approach which shifts and promotes software construction from a traditional construction approach based heavily on code writing and amalgamation to an approach relying increasingly on components composition.

The specific objectives of this research are:
• To propose and specify a software component model which provides remedies for some of the limitations facing software construction by components composition.
• To provide a reference implementation for this component model.
• To design a measurement method to measure components" unwanted members.
• To provide a prototype tool to measure components" unwanted members.
• To propose a component versioning mechanism.
• To provide a prototype tool to detect component versions mismatches.

The approach presented in this thesis is partly derived from the observation of product development processes implemented in traditional engineering disciplines. It can be argued that this approach represents a step forward in the evolution of software constmction based on components composition for it provides a simple and fluid components composition approach. The application and use of this composition approach reduces the need to retrofit and customize existing components as has been done traditionally. The software constructor relies more and more on selective composition of enhanced modularity components which suit particular application requirements. Moreover, this approach leads to additional secondary benefits which can be exploited in the use of fine-grained testing and in conducting various component measurements that ultimately benefit the software constmction process as a whole.

Titre traduit

Construction de logiciels par composition de composants

Résumé traduit

Dans une ere ou les technologies de F information subissent une evolution continuelle, la complexite du logiciel ainsi que l'evolution des exigences augmentent a un rythme accelere. Le developpement de logiciels suivant des approches traditionnelles mene a la construction d'applications caracterisees par une taille monolithique, une structure difficile a reutiliser et un cout de construction de plus en plus eleve. Pour remedier a ces problemes, le developpement logiciel a base de composantes a ete propose et a apporte des benefices notamment grace aux avantages que la technologic de composantes de logiciel offre au developpement. Cependant, il reste un nombre de problemes non resolus qui affectent la technologic de composantes de logiciel et ainsi le developpement d'applications a base de composantes.

Le but de ce projet de recherche est d'ameliorer la construction de logiciel par composition de composantes. Les composantes traditionnelles utilisees dans la construction de logiciel souffrent du syndrome de gonflement attribue aux membres non-utilises qui varient dependamment du contexte et du domaine d'affaires. De plus, les composantes traditionnelles peuvent aussi souffrir du probleme d'amalgamation chaotique d'elements de code. Ces deux problemes peuvent etre attribues en partie au manque de composantes de logiciel modulaire et qui typiquement menent les constructeurs de logiciels soit a la reecriture complete de certaines composantes de logiciel, ou soit a la modification et adaptation du code existant appartenant a ces composantes. En plus des deux problemes mentionnes precedemment, les composantes de logiciel peuvent aussi souffrir du probleme de versions non conformes cause par 1"usage de diverses versions de la meme composante.

Pour faire face a ces problemes, une nouvelle approche est proposee dans le cadre de ce projet de recherche. Cette approche se veut a la fois simple et fluide. Cette approche est basee sur rutilisation de composantes ayant une taille atomique ou ayant une modularite amelioree. Cette approche va contribuer a 1'amelioration de la construction de logiciels a base de composantes de logiciel en remediant a certains des problemes dont cette approche souffre actuellement. La portee de ce projet de recherche se limite a la phase de construction du cycle de vie de developpement logiciel.

Le but generique de ce projet de recherche est:
• D'ameliorer la construction de logiciels par composition de composantes a travers une approche qui transporte la construction de logiciels d'une approche traditionnelle basee principalement sur l'ecriture et l'amalgamation de code vers une approche basee de plus en plus sur la composition de composantes de logiciel.

Les objectifs specifiques de ce projet de recherche sont :
• De proposer et de specifier un modele de composantes de logiciel remediant aux problemes de composantes traditionnelles tels que presentes dans ce projet de recherche.
• De foumir une implementation servant comme reference pour le modele propose de composantes.
• De concevoir une methode de mesure pour quantifier le nombre de membres non-desires de composantes de logiciel.
• De foumir un prototype d'outil automatique qui sert a mesurer le nombre non-desires de composantes de logiciel.
• De proposer un mecanisme pour la detection de versions non-compatibles de composantes de logiciel.
• De foumir un prototype d'un outil automatique qui sert a detecter les versions noncompatibles de composantes de logiciel.

L'approche presentee dans cette these est partiellement inspiree de l'observation de la façon de developper des produits dans les domaines de genie autre que le genie logiciel. Cette approche represente un pas en avant dans l'evolution de la constmction de logiciels a base de composantes grace a sa façon de composer des composantes de logiciel qui est a la fois simple et tluide. L'usage et 1'utilisation de cette approche reduit le besoin de réajuster ou d'adapter des composantes existantes, comme tel est le cas traditionnellement. Le constructeur de logiciels se sert de plus en plus de la composition selective de composantes a modularite amelioree et qui convient aux besoins d'affaires particuliers d'une application. De plus, cette approche foumira un nombre d'avantages secondaires qui peuvent etre exploites pour faire de tests de granularite plus fine et pour 1'amelioration de processus de mesure de composantes logicielles qui ultimement ameliorent le processus de developpement de logiciel en sa globalite.

Type de document: Mémoire ou thèse (Thèse de doctorat électronique)
Renseignements supplémentaires: "Thesis presented to École de technologie supérieure in partial fulfillment of the requirements for the degree of doctor of philosophy". Bibliogr : f. [223]-231.
Mots-clés libres: Logiciels Développement.
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
Abran, Alain
Programme: Doctorat en génie > Génie
Date de dépôt: 21 mars 2011 15:03
Dernière modification: 08 févr. 2017 22:28
URI: http://espace.etsmtl.ca/id/eprint/281

Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt

Statistique

Plus de statistique...