Abstract
Architecture constraints are specifications defined by developers at design-time and checked on design artifacts (architecture descriptions, like UML models). They enable to check, after an evolution, whether an architecture description still conforms to the conditions imposed by an architecture pattern, style or any design principle. One possible language for specifying such constraints is the OMG’s OCL. Most of these architecture constraints are formalized as "gross" specifications, without any structure or parameterization possibilities. This causes difficulties in their reuse. We propose in this work a process for translating architecture constraints into a special kind of components called constraint-components. This makes these specifications reusable (easily put and checked out in/from repositories), parametrizable (generic and applicable in different contexts) and composable with others. We implemented this process by considering the translation of OCL constraints into constraint-components described with an ADL called CLACS.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
References
Bajwa, I.S., Lee, M.G.: Transformation rules for translating business rules to OCL constraints. In: France, R.B., Kuester, J.M., Bordbar, B., Paige, R.F. (eds.) ECMFA 2011. LNCS, vol. 6698, pp. 132–143. Springer, Heidelberg (2011)
Blewitt, A., Bundy, A., Stark, I.: Automatic verification of design patterns in java. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), pp. 224–232. ACM (2005)
Buschmann, F., Henney, K., Schmidt, D.C.: Pattern-Oriented Software Architecture. On Patterns and Pattern Languages, vol. 5. Wiley, April 2007
Cabot, J., Clarisó, R., Riera, D.: Umltocsp: a tool for the formal verification of uml/ocl models using constraint programming. In: Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering, pp. 547–548. ACM (2007)
Chappell, D.: Enterprise Service Bus: Theory in Practice. O’Reilly Media (2004)
Chimiak-Opoka, J.: OCLLib, OCLUnit, OCLDoc: pragmatic extensions for the object constraint language. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 665–669. Springer, Heidelberg (2009)
Correa, A., Werner, C., Barros, M.: Refactoring to improve the understandability of specifications written in object constraint language. IET Software 2, 69–90 (2009)
Demuth, B.: The dresden OCL toolkit and its role in information systems development. In: ISD 2004 (2004)
Eichberg, M., Kloppenburg, S., Klose, K., Mezini, M.: Defining and continuous checking of structural program dependencies. In: Proceedings of the 30th International Conference on Software Engineering (ICSE 2008). ACM (2008)
Favaro, J.: What price reusability?: a case study. In: ACM SIGAda Ada Letters, vol. 11. ACM (1991)
Ferdjoukh, A., Baert, A.-E., Chateau, A., Coletta, R., Nebut, C.: A CSP approach for metamodel instantiation. In: IEEE Internationnal Conference on Tools with Artificial Intelligence, ICTAI 2013, pp. 1044–1051 (2013)
Frakes, W., Terry, C.: Software reuse: metrics and models. ACM Computing Surveys (CSUR) 28 (1996)
Gaffney, J.E., Durek, T.A.: Software reuse key to enhanced productivity: some quantitative models. Information and Software Technology 31(5) (1989)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, October 1994
Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press (2000)
OMG: Object Management Group. Object constraint language (ocl), v2.4, specification: Omg document formal/2014-02-03, February 2014. http://www.omg.org/spec/OCL/2.4/
Hassam, K., Sadou, S., Fleurquin, R., et al.: Adapting OCL constraints after a refactoring of their model using an mde process. In: BElgian-NEtherlands software eVOLution seminar (BENEVOL 2010), pp. 16–27 (2010)
Hou, D., Hoover, H.J.: Using scl to specify and check design intent in source code. IEEE Transactions on Software Engineering 32(6), 404–423 (2006)
Klarlund, N., Koistinen, J., Schwartzbach, M.I.: Formal design constraints. In: Proceedings of the 11th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, San Jose, CA, USA, pp. 370–383. ACM Press (1996)
Lattix. http://lattix.com/
Meyer, B.: Touch of Class. Springer, June 2013
Monroe, R.T.: Capturing software architecture design expertise with armani. Technical report, School of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania, USA (2001)
Petre, M.: Uml in practice. In: Proceedings of the 35th International Conference on Software Engineering (ICSE 2013), pp. 722–731. IEEE Press, May 2013
Reimann, J., Wilke, C., Demuth, B., Muck, M., Aßmann, U.: Tool supported OCL refactoring catalogue. In: Proceedings of the 12th Workshop on OCL and Textual Modelling, pp. 7–12. ACM (2012)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall (1996)
Sonar. http://www.sonarqube.org/
Tai, K.-C.: The tree-to-tree correction problem. Journal of the ACM 26(3), 422–433 (1997)
Tibermacine, C.: Software Architecture 2, chapter Architecture Constraints. John Wiley and Sons, New York (2014)
Tibermacine, C., Fleurquin, R., Sadou, S.: On-demand quality-oriented assistance in component-based software evolution. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Ren, X.-M., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 294–309. Springer, Heidelberg (2006)
Tibermacine, C., Fleurquin, R., Sadou, S.: Simplifying transformations of architectural constraints. In: Proceedings of the ACM Symposium on Applied Computing (SAC 2006), Track on Model Transformation, Dijon, France. ACM Press. April 2006
Tibermacine, C., Sadou, S., Dony, C., Fabresse, L.: Component-based specification of software architecture constraints. In: Proceedings of the 14th ACM Sigsoft Symposium on Component Based Software Engineering (CBSE 2011). ACM (2011)
That, T.M.T., Tibermacine, C., Sadou, S.: Catalogue of architectural patterns characterized by constraint components, Version 1.0. Technical report, July 2013, 53p
Zdun, U., Avgeriou, P.: A catalog of architectural primitives for modeling architectural patterns. Information and Software Technology 50(9) (2008)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Kallel, S., Tramoni, B., Tibermacine, C., Dony, C., Kacem, A.H. (2015). Automatic Translation of Architecture Constraint Specifications into Components. In: Weyns, D., Mirandola, R., Crnkovic, I. (eds) Software Architecture. ECSA 2015. Lecture Notes in Computer Science(), vol 9278. Springer, Cham. https://doi.org/10.1007/978-3-319-23727-5_27
Download citation
DOI: https://doi.org/10.1007/978-3-319-23727-5_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-23726-8
Online ISBN: 978-3-319-23727-5
eBook Packages: Computer ScienceComputer Science (R0)