Abstract
In a step-wise design of systems, models of components are being developed on several levels of abstractions. In such a design process model transformations are used to change or replace (parts of) models. Model transformations are required to be behaviour preserving: component models at lower levels should adhere to the descriptions given in higher levels thus achieving substitutability. Moreover, for complex components, models usually consist of descriptions of different views or aspects (e.g. data and protocols). Consequently, different kinds of transformations take place on different views, and together they should guarantee behaviour preservation.
In this paper we discuss the applicability of formal methods concepts to model transformations. Formal methods come with build-in notions of transformations between models, or more precisely, with refinement and subtyping concepts which provide means for comparing component models on different levels with respect to their behaviour. Moreover, refinement and subtyping concepts for different views can be shown to neatly fit together. This is achieved by giving a common semantics to all views, which furthermore opens the possibility of checking consistency.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Akehurst, D.H., Kent, S.: A relational approach to defining transformations in a metamodel. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 243–258. Springer, Heidelberg (2002)
Bottoni, P., Parisi-Presicce, F., Taentzer, G.: Coordinated distributed diagram transformation for software evolution. In: Heckel, R., Mens, T., Wermelinger, M. (eds.) Electronic Notes in Theoretical Computer Science, vol. 72. Elsevier, Amsterdam (2003)
Cavalcanti, A., Sampaio, A., Woodcock, J.: A Refinement Strategy for Circus. Formal Aspects of Computing 15(2-3), 146–181 (2003)
de Roever, W.-P., Engelhardt, K.: Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge Tracts in Theoretical Computer Science, vol. 47. Cambridge University Press, Cambridge (1998)
Derrick, J., Boiten, E.A.: Non-atomic refinement in Z. In: Woodcock, J.C.P., Davies, J., Wing, J.M. (eds.) FM 1999. LNCS, vol. 1709, pp. 1477–1496. Springer, Heidelberg (1999)
Derrick, J., Boiten, E.: Refinement in Z and Object-Z, Foundations and Advanced Application. Springer, Heidelberg (2001)
Derrick, J., Wehrheim, H.: Using coupled simulations in non-atomic refinement. In: Bert, D., P. Bowen, J., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 127–147. Springer, Heidelberg (2003)
Derrick, J., Wehrheim, H.: Non-atomic refinement in Z and CSP. In: Treharne, H., King, S., C. Henson, M., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 24–44. Springer, Heidelberg (2005)
Derrick, J., Smith, G.: Structural Refinement of Systems Specified in Object-Z and CSP. Formal Aspects of Computing 15(1), 1–27 (2003)
Engels, G., Heckel, R., Küster, J.M., Groenewegen, L.: Consistency-preserving model evolution through transformations. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 212–226. Springer, Heidelberg (2002)
Fischer, C.: CSP-OZ: A combination of Object-Z and CSP. In: Bowman, H., Derrick, J. (eds.) Formal Methods for Open Object-Based Distributed Systems (FMOODS 1997), vol. 2, pp. 423–438. Chapman & Hall, Boca Raton (1997)
Formal Systems (Europe) Ltd. Failures-Divergence Refinement: FDR2 User Manual (October 1997)
Galloway, A.J., Stoddart, W.: An operational semantics for ZCCS. In: Hinchey, M., Liu, S. (eds.) Int. Conf. of Formal Engineering Methods (ICFEM). IEEE, Los Alamitos (1997)
Gardner, T., Griffin, C., Koehler, J., Hauser, R.: A review of OMG MOF 2.0 Query / Views / Transformations Submissions and Recommendations towards the final Standard. OMG document
He, J.: Process simulation and refinement. Formal Aspects of Computing 1(3), 229–241 (1989)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Josephs, M.B.: A state-based approach to communicating processes. Distributed Computing 3, 9–18 (1988)
Koehler, J., Hauser, R., Kapoor, S., Wu, F., Kumaran, S.: A Model-Driven Transformation Method. In: EDOC 2003, pp. 186–197. IEEE Computer Society, Los Alamitos (2003)
Krämer, B.J., Reussner, R.H., Schmidt, H.W.: Predicting properties of component based software architectures through parameterised contracts. In: Wirsing, M., Knapp, A., Balsamo, S. (eds.) RISSEF 2002. LNCS, vol. 2941, Springer, Heidelberg (2004)
Liskov, B., Wing, J.: A behavioural notion of subtyping. ACM Transactions on Programming Languages and Systems 16(6), 1811–1841 (1994)
Mahony, B.P., Dong, J.S.: Blending Object-Z and Timed CSP: An introduction to TCOZ. In: The 20th International Conference on Software Engineering (ICSE 1998), pp. 95–104. IEEE Computer Society Press, Los Alamitos (1998)
Mens, T., Van Eetvelde, N., Janssens, D., Demeyer, S.: Formalising Refactorings with Graph Transformations. Journal of Software Maintenance and Evolution (submitted)
Mens, T., Tourwé, T.: A Survey of Software Refactoring. IEEE Transactions on Software Engineering 30(2) (2004)
Möller, M., Olderog, E.-R., Rasch, H., Wehrheim, H.: Linking CSP-OZ with UML and Java: A Case Study. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 267–286. Springer, Heidelberg (2004)
Nierstrasz, O.: Regular types for active objects. In: Nierstrasz, O., Tsichritzis, D. (eds.) Object-oriented software composition, pp. 99–121. Prentice Hall, Englewood Cliffs (1995)
Olderog, E.-R., Wehrheim, H.: Specification and inheritance in CSP-OZ. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 361–379. Springer, Heidelberg (2003)
Philipps, J., Rumpe, B.: Refactoring of Programs and Specifications, pp. 281–297. Kluwer Academic Publishers, Dordrecht (2003)
Rasch, H., Wehrheim, H.: Checking Consistency in UML Diagrams: Classes and State Machines. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 229–243. Springer, Heidelberg (2003)
Rasch, H., Wehrheim, H.: Checking the validity of scenarios in UML models. In: Steffen, M., Zavattaro, G. (eds.) FMOODS 2005. LNCS, vol. 3535, pp. 67–82. Springer, Heidelberg (2005)
Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)
Smith, G.: A semantic integration of Object-Z and CSP for the specification of concurrent systems. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) FME 1997. LNCS, vol. 1313, pp. 62–81. Springer, Heidelberg (1997)
Smith, G.: The Object-Z Specification Language. Kluwer Academic Publisher, Dordrecht (2000)
Smith, G., Derrick, J.: Refinement and verification of concurrent systems specified in Object-Z and CSP. In: Hinchey, M., Liu, S. (eds.) Int. Conf. of Formal Engineering Methods (ICFEM), pp. 293–302. IEEE, Los Alamitos (1997)
Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice-Hall International Series in Computer Science (1992)
Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.-M.: Refactoring UML models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 134–148. Springer, Heidelberg (2001)
Wehrheim, H.: Relating State-based and Behaviour-oriented Subtyping. Nordic Journal of Computing 9(4), 405–435 (2002)
Wehrheim, H.: Behavioral subtyping relations for active objects. Formal Methods in System Design 23, 143–170 (2003)
Whittle, J.: Transformations and software modeling languages: Automating transformations in UML. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 227–242. Springer, Heidelberg (2002)
Woodcock, J., Davies, J.: Using Z – Specification, Refinement, and Proof. Prentice Hall, Englewood Cliffs (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wehrheim, H. (2006). Refinement and Consistency in Component Models with Multiple Views. In: Reussner, R.H., Stafford, J.A., Szyperski, C.A. (eds) Architecting Systems with Trustworthy Components. Lecture Notes in Computer Science, vol 3938. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11786160_5
Download citation
DOI: https://doi.org/10.1007/11786160_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35800-8
Online ISBN: 978-3-540-35833-6
eBook Packages: Computer ScienceComputer Science (R0)