instantiation (Model 0), we damage the two strong
points. In the first, the damage is due to the first
sub-feature: the factorization is not maximal. For
the second strong point, the composition
management is done in «Composite» and “Graphic”
classes, and there are two redundant access points
(Model 5).
Table 1 resumes the state of every strong point
for each Composite alternative model. For each
strong point, we represent sub-features in this table
with a “
+” if it is present and with a “-” if it is
deleted. In a first approach, we define a “quality
score” simply based on strong points. We consider
the strong points qualitatively equivalent, and
compute the metrics with their degree of
perturbation.
4 CONCLUSION
In order to validate our approach, we have applied
OCL rules on UML models. So, it has been
necessary to implement detection of each alternative
model by several rules. When a rule is not validated
in the model, the NEPTUNE (Neptune, 2003)
platform returns the context of the error, which is the
model fragment substitutable by a pattern. In a first
attempt, we have applied these rules on industrial
models and then on OMG meta-models.
To increase the range of our catalog, which is,
for now, only constituted of alternative models taken
by our experiments, we are currently developing a
collaborative web site allowing to share knowledge
about object misconception.
REFERENCES
Arcelli Fontana F., Raibulet C., Tisato F., “Design Pattern
Recognition”, in Proceedings of the ISCA 13th IASSE,
Nice, France, July 1-3, 2004, pages 290-295.
Bouhours C., Leblanc H., Percebois C., “Structural
variants detection for design pattern instantiation”, in
1st International Workshop on DPD4RE, Benevento,
Italy, October 2006.
Buschmann F., Meunier R., Rohnert H., Sommerlad P.,
Stal M., “Pattern-Oriented Software Architecture”,
John Wiley \& Sons, August 1996.
Chikofsky E. J., Cross J. H., “Reverse engineering and
design recovery: A taxonomy”, in IEEE Software,
7(1), page 13-17, January 1990.
O'Cinnéide M., Nixon P., “A Methodology for the
Automated Introduction of Design Patterns”, in ICSM
'99: Proceedings of the IEEE International
Conference on Software Maintenance, IEEE
Computer Society, 1999, pages 463.
Dunsmore A.P., Comprehension and Visualisation of
Object-Oriented code for Inspections, Technical
Report, EFoCS-33-98, Computer Science Department,
University of Strathclyde, 1998.
Eden A. H., Yehudai A., Gil J., “Precise specification and
automatic application of design patterns”, in ASE '97:
Proceedings of the 12th international conference on
Automated software engineering (formerly: KBSE),
IEEE Computer Society, 1997, pages 143.
Fowler M., “Analysis patterns: reusable objects models”,
Addison Wesley Longman Publishing Co, Inc., 1997
France R. B., Kim D., Ghosh S., Song E., “A UML-Based
Pattern Specification Technique”, in IEEE Trans.
Softw. Eng., IEEE Press, 2004, 30, pages 193-206.
Gamma E., Helm R., Johnson R., Vlissides J., “Design
Patterns: Elements of Reusable Object-Oriented
Software”, Addison Wesley Professional, 1995.
Guennec A. L., Sunyé G., Jézéquel, J., “Precise Modeling
of Design Patterns”, in UML, 2000, pages 482-496.
Guéhéneuc Y. G., Albin-Amiot. H., “Using Design
Patterns and Constraints to Automate the Detection
and Correction of Inter-Class Design Defects”, in
Proceedings conference TOOLS, July 2001, pages
296-305.
Huston B., “The effects of design pattern application on
metric scores”, in Journal of Systems and Software,
58(3), Elsevier Science, September 15, 2001, pages
261-269.
Neptune, [w] http://neptune.irit.fr, 2003.
Sunyé G., Pollet D., Le Traon Y., Jézéquel J.M.,
“Refactoring UML Models”, in Proceedings of UML
2001, pages 134-148.
Table 1: State of the Strong Points of the Composite Alternative Models.
Alternative model number
Strong point Sub-features 5 1 4 2 3
1
-
- - --
2
+
- - - -
1
3
+
3
2
-
0
-
0
-
0
-
0
1
+ - - --
2
- + + --
2
3
-
3
1
+
3
2
+
3
2
+
3
1
-
0
Quality score:
50% 33.3% 33.3% 16.7% 0%
ICSOFT 2007 - International Conference on Software and Data Technologies
424