Content area

Abstract

Dans le domaine du génie logiciel, le principe de la programmation par contrat (PpC) a été nommé pour la première fois et popularisé par Bertrand Meyer. Il a proposé d'ajouter un contrat précis à un module afin de le documenter correctement. Ce contrat ajoute des précisions qu'une simple signature de méthode ou qu'un commentaire ne peuvent apporter.

L'UML est un langage de modélisation de systèmes orientés-objet. L'UML étant principalement un langage de modélisation graphique, il est difficile (parfois impossible) de préciser certains détails d'un système. Le langage de spécification formelle OCL, qui est intimement lié à l'UML, permet d'ajouter ces précisions.

La programmation orientée-aspect (POA) est un paradigme relativement nouveau (environ 10 ans) qui a pour prétention d'encapsuler les propriétés d'un système informatique qui ne peuvent pas être encapsulées correctement par la programmation orientée-objet (POO). Grâce à la POA, il est possible, entre autres, d'intercepter des messages envoyés entre objets et d'appliquer un traitement avant ou après cette émission.

Ce mémoire présente le projet Contrarius. Ce projet incorpore le concept de la PpC au langage Java, en faisant usage du langage OCL afin d'exprimer les contrats et du langage AspectJ (un langage orienté-aspect) pour effectuer la vérification du respect des contrats lors de l'exécution d'un programme. Nous expliquons ce qu'est la PpC et le besoin qu'elle comble, ce que sont les langages de spécifications formelles, le langage OCL, le paradigme de la POA, le langage AspectJ, l'architecture de Contrarius et présentons une courte analyse des projets similaires.

Abstract (AI English translation)

Information popover about translation disclaimer

In the field of software engineering, the principle of programming by contract (PpC) was first named and popularized by Bertrand Meyer. He proposed adding a specific contract to a module in order to document it correctly. This contract adds details that a simple method signature or comment cannot provide.

UML is a language for modeling object-oriented systems. Since UML is primarily a graphical modeling language, it is difficult (sometimes impossible) to specify certain details of a system. The OCL formal specification language, which is closely linked to UML, allows these details to be added.

Aspect-Oriented Programming (AOP) is a relatively new paradigm (about 10 years old) that purports to encapsulate properties of a computer system that cannot be properly encapsulated by Object-Oriented Programming (OOP). Thanks to POA, it is possible, among other things, to intercept messages sent between objects and to apply processing before or after this transmission.

This dissertation presents the Contrarius project. This project incorporates the concept of PpC into the Java language, using the OCL language to express contracts and the AspectJ language (an aspect-oriented language) to verify compliance with contracts during the execution of a program. We explain what PpC is and the need it fills, what formal specification languages are, the OCL language, the POA paradigm, the AspectJ language, the Contrarius architecture and present a short analysis of the similar projects.

Details

1010268
Identifier / keyword
Title
Contrarius: Générateur d'Aspects servant à valider le respect de contrats OCL
Alternate title
Contrarius: Aspect Generator Used to Validate Compliance With OCL Contracts
Number of pages
106
Publication year
2008
Degree date
2008
School code
0512
Source
MAI 47/03M, Masters Abstracts International
ISBN
978-0-494-42955-6
University/institution
Universite de Sherbrooke (Canada)
University location
Canada -- Quebec, CA
Degree
M.Sc.A.
Source type
Dissertation or Thesis
Language
French
Document type
Dissertation/Thesis
Dissertation/thesis number
MR42955
ProQuest document ID
304406111
Document URL
https://www.proquest.com/dissertations-theses/contrarius-générateur-daspects-servant-à-valider/docview/304406111/se-2?accountid=208611
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
Database
ProQuest One Academic