Abstract
Building applications by assembling software components requires analyses of Architecture Description (AD) models for checking that component interactions respect the application and runtime context requirements. Most existing interaction model analyses are static: they do not take into account runtime information, e.g., parameter values.
This paper presents a model-based framework that enables architects to both specify component interaction and perform dynamic validation. Our framework analyses AD models to identify partially compatible interactions, which require runtime checking. Then, it instruments the application to reify runtime information for error detection. By using this framework in iterative software design processes, architects can get design feedback, i.e., detected errors, and update the AD models accordingly. Moreover, our solution is generic regarding underlying platforms. This genericity is achieved through the mappings from the generic AD models to platform-specific API calls for constructing the running system.
This work was partially funded by the French ANR TL FAROS project.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. on Software Engineering 26(1) (January 2000)
Hoare, C.: Communicating Sequential Processes. Prentice Hall, Englewood Cliffs (2004)
Magee, J.: Behavioral analysis of software architecture using ltsa. In: Proceedings of the 21st international conference on Software engineering, pp. 634–637. IEEE Computer Society, Los Alamitos (1999)
Collet, P., Rousseau, R.: Efficient Implementation Techniques for Advanced Assertion Languages. RSTI - Série L’Objet (RSTI-Objet) 5(3-4), 417–442 (1999)
Nunziati, S.: Personal health record, www.d-m-p.org/docs/EnglishVersionDMP.pdf
Sriplakich, P., Waignier, G., Le Meur, A.F.: Enabling dynamic co-evolution of models and runtime applications. In: Proceedings of the 1st IEEE International Workshop on Model-Driven Development of Autonomic Systems (MDDAS 2008), Turku, Finland, July 2008. IEEE Computer Society, Los Alamitos (to appear, 2008)
Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Foundations of Component-Based Systems. Cambridge University Press, Cambridge (2000)
Monroe, R.T.: Capturing Software Architecture Design Expertise with Armani (2001)
Dashofy, E.M., der Hoek, A.V., Taylor, R.N.: A highly-extensible, XML-based architecture description language. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA 2001). IEEE Computer Society, Los Alamitos (2001)
OMG: Object Constraint Language (OCL). 2.0 edn. (May 2006)
Allen, F.E.: Control flow analysis. SIGPLAN Not. 5(7), 1–19 (1970)
Russell, N., ter Hofstede, A.H., van der Aalst, W.M., Mulyar, N.: Workflow control-flow patterns: A revised view. BPM Center Report BPM-06-22
OMG: Unified Modeling Language (UML): Superstructure, v2.1.1 (August 2007)
Maxima: a computer algebra system, http://maxima.sourceforge.net
Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.B.: An open component model and its support in Java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054. Springer, Heidelberg (2004)
OMG: CORBA Component Model, v4.0, formal/06-04-01(April 2006)
Barais, O., Lawall, J., Le Meur, A.F., Duchien, L.: Safe integration of new concerns in a software architecture. In: Proceedings of the 13th Annual IEEE International Conference on Engineering of Computer Based Systems (ECBS 2006). IEEE Computer Society, Los Alamitos (2006)
Kildall, G.: A unified approach to global program optimization. In: 1st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (1973)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241. Springer, Heidelberg (1997)
Pawlak, R.: Spoon: Compile-time annotation processing for middleware. IEEE Distributed Systems Online 7(11) (November 2006)
Batista, T., Joolia, A., Coulson, G.: Managing dynamic reconfiguration in component-based systems. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 1–17. Springer, Heidelberg (2005)
Coulson, G., Blair, G., Grace, P., Joolia, A., Lee, K., Ueyama, J.: Opencom v2: A component model for building systems software. In: IASTED Software Engineering and Applications (2004)
Hein, C., Ritter, T., Wagner, M.: System monitoring using constraint checking as part of model based system management. In: International Workshop Models@run.time (2007)
Jung, H., Rubio-Medrano, C.E., Wong, W.E., Cheon, Y.: Architectural Assertions: Checking Architecrural Constraints at Run-Time
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Waignier, G., Sriplakich, P., Le Meur, AF., Duchien, L. (2008). A Model-Based Framework for Statically and Dynamically Checking Component Interactions . 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_27
Download citation
DOI: https://doi.org/10.1007/978-3-540-87875-9_27
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)