Index 
Welcome
Search

Info.
Personal
Publications
Ph.D. thesis
References
Teaching
Tutoring
Conferences
RDT

Ptidej
Introduction
Reengineering
Modification
Analysis
Detection
Demo
Download

Caffeine
Introduction
Download

PatternsBox
Introduction
Download

Eclipse
Prolog
Claire
Ptidej

LaTeX
Bibex
Multilingual.bst
Vertical Line

Misc.
Amiga
Capoeira
Citations
Red Flag
Human Rights
Titrax
BusClock

Private
Conferences
Shared files
Pictures
Downloads

    
Visits for this page:
0163
Since 07/09/20

Valid HTML 4.01!
   On formalizing and detecting design patterns 
Once the model of an application obtained (using the meta-model aforementioned, updated with higher-level information), it is possible to apply a constraints system on this model to detect (bad) design patterns. Setting up such a system consists in two stages : definition of basic low-level constraints, such as isSuperclass or isLinkComposition. Then, using those constraints, formalisation of the design patterns.
But, what is the link between design patterns and bad conception? The idea is that a design pattern describes a good conception, thus, anything that comes close to a design pattern is a step in the right direction. We try to detect those places where we have almost a good design pattern to improve them.
How to do so from a constraints system on design patterns? By using a system of constraints with explanation. Briefly, a system of constraints with explanation may propose to relax certain contraints to find more solutions.
First, the system detects places where design patterns are correctly applied then the places that are less and less close to design patterns as the constraints are being relaxed.
Our system Ptidej (Patterns Trace Identification, Detection and Enhancement for Java) is based on the contraints propagator Choco realized by the group OCRE and on the system with explanation PaLM (Propagation and Learning with Move) developed by Narendra Jussien, from the Constraints Programming team of the computer science department.