Abstract
We are proposing an approach for applying design patterns that consists of recognizing occurrences of the modeling problem solved by the design pattern (problem pattern) in input models, which are then transformed according to the solution proposed by the design pattern (solution pattern). In this paper, we look at the issue of identifying instances of problem patterns in input models, and marking the appropriate entities so that the appropriate transformations can be applied. Model marking within the context of MDA is a notoriously difficult problem, in part because of the structural complexity of the patterns that we look for, and in part because of the required design knowledge– and expertise. Our representation of design problem patterns makes it relatively easy to express the pattern matching problem as a constraint satisfaction problem. In this paper, we present our representation of design problem patterns, show how matching such patterns can be expressed as a constraint satisfaction problem, and present an implementation using ILOG JSolver, a commercial CSP solver.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alikacem, E., Sahraoui, H.A.: Détection d’anomalies utilisant un langage de description règle de qualité. In: Rousseau, R., Urtado, C., Vauttier, S. (eds.) LMO 2006, pp. 185–200 (2006)
Arcelli, A., Masiero, S., Raibulet, C.: Elemental Design Patterns Recognition In Java. In: 13th IEEE Int. Work. Software Technology and Engineering Practice, pp. 196–205 (2005)
Bacchus, F., van Beek, P.: On the Conversion between Non-Binary and Binary Constraint Satisfaction Problems. In: 15th Conf. on Artificial Intelligence, pp. 311–318 (1998)
Chun, A.: Constraint Programming in Java with JSolver. In: 1st Int. Conf. and Exhibition on the Practical Application of Constraint Technologies and Logic Programming (1999)
Ciupke, O.: Automatic Detection of Design Problems in Object-Oriented Reengineering. In: TOOLS 30, pp. 18–32. IEEE Computer Society Press, Los Alamitos (1999)
El-Boussaidi, G., Mili, H.: A Model-driven Framework for Representing and Applying Design Patterns. In: 31st COMPSAC, vol. 1, pp. 97–100 (2007)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Guéhéneuc, Y.-G., Jussien, N.: Using Explanations for Design Patterns Identification. In: IJCAI 2001 Workshop on Modelling and Solving problems with constraints, pp. 57–64 (2001)
Gil, J., Maman, I.: Micro Patterns in Java Code. In: 20th conference on Object oriented programming systems languages and applications, OOPSLA 2005, pp. 97–116 (2005)
Horvath, A., Varro, G., Varro, D.: Generic search plans for matching advanced graph patterns. In: The 6th International GT-VMT Workshop (2007)
Model Driven Architecture Guide, http://www.omg.org/cgi-bin/doc?omg/03-06-01
Mili, H., El-Boussaidi, G.: Representing and Applying Design Patterns: What Is the Problem? In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 186–200. Springer, Heidelberg (2005)
Mili, H., Mili, F., Mili, A.: Reusing software: Issues and research directions. IEEE Transactions on Software Engineering 21(6), 528–562 (1995)
Partsch, H., Steinbruggen, R.: Program Transformation Systems. Computing Surveys 15(3), 199–236 (1983)
Rudolf, M.: Utilizing Constraint Satisfaction Techniques for Efficient Graph Pattern Matching. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 238–251. Springer, Heidelberg (2000)
Sahraoui, H., Boukadoum, M., Lounis, H., Ethève, F.: Predicting Class Libraries Interface Evolution: an investigation into machine learning approaches. In: The 7th APSEC (2000)
Tsang, E.P.K.: Foundations of Constraint Satisfaction. Academic Press, London (1993)
Varro, G., Friedl, K., Varro, D.: Adaptive Graph Pattern Matching for Model Transformations using Model-sensitive Search Plans. In: Karsai, G., Taentzer, G. (eds.) GraMot 2005. ENTCS, vol. 152, pp. 191–205 (2006)
Zimmer, W.: Relationships between design patterns. In: Pattern Languages of Program Design. Addison-Wesley, Reading (1994)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
El-Boussaidi, G., Mili, H. (2008). Detecting Patterns of Poor Design Solutions Using Constraint Propagation. In: Czarnecki, K., Ober, I., Bruel, JM., Uhl, A., Völter, M. (eds) Model Driven Engineering Languages and Systems. MODELS 2008. Lecture Notes in Computer Science, vol 5301. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87875-9_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-87875-9_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-87874-2
Online ISBN: 978-3-540-87875-9
eBook Packages: Computer ScienceComputer Science (R0)