Formalization of Federated Schema Architectural Style Variability

Abstract

Data integration requires managing heterogeneous schema information. A federated database system integrates heterogeneous, autonomous database systems on the schema level, whereby both local applications and global applications accessing multiple component database systems are supported. Such a federated database system is a complex system of systems which requires a well-designed organization at the system and software architecture level. A specific challenge that federated database systems face is the organization of schemas into a schema architecture. This paper provides a detailed, formal investigation of variability in the family of schema architectures, which are central components in the architecture of federated database systems. It is shown how the variability of specific architectures can be compared to the reference architecture and to each other. To achieve this, we combine the semi-formal object-oriented modeling language UML with the formal object-oriented specification language Object-Z. Appropriate use of inheritance in the formal specification, as enabled by Object-Z, greatly supports specifying and analyzing the variability among the studied schema architectures. The investigation also serves to illustrate the employed specification techniques for analyzing and comparing software architecture specifications.

Share and Cite:

Hasselbring, W. (2015) Formalization of Federated Schema Architectural Style Variability. Journal of Software Engineering and Applications, 8, 72-92. doi: 10.4236/jsea.2015.82009.

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] Gomaa, H. (2004) Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston.
[2] Deelstra, S., Sinnema, M. and Bosch, J. (2004) Experiences in Software Product Families: Problems and Issues during Product Derivation. In: Nord, R.L., Ed., Software Product Lines, Lecture Notes in Computer Science Volume 3154, Springer-Verlag, Berlin, 165-182.
[3] Metzger, A., Pohl, K., Heymans, P., Schobbens, P. and Saval, G. (2007) Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis. Proceedings of the 15th IEEE International Requirements Engineering Conference, Delhi, 15-19 October 2007, 243-253.
[4] Galster, M., Weyns, D., Tofan, D., Michalik, B. and Avgeriou, P. (2014) Variability in Software Systems—A Systematic Literature Review. IEEE Transactions on Software Engineering, 40, 282-306.
http://dx.doi.org/10.1109/TSE.2013.56
[5] Hasselbring, W. (2002) Component-Based Software Engineering. In: Chang, S.K., Ed., Handbook of Software Engineering and Knowledge Engineering, World Scientific Publishing, Singapore, 289-305.
http://dx.doi.org/10.1142/9789812389701_0013
[6] Shaw, M. and Garlan, D. (1996) Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliff.
[7] Taylor, R.N., Medvidovic, N. and Dashofy, E.M. (2009) Software Architecture: Foundations, Theory, and Practice. John Wiley and Sons, Hoboken.
[8] Perry, D. and Wolf, A. (1992) Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes, 17, 40-52. http://dx.doi.org/10.1145/141874.141884
[9] Medvidovic, N. and Taylor, R.N. (2000) A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering, 26, 70-93. http://dx.doi.org/10.1109/32.825767
[10] Clements, P., Kazman, R. and Klein, M. (2001) Evaluating Software Architectures: Methods and Case Studies. Addison-Wesley, Boston.
[11] Frakes, W.B. and Kang, K. (2005) Software Reuse Research: Status and Future. IEEE Transactions on Software Engineering, 31, 529-536. http://dx.doi.org/10.1109/TSE.2005.85
[12] Shaw, M. (1995) Architectural Issues in Software Reuse: It’s Not Just the Functionality, It’s the Packaging. Software Engineering Notes, 20, 3-6.
[13] Bennett, K.H. and Rajlich, V.T. (2000) Software Maintenance and Evolution: A Roadmap. Proceedings of the Conference on the Future of Software Engineering, Limerick, 4-11 June 2000, 73-87.
[14] Müller, H., Wong, K. and Tilley, S.R. (1995) Dimensions of Software Architecture for Program Understanding. Proceedings of the International Workshop on Software Architecture, Dagstuhl, 20-24 February 1995, 1-4.
[15] Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D. and Mann, W. (1995) Specification and Analysis of System Architecture Using Rapide. IEEE Transactions on Software Engineering, 21, 336-355.http://dx.doi.org/10.1109/32.385971
[16] Muccini, H., Bertolino, A. and Inverardi, P. (2004) Using Software Architecture for Code Testing. IEEE Transactions on Software Engineering, 30, 160-171. http://dx.doi.org/10.1109/TSE.2004.1271170
[17] Bertolino, A., Corradini, F., Inverardi, P. and Muccini, H. (2000) Deriving Test Plans from Architectural Descriptions. Proceedings of the 22th International Conference on Software Engineering, Limerick, 4-11 June 2000, 220-229.
[18] Shaw, M., De Line, R., Klein, D.V., Ross, T.L., Young, D.M. and Zelesnik, G. (1995) Abstractions for Software Architecture and Tools to Support Them. IEEE Transactions on Software Engineering, 21, 314-335.http://dx.doi.org/10.1109/32.385970
[19] Taylor, R.N., Tracz, W.J. and Coglianese, L. (1995) Software Development Using Domain-Specific Software Architectures. ACM SIGSOFT Software Engineering Notes, 20, 27-38.
http://dx.doi.org/10.1145/217030.217034
[20] Macala, R., Stuckey, L. and Gross, D. (1996) Managing Domain-Specific, Product-Line Development. IEEE Software, 13, 57-67. http://dx.doi.org/10.1109/52.493021
[21] Dikel, D., Kane, D., Ornburn, S., Loftus, W. and Wilson, J. (1997) Applying Software Product-Line Architecture. Communications of the ACM, 30, 49-55.
[22] Sheth, A. and Larson, J. (1990) Federated Database Systems for Managing Distributed, Heterogeneous, and Autonomous Databases. ACM Computing Surveys, 22, 183-236.
http://dx.doi.org/10.1145/96602.96604
[23] Tresch, M. and Scholl, M.H. (1994) A Classification of Multi-Database Languages. Proceedings of the 3rd International Conference on Parallel and Distributed Information Systems, Austin, 28-30 September 1994, 195-202.http://dx.doi.org/10.1109/PDIS.1994.331716
[24] Widom, J. and Ceri, S., Eds. (1996) Active Database Systems—Triggers and Rules for Advanced Database Processing. Morgan Kaufmann, San Francisco.
[25] Ghezzi, C., Jazayeri, M. and Mandrioli, D. (2003) Fundamentals of Software Engineering. 2nd Edition, Prentice Hall, Englewood Cliffs.
[26] Date, C.J. (2004) An Introduction to Database Systems. 8th Edition, Addison-Wesley, Reading.
[27] Pitoura, E., Bukhres, O. and Elmagarmid, A. (1995) Object Orientation in Multidatabase Systems. ACM Computing Surveys, 27, 141-195. http://dx.doi.org/10.1145/210376.210378
[28] Roantree, M., Murphy, J. and Hasselbring, W. (1999) The OASIS Multidatabase Prototype. ACM SIGMOD Record, 28, 97-103. http://dx.doi.org/10.1145/309844.310066
[29] van den Heuvel, W.-J., Hasselbring, W. and Papazoglou, M. (2000) Top-Down Enterprise Application Integration with Reference Models. Australian Journal of Information Systems, 8, 126-136.
[30] Hasselbring, W. (2002) Web Data Integration for E-Commerce Applications. IEEE Multimedia, 9, 16-25.http://dx.doi.org/10.1109/93.978351
[31] Conrad, S., Eaglestone, B., Hasselbring, W., Roantree, M., Saltor, F., Schönhoff, M., Strässler, M. and Vermeer, M.W.W. (1997) Research Issues in Federated Database Systems: Report of EFDBS’ 97 Workshop. SIGMOD Record, 26, 54-56. http://dx.doi.org/10.1145/271074.271089
[32] Duke, R., Rose, G. and Smith, G. (1995) Object-Z: A Specification Language Advocated for the Description of Standards. Computer Standards and Interfaces, 17, 511-533.
http://dx.doi.org/10.1016/0920-5489(95)00024-O
[33] Smith, G. (1999) The Object-Z Specification Language. Kluwer Academic Publishers, Boston.
[34] OMG Unified Modeling Language Version 2.5, December 2013. http://www.omg.org/spec/UML/
[35] Warmer, J. and Kleppe, A. (2003) The Object Constraint Language: Getting Your Models Ready for MDA. 2nd Edition, Addison-Wesley Professional, Boston.
[36] Spivey, J.M. (1992) The Z Notation: A Reference Manual. 2nd Edition, Prentice-Hall, Englewood Cliff.
[37] Meyer, B. (1997) Object-Oriented Software Construction. 2nd Edition, Prentice-Hall, Englewood Cliff.
[38] Gardarin, G., Finance, B. and Fankhauser, P. (1997) Federating Object-Oriented and Relational Databases: The IRO-DB Experience. Proceedings of the 2nd IFCIS International Conference on Cooperative Information Systems, Kiawah Island, 24-27 Jun 1997, 2-13.
[39] IBM Corporation (2013) Data Virtualization: Delivering On-Demand Access to Information throughout the Enterprise. http://ibm.com/software/products/us/en/ibminfofedeserv/
[40] Venkataraman, S. and Zhang, T. (1998) Heterogeneous Database Query Optimization in DB2 Universal Data Joiner. Proceedings of the 24th International Conference on Very Large Data Bases, New York, 24-27 August 1998, 685-689.
[41] Hasselbring, W. (1997) Federated Integration of Replicated Information within Hospitals. International Journal on Digital Libraries, 1, 192-208. http://dx.doi.org/10.1007/s007990050016
[42] Rodrguez, E., Oliva, M., Saltor, F. and Campderrich, B. (1997) On Schema and Functional Architectures for Multilevel Secure and Multiuser Model Federated DB Systems. Proceedings of the International CAiSE’97 Workshop Engineering Federated Database Systems, Barcelona, 16-17 June 1997, 93-104.
[43] Saltor, F., Campderrich, B., Rodriguez, E. and Rodriguez, L.C. (1996) On Schema Levels for Federated DB Systems. Proceedings of the Parallel and Distributed Computing Systems, Reno, 19-21 June 1996, 766-771.
[44] Abowd, G., Allen, R. and Garlan, D. (1995) Formalizing Style to Understand Descriptions of Software Architecture. ACM Transactions on Software Engineering and Methodology, 4, 319-364.
http://dx.doi.org/10.1145/226241.226244
[45] Bernardo, M. and Inverardi, P., Eds. (2003) Formal Methods for Software Architectures, Volume 2804 of Lecture Notes in Computer Science. Springer, Berlin.
[46] Pahl, C., Giesecke, S. and Hasselbring, W. (2007) An Ontology-Based Approach for Modelling Archi-tectural Styles. Proceedings of the 1st European Conference on Software Architecture, Aranjuez, 24-26 September 2007, 60-75.
[47] Pahl, C., Giesecke, S. and Hasselbring, W. (2009) Ontology-Based Modelling of Architectural Styles. Information and Software Technology, 51, 1739-1749. http://dx.doi.org/10.1016/j.infsof.2009.06.001
[48] Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1995) Design Patterns—Elements of Reusable Object-Oriented Software. Addison Wesley, Reading.
[49] Albin-Amiot, H., Cointe, P., Guéhéneuc, Y.-G. and Jussien, N. (2001) Instantiating and Detecting Design Patterns: Putting Bits and Pieces Together. Proceedings of the 16th IEEE International Conference on Automated Software Engineering, San Diego, 26-29 November 2001, 166-173.
[50] Mak, J.K.H., Choy, C.S.T. and Lun, D.P.K. (2004) Precise Modeling of Design Patterns in UML. Proceedings of the International Conference on Software Engineering, Edinburgh, 23-28 May 2004, 252-261.
[51] Guennec, A.L., Sunyé, G. and Jézéquel, J.-M. (2000) Precise Modeling of Design Patterns. In: Evans, A., Kent, S. and Selic, B., Eds., UML 2000—The Unified Modeling Language, Volume 1939 of Lecture Notes in Computer Science, Springer, Berlin, 482-496.
[52] Mc Umber, W.E. and Cheng, B.H.C. (2001) A General Framework for Formalizing UML with Formal Languages. Proceedings of the 23rd International Conference on Software Engineering, Toronto, 12-19 May 2001, 433-442.
[53] France, R., Evans, A., Lano, K. and Rumpe, B. (1998) The UML as a Formal Modeling Notation. Computer Standards & Interfaces, 19, 325-334. http://dx.doi.org/10.1016/S0920-5489(98)00020-8
[54] Snook, C. and Butler, M. (2006) Uml-B: Formal Modeling and Design Aided by UML. ACM Transactions on Software Engineering and Methodology, 15, 92-122. http://dx.doi.org/10.1145/1125808.1125811
[55] Kim, S.-K. and Carrington, D. (2000) An Integrated Framework with UML and Object-Z for Developing a Precise and Understandable Specification: The Light Control Case Study. Proceedings of the 7th Asia-Pacific Software Engineering Conference, Singapore, 5-8 December 2000, 240-248.
[56] Parnas, D. (1976) On the Design and Development of Program Families. IEEE Transactions on Software Engineering, 2, 1-9. http://dx.doi.org/10.1109/TSE.1976.233797
[57] Coplien, J., Hoffman, D. and Weiss, D. (1998) Commonality and Variability in Software Engineering. IEEE Software, 15, 37-45. http://dx.doi.org/10.1109/52.730836
[58] Ramachandran, M. and Allen, P. (2005) Commonality and Variability Analysis in Industrial Practice for Product Line Improvement. Software Process: Improvement and Practice, 10, 31-40.
http://dx.doi.org/10.1002/spip.212
[59] Czarnecki, K., Helsen, S. and Eisenecker, U. (2005) Formalizing Cardinality-Based Feature Models and Their Specialization. Software Process: Improvement and Practice, 10, 7-29.
http://dx.doi.org/10.1002/spip.213
[60] Hasselbring, W. (1994) Animation of Object-Z Specifications with a Set-Oriented Prototyping Lang-uage. Proceedings of the 8th Z User Meeting, Cambridge, 29-30 June 1994, 337-356.
[61] Pahl, C., Hasselbring, W. and Voss, M. (2009) Service-Centric Integration Architecture for Enterprise Software Systems. Journal of Information Science and Engineering, 25, 1321-1336.
[62] Bischofs, L., Giesecke, S., Gottschalk, M., Hasselbring, W., Warns, T. and Willer, S. (2006) Com-parative Evaluation of Dependability Characteristics for Peer-to-Peer Architectural Styles by Simulation. Journal of Systems and Software, 79, 1419-1432.
http://dx.doi.org/10.1016/j.jss.2006.02.063

Copyright © 2023 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.