Abstract
Model verification is the process of checking models for known problems (or anti-patterns). We propose a new approach to declaratively specify and automatically detect problems in domain-specific models using QVT (Query/View/Transformation). Problems are specified with QVT-Relations transformations from models where elements involved in problems are identified, to result models where problem occurrences are reported in a structured and concise manner. The approach uses a standard formalism, applies generically to any MOF-based modeling language and has well-defined detection semantics. We apply the approach by defining a catalog of problems for a particular but important kind of models, namely metamodels. We report on a case study where we used the catalog to verify recent revisions of the UML metamodel. We detected many problem occurrences that we analyzed and helped resolve in the (latest) UML 2.4 revision. As a result, the metamodel was found to have improved dramatically by the experts defining it.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Unified Modeling Language (UML), Infrastructure v2.4. OMG ptc/2010-11-03
Business Process Modeling and Notation (BPMN) v2.0. OMG dtc/2010-06-05
Meta Object Facility (MOF) Core v2.4. OMG ptc/2010-12-08
Object Constraint Language (OCL) v2.2. OMG formal/2010-02-01
Elaasar, M., Briand, L., Labiche, L.: An Approach to Detecting Design Patterns in MOF-Based Domain-Specific Models with QVT. Technical Report SCE-10-02, Carleton University (November 2010) (submitted for publication)
Query/View/Transformation (QVT) v1.0. OMG formal/2008-04-03
OMG issues database, http://www.omg.org/issues/
Fowler, M.: Refactoring: Improving the Design of Existing Code, 1st edn (June 1999)
Koenig, A.: Patterns and Antipatterns. J. of OO Programming 8(1), 46–48 (1995)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software (1995)
Brown, W., Malveau, R., Brown, W., McCormick III, H., Mowbray, T.: Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis. 1st edn (1998)
Huzar, Z., Kuzniarz, L., Reggio, G., Sourrouille, J.: Consistency Problems in UML-Based Software Development. In: Jardim Nunes, N., Selic, B., Rodrigues da Silva, A., Toval Alvarez, A. (eds.) UML Satellite Activities 2004. LNCS, vol. 3297, pp. 1–12. Springer, Heidelberg (2005)
Koehler, J., Vanhatalo, J.: Process Anti-patterns: How to Avoid the Common Traps of Business Process Modeling. IBM WebSphere Developer Technical Journal (Febraury 2007)
Travassos, G., Shull, F., Fredericks, M., Basili, V.: Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality. In: Proc. of OOPSLA 1999, pp. 47–56 (1999)
Dhambri, K., Sahraoui, H., Poulin, P.: Visual Detection of Design Anomalies. In: Proc. of CSMR 2008, pp. 279–283 (2008)
Marinescu, R.: Detection Strategies: Metrics-Based Rules for Detecting Design Flaws. In: Proc. of the ICSM 2004, pp. 350–359 (2004)
Munro, M.: Product Metrics for Automatic Identification of ”Bad Smell” Design Problems in Java Source-Code. In: Proc. of the 11th Int’l Soft. Metrics Symposium, p. 15 (2005)
Trcka, N., Aalst, W., Sidorova, N.: Data-Flow Anti-patterns: Discovering Data-Flow Errors in Workflows. In: van Eck, P., Gordijn, J., Wieringa, R. (eds.) CAiSE 2009. LNCS, vol. 5565, pp. 425–439. Springer, Heidelberg (2009)
Correa, A., Werner, C., Zaverucha, G.: Object oriented design expertise reuse: An approach based on heuristics, design patterns and anti-patterns. In: Frakes, W.B. (ed.) ICSR 2000. LNCS, vol. 1844, pp. 336–352. Springer, Heidelberg (2000)
Moha, N., Gueheneuc, Y.-G., Duchien, L., Le Meur, A.-F.: DECOR: A Method for the Specification and Detection of Code and Design Smells. TSE 36(1) (January/February 2010)
Khomh, F., Vaucher, S., Gueheneuc, Y.-G., Sahraoui, H.: A Bayesian Approach for the Detection of Code and Design Smells. In: Proc. of ICSQ 2009, pp. 305–314 (2009)
Meyer, M.: Pattern-based Reengineering of Software Systems. In: Proc. of WCRE 2006, pp. 305–306 (October 2006)
Feng, T., Zhang, J., Wang, H., Wang, X.: Software Design Improvement through Anti-patterns Identification. In: Proc. of ICSM 2004, p. 534 (2004)
Enckevort, T.: Refactoring UML Models: Using OpenArchitectureWare to measure UML model quality and perform pattern matching on UML models with OCL queries. In: Proc. of OOPSLA 2009, pp. 635–646 (2009)
Medini QVT: A Toolset for Model to Model Transformations, http://projects.ikv.de/qvt
Elaasar, M., Briand, L., Labiche Y.: Metamodeling Anti-Patterns (2010), https://sites.google.com/site/metamodelingantipatterns
UML Revision Task Force Wiki, http://www.omgwiki.org/uml2-rtf
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Elaasar, M., Briand, L., Labiche, Y. (2011). Domain-Specific Model Verification with QVT. In: France, R.B., Kuester, J.M., Bordbar, B., Paige, R.F. (eds) Modelling Foundations and Applications. ECMFA 2011. Lecture Notes in Computer Science, vol 6698. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21470-7_20
Download citation
DOI: https://doi.org/10.1007/978-3-642-21470-7_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21469-1
Online ISBN: 978-3-642-21470-7
eBook Packages: Computer ScienceComputer Science (R0)