Abstract
Evolution and customization of component-based systems require an explicit understanding of component inter-dependencies. Implicit assumptions, poor documentation and hidden dependencies turn even simple changes into challenges. The problem is exacerbated in XML-intensive projects due to the use of soft references and the lack of information hiding. We address this with dependency tracking interface types for models and metamodels. We provide automatic compatibility checks and a heuristic inference procedure for our interfaces, which allows easy and incremental adoption of our technique even in mature projects. We have implemented a prototype and applied it to two large cases: an enterprise resource planning system and a healthcare information system.
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
Bosch, J.: Design & Use of Software Architectures - Adopting and evolving a product-line approach. Addison-Wesley, Reading (2000)
Hessellund, A., Czarnecki, K., Wasowski, A.: Guided development with multiple domain-specific languages. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 46–60. Springer, Heidelberg (2007)
Nentwich, C., Emmerich, W., Finkelstein, A.: Static consistency checking for distributed specifications. In: ASE, p. 115. IEEE Computer Society, Los Alamitos (2001)
The Apache Software Foundation: The Open For Business Project (OFBiz) (2008) (May 7th, 2008), http://ofbiz.apache.org/
Health Information Systems Programme (HISP): District Health Information Software (DHIS) (2008) (May 7th, 2008), http://www.hisp.info/
Junker, U.: Configuration. In: Rossi, F., van Beek, P., Walsh, T. (eds.) Handbook of Constraint Programming. Elsevier Science Inc., New York (2006)
Chen, S.: Opening Up Enterprise Software: Why Enterprises are Adopting Open Source Applications (2006), http://www.opensourcestrategies.com/slides/
Valiente, G.: Algorithms on Trees and Graphs. Springer, Heidelberg (2002)
Alfaro, L., Henzinger, T.A.: Interface theories for component-based design. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211. Springer, Heidelberg (2001)
Alfaro, L., Henzinger, T.A., Stoelinga, M.: Timed interfaces. In: Sangiovanni-Vincentelli, A.L., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491. Springer, Heidelberg (2002)
Alfaro, L., Henzinger, T.A.: Interface automata. In: 9th Annual Symposium on Foundations of Software Engineering (FSE), pp. 109–120. ACM Press, New York (2001)
Larsen, K.G., Nyman, U., Wąsowski, A.: Modal I/O automata for interface and product line theories. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421. Springer, Heidelberg (2007)
Larsen, K.G., Nyman, U., Wąsowski, A.: Interface input/output automata. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085. Springer, Heidelberg (2006)
Chakrabarti, A., de Alfaro, L., Henzinger, T.A., Stoelinga, M.: Resource interfaces. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855. Springer, Heidelberg (2003)
Easwaran, A., Lee, I., Sokolsky, O.: Interface algebra for analysis of hierarchical real-time systems. In: Foundations of Interface Technologies (FIT) (2008)
Boudali, H., Crouzen, P., Haverkort, B.R., Kuntz, M., Stoelinga, M.: Rich interfaces for dependability: Compositional methods for dynamic fault trees and Arcade models. In: Foundations of Interface Technologies (FIT) (2008)
Wright, A.K., Cartwright, R.: A practical soft type system for scheme. In: LISP and Functional Programming, pp. 250–262 (1994)
Thiemann, P.: Towards a type system for analyzing javascript programs. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 408–422. Springer, Heidelberg (2005)
Hessellund, A., Sestoft, P.: Flow analysis of code customizations. In: Vitek, J. (ed.) ECOOP. LNCS, vol. 5142, pp. 285–308. Springer, Heidelberg (2008)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hessellund, A., Wąsowski, A. (2008). Interfaces and Metainterfaces for Models and Metamodels. 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_29
Download citation
DOI: https://doi.org/10.1007/978-3-540-87875-9_29
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)