A Refinement based methodology for software process modeling - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Thèse Année : 2014

A Refinement based methodology for software process modeling

Une méthode basée sur le raffinement pour la modélisation de processus

Résumé

There is an increasing trend to consider the processes of an organization as one of its highly valuable assets. Processes are the reusable assets of an organization which define the procedures of routine working for accomplishing its goals. The software industry has the potential to become one of the most internationally dispersed high-tech industry. With growing importance of software and services sector, standardization of processes is also becoming crucial to maintain credibility in the market. Software development processes follow a lifecycle that is very similar to the software development lifecycle. Similarly, multiple phases of a process development lifecycle follow an iterative/incremental approach that leads to continuous process improvement. This incremental approach calls for a refinement based strategy to develop, execute and maintain software development processes. This thesis develops a conceptual foundation for refinement based development of software processes keeping in view the precise requirements for each individual phase of process development lifecycle. It exploits model driven engineering to present a multi-metamodel framework for the development of software processes, where each metamodel corresponds to a different phase of a process. A process undergoes a series of refinements till it is enriched with execution capabilities. Keeping in view the need to comply with the adopted standards, the architecture of process modeling approach exploits the concept of abstraction. This mechanism also caters for special circumstances where a software enterprise needs to follow multiple process standards for the same project. On the basis of the insights gained from the examination of contemporary offerings in this domain, the proposed process modeling framework tends to foster an architecture that is developed around the concepts of ''design by contract" and ''design for reuse". This allows to develop a process model that is modular in structure and guarantees the correctness of interactions between the constituent activities. Separation of concerns being the motivation, data-flow within a process is handled at a different abstraction level than the control-flow. Conformance between these levels allows to offer a bi-layered architecture that handles the flow of data through an underlying event management system. An assessment of the capabilities of the proposed approach is provided through a comprehensive patterns-based analysis, which allows a direct comparison of its functionality with other process modeling approaches.
Il y a une tendance croissante à considérer les processus d'une organisation comme l'une de ses grandes forces. Les processus sont des ressources réutilisables d'une organisation qui définissent les procédures de travail pour la réalisation de ses objectifs. Avec l'importance croissante du secteur des logiciels et des services, la standardisation des processus devient indispensable pour maintenir sa crédibilité. Le développement de processus suit un cycle de vie très similaire à celui du développement logiciel. Par exemple, il se compose de plusieurs phases et suit une approche incrémentale qui mène à son amélioration continue. Cette approche incrémentale peut être complétée par une stratégie basée sur le raffinement pour développer, exécuter et maintenir les processus de développement de logiciels.Cette thèse propose une base conceptuelle pour le développement de processus logiciels par raffinement, sans perdre de vue les exigences spécifiques de chaque phase du cycle de vie d'un tel processus. Elle utilise l'ingénierie dirigée par les modèles pour présenter un ensemble de méta-modèles pour le développement de processus logiciels où chaque méta-modèle correspond à une phase différente d'un processus (spécification, implémentation et instanciation). Le modèle d'un processus traverse une série de raffinement jusqu'à ce qu'elle soit enrichie par des capacités d'exécution. Le développement d'un interpréteur permet d'exécuter ce modèle. Il donne la possibilité de relier les modèles des differentes phases par des liens de traçabilité. Les intervenants peuvent interagir avec le processus en exécution à l'aide d'une interface de supervision. Un niveau de variabilité incluse dans les modèles de processus permet leur adaptation pendant l'exécution. Tout en prenant en compte la nécessité de se conformer aux standards adoptés par l'organisation, l'architecture de l'approche de modélisation proposée exploite le concept d'abstraction en s'inspirant de la notion de composant logiciel pour aider à la réutilisation de modèles de processus. Notre méthode est également prévue pour les entreprises qui veulent suivre plusieurs standards pour le même projet.Sur la base des connaissances acquises grâce à l'étude des langages de modélisation actuels du domaine, le cadre proposé pour la modélisation de processus présente une architecture qui se développe autour des concepts de "conception par contrat" et "conception pour et par la réutilisation". Ceci permet de construire un modèle de processus qui a une structure modulaire et garantit la correction des interactions entre des activités constituantes. Afin de favoriser la séparation des préoccupations, les flux de données au sein d'un processus sont gérés à un niveau d'abstraction différent de celui des flux de contrôle. La conformité entre ces deux niveaux permet d'offrir une architecture bicouche. Le flux de données lors de l'exécution est assuré par un système de gestion d'événements. Une évaluation des capacités de l'approche proposée est fournie par une analyse basée sur l'ensemble des "workflow patterns". Cela permet une comparaison directe de ses capacités avec d'autres approches de modélisation de processus.
Fichier principal
Vignette du fichier
2014tellb0304_Golra_Fahad.pdf (5.17 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

tel-00978732 , version 1 (14-04-2014)

Identifiants

  • HAL Id : tel-00978732 , version 1

Citer

Fahad Rafique Golra. A Refinement based methodology for software process modeling. Software Engineering [cs.SE]. Télécom Bretagne, Université de Rennes 1, 2014. English. ⟨NNT : ⟩. ⟨tel-00978732⟩
368 Consultations
1024 Téléchargements

Partager

Gmail Facebook X LinkedIn More