Abstract
In this paper we present an approach for the analysis of graph transformation rules based on an intermediate OCL representation. We translate different rule semantics into OCL, together with the properties of interest (like rule applicability, conflicts or independence). The intermediate representation serves three purposes: (1) it allows the seamless integration of graph transformation rules with the MOF and OCL standards, and enables taking the meta-model and its OCL constraints (i.e. well-formedness rules) into account when verifying the correctness of the rules; (2) it permits the interoperability of graph transformation concepts with a number of standards-based model-driven development tools; and (3) it makes available a plethora of OCL tools to actually perform the rule analysis. This approach is especially useful to analyse the operational semantics of Domain Specific Visual Languages. We have automated these ideas by providing designers with tools for the graphical specification and analysis of graph transformation rules, including a back-annotation mechanism that presents the analysis results in terms of the original language notation.
Similar content being viewed by others
References
AGG graph transformation analysis tool. http://tfs.cs.tu-berlin.de/agg/
Anastasakis, K., Bordbar, K., Georg, G., Ray, I.: UML2Alloy: A challenging model transformation. In: Proceedings of MODELS’07, LNCS 4735, pp. 436 –450. Springer, Heildelberg (2007)
Andoni, A., Daniliuc, D., Khurshid, S., Marinov, D.: Evaluating the “Small Scope Hypothesis”. Technical Report MIT-LCS-TR-921, MIT CSAIL (2003)
Baldan, P., Corradini, A., König, B.: A static analysis technique for graph transformation systems. In: Proceedings of CONCUR’01, LNCS 2154, pp. 381–395. Springer, Heildelberg (2001)
Baresi, L., Spoletini, P.: On the use of Alloy to analyze graph transformation systems. In: Proceedings of ICGT’06, LNCS 4178, pp. 306–320. Springer, Heildelberg (2006)
Berardi, D., Calvanese, D., Giacomo, G.D.: Reasoning on UML class diagrams. Artificial Intelligence. Vol. 168(1–2), pp. 70–118. Elsevier, Amsterdam (2005)
Berry D.M.: Formal methods: the very idea. Some thoughts about why they work when they work. Sci. Comput. Program. 42(1), 11–27 (2002)
Borgida A., Mylopoulos J., Reiter R.: On the frame problem in procedure specifications. IEEE Trans. Softw. Eng. 21(10), 785–798 (1995)
Brottier, E., Fleurey, F., Steel, J., Baudry, B., Le Traon, Y.: Metamodel-based test generation for model transformations:an algorithm and a tool. In: Proceedings of ISSRE’06, IEEE Computer Society, pp. 85–94 (2006)
Brucker, A.D., Wolff, B.: The HOL-OCL book. Technical Report 525, ETH Zurich (2006)
Brucker A.D., Wolff B.: Semantics, calculi, and analysis for object-oriented specifications. Acta Inform. 56(4), 255–284 (2009)
Büttner, F., Gogolla, M.: Realizing graph transformations by pre- and postconditions and command sequences. In: Proceedings of ICGT’06, LNCS 4178, pp. 398–413. Springer, Heildelberg (2006)
Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: Proceedings of ASE’07, pp. 547–548 (2007)
Cabot, J., Clarisó, R., Riera, D.: Verification of UML/OCL Class Diagrams Using Constraint Programming. MoDeVVa 2008, ICST Workshop, pp. 73–80 (2008)
Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Analysing graph transformation rules through OCL. In: Proceedings of ICMT, LNCS 5063, pp. 229–244. Springer, Heidelberg (2008a)
Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: An invariant-based method for the analysis of declarative model-to-model transformations. In: Proceedings of MODELS 2008, LNCS 5301, pp. 37–52. Springer, Heidelberg (2008b)
Clavel, M., Egea, M.: A rewriting-based validation tool for UML+OCL static class diagrams. In: Proceedings of AMAST’06, LNCS 4019, pp. 368–373. Springer, Heidelberg (2006)
de Lara, J., Vangheluwe, H.: AToM3: A tool for multi-formalism modelling and meta-modelling. In: Proceedings of FASE’02, LNCS 2306, pp. 174–188 (2002)
de Lara J., Bardohl R., Ehrig H., Ehrig K., Prange U., Taentzer G.: Attributed graph transformation with node type inheritance. Theor. Comput. Sci. 376(3), 139–163 (2007)
de Lara, J., Vangheluwe, H.: Defining visual notations and their manipulation through meta-modelling and graph transformation. J. Vis. Lang. Comput. 15(3–4):309–330. Elsevier (2004)
Dresden OCL Toolkit. http://dresden-ocl.sourceforge.net/ (visited October 2008)
Ebert, J., Riediger, V., Winter, A.: Graph technology in reverse engineering. The TGraph Approach. In: Proceedings of 10th Workshop Software Reengineering. GI Lecture Notes in Informatics, pp. 67–81 (2008)
Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Heidelberg (2006)
Ehrig, H., Heckel, R., Korff, M., Löwe, M., Ribeiro, L., Wagner, A., Corradini, A.: Algebraic Approaches to Graph Transformation—Part II: Single Pushout Approach and Comparison with Double Pushout Approach. In [52], pp. 247–312 (1999)
Ermel, C., Hölscher, K., Kuske, S., Ziemann, P.: Animated simulation of integrated UML behavioral models based on graph transformation. In: Proceedings of IEEE VL/HCC 2005, pp. 125–133 (2005)
Fujaba tool suite home page: http://wwwcs.uni-paderborn.de/cs/fujaba/
Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL models in USE by automatic snapshot generation. SoSyM 4(4):386–398. Springer (2005)
Heckel, R., Küster, J.-M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Proceedings of ICGT’02, LNCS 2505, pp. 161–176. Springer, Heidelberg (2002)
Jackson D.: Alloy: a lightweight object modelling notation. ACM TOSEM 11(2), 256–290 (2002)
Jouault, F., Allilairem, F., Bézivin, J., Kurtev, I., Valduriez, P.: ATL: a QVT-like transformation language. OOPSLA Companion, pp. 719–720, ACM (2006)
Kalnins, A., Barzdins, J., Celms, E.: Model Transformation Language MOLA. In: Proceedings of MDAFA’04, LNCS 3599, pp. 62–76. Springer, Heidelberg (2004)
Katz, S.: A survey of verification and static analysis for aspects. Technical Report AOSD-Europe Milestone M8.1, AOSD-Europe-Technion-1, Technion Israel (2005)
Kniesel, G., Bardey, U.: An analysis of the Correctness and Completeness of Aspect Weaving. WCRE’06, pp. 324–333, IEEE Computer Society (2006)
Kniesel, G.: Detection and Resolution of Weaving Interactions. In: Proceedings of TAOSD, LNCS 5490, pp. 135–186. Springer, Heidelberg (2009)
Lambers, L., Ehrig, H., Taentzer, G.: Sufficient criteria for applicability and non-applicability of rule sequences. In: Proceedings of GT-VMT’08, Electronic Communications of the EASST, vol. 10 (2008)
Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design. Prentice Hall, Upper Saddle River, 3rd Edition (2004)
Markovic S., Baar T.: Refactoring OCL annotated UML class diagrams. SoSyM 7(1), 25–47 (2008) Springer
Mellor S.J., Scott K., Uhl A., Weise D.: MDA Distilled. Addison-Wesley Object Technology Series, Redwood (2004)
Mehner, K., Monga, M., Taentzer, G.: Interaction Analysis in Aspect-Oriented Models. RE’06, pp. 66–75, IEEE Computer Society (2006)
Mens, T., Tourwé, T.: A Survey of Software Refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 IEEE (2004)
Mens, T., Kniesel, G., Runge, O.: Transformation dependency analysis— a comparison of two approaches. LMO’06 12:167–182. Hermes Science Publishing (2006)
Mens T., Taentzer G., Runge O.: Analysing refactoring dependencies using graph transformation. SoSyM 6(3), 269–285 (2007) Springer
MOF 2.0 standard specification at: http://www.omg.org/spec/MOF/2.0/
OCL 2.0 standard specification at: http://www.omg.org/technology/documents/formal/ocl.htm
Pérez Velasco P.P., de Lara J.: Using Matrix Graph Grammars for the Analysis of Behavioural Specifications: Sequential and Parallel Independence. Electr. Notes Theor. Comput. Sci. 206, 133–152 (2008)
Queralt, A., Teniente, E.: Reasoning on UML Class Diagrams with OCL constraints. ER 2006, LNCS 4215, pp. 497–512. Springer (2006)
Queralt, A., Teniente, E.: Decidable Reasoning in UML Schemas with Constraints. CAISE 2008, pp.: 281-295. Springer (2008a)
Queralt, A., Teniente, E.: Validation of UML Conceptual Schemas with Operations. CAISE Forum 2008, pp. 101–104. CEUR Workshop Proceedings (2008b)
QVT standard specification at: http://www.omg.org/docs/ptc/05-11-01.pdf
Rensink, A.: Explicit State Model Checking for Graph Grammars. Concurrency, Graphs and Models, LNCS 5065, pp. 114–132. Springer (2008)
Rivera, J.E., Guerra, E., de Lara, J., Vallecillo, A.: Analyzing rule-based behavioral semantics of visual modeling languages with maude. In: Proceedigs of SLE’08, LNCS 5452, pp. 54–73. Springer (2008)
Rozenberg G. (eds): Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations. World Scientific, Singapore (1997
Sendall, S., Strohmeier, A.: Using OCL and UML to specify system behavior. In Object Modeling with the OCL 2002, LNCS 2263, pp. 250–280. Springer (2002)
Schürr, A.: Specification of graph translators with triple graph grammars. In WG’94, LNCS 903, pp. 151–163. Springer (1994)
Taentzer, G., Rensink, A.: Ensuring structural constraints in graph-based models with type inheritance. In: Proceedings of FASE’05, LNCS 3442, pp. 64–79. Springer, Heidelberg (2005)
The ECLiPSe Constraint Programming System. http://www.eclipse-clp.org
Varró D.: Automated formal verification of visual modeling languages by model checking. SoSyM 3(2), 85–113 (2004) Springer
Völter M., Stahl T.: Model-Driven Software Development. Wiley, New York (2006)
XML Metadata Interchange (XMI), v2.1.1 standard specification at: http://www.omg.org/cgi-bin/doc?formal/2007-12-01
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Jeff Gray, Alfonso Pierantonio, and Antonio Vallecillo.
Rights and permissions
About this article
Cite this article
Cabot, J., Clarisó, R., Guerra, E. et al. A UML/OCL framework for the analysis of graph transformation rules. Softw Syst Model 9, 335–357 (2010). https://doi.org/10.1007/s10270-009-0129-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-009-0129-0