Abstract
This paper describes an evolutionary approach to reengineer a large medical imaging system using graph-transformations. The solution has been integrated into the ongoing development process within the organizational and cultural constraints of a productive industrial setting. We use graph transformations to model the original and the desired architecture, the mapping between architectural, implementation and design concepts, as well as related consistency rules. Violations are calculated every night and provided as continuous feedback to software architects and developers, so they can modify the system manually according to established procedures. With only a very limited global migration step and moderate changes and extensions to the existing procedures it was possible to improve the software architecture of the system, while new features still could be implemented and released in due time. Although this solution is dedicated to a concrete case, it is a starting point for a more generic approach.
This research was performed at Philips Medical Systems in Best, the Netherlands when the author was employee of Philips Research in Eindhoven, the Netherlands.
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
Cremer, K.: Graph-Based Reverse Engineering and Reengineering Tools. In: Münch, M., Nagl, M. (eds.) AGTIVE 1999. LNCS, vol. 1779, pp. 95–109. Springer, Heidelberg (2000)
Cremer, K., Marburger, A., Westfechtel, B.: Graph-Based Tools for Reengineering. Journal of Software Maintenance and Evolution: Research and Practice 14(4), 257–292 (2002)
Feijs, L.M.G., van Ommering, R.C.: Relation Partition Algebra for Reverse Architecting - mathematical aspects of uses- and part-of-relations. Science of Computer Programming 33, 163–212 (1999)
Ferenc, R., Beszédes, Á., Tarkiainen, M., Gyimóthy, T.: Columbus - Reverse Engineering Tool and Schema for C++. In: IEEE International Conference on Software Maintenance (ICSM), October 2002, pp. 172–181 (2002)
Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story Diagrams: A new Graph Grammar Language based on the Unified Modelling Language and Java. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 296–309. Springer, Heidelberg (2000)
Holt, R., Winter, A., Schürr, A.: GXL: Towards a Standard Exchange Format. In: Proc. Working Conference on Reverse Enginering, November 2000, pp. 162–171 (2000)
Jahnke, J., Wadsack, J.: Integration of Analysis and Redesign Activities in Information System Reengineering. In: Proc. of the 3rd European Conference on Software Maintenance and Reengineering (CSMR 1999), Amsterdam, NL, pp. 160–168. IEEE Press, Los Alamitos (1999)
Köhler, H.J., Nickel, U., Niere, J., Zündorf, A.: Using UML as a Visual Programming Language. Technical Report tr-ri-99-205, University of Paderborn, Paderborn, Germany (August. 1999)
Kullbach, B., Winter, A.: Querying as an Enabling Technology in Software Reengineering. In: IEEE Conference on Software Maintenance and Reengineering, pp. 42–50 (1999)
van der Linden, F.J., Müller, J.K.: Creating Architectures with Building Blocks. IEEE Software, 51–60 (November 1995)
Marburger, A., Westfechtel, B.: Graph-Based Reengineering of Telecommunication Systems. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 270–285. Springer, Heidelberg (2002)
Medvidovic, N., Taylor, R.N.: A Classification and Comparision Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering 1(26), 70–93 (2000)
Mens, T.: Conditional Graph Rewriting as a Domain-Independent Formalism for Software Evolution. In: Münch, M., Nagl, M. (eds.) AGTIVE 1999. LNCS, vol. 1779, pp. 127–143. Springer, Heidelberg (2000)
Parnas, D.L.: A Technique for Software Module Specifications with Examples. Comunications of the ACM 15, 330–336 (1972)
Postma, A.: A Method for Module Architecture Verification and its Application on a Large Component-Based System. Information and Software Technology 45, 171–194 (2003)
Neighbors, J.M., Prieto-Diaz, R.: Module interconnection languages. Systems and Software 6(4), 307–334 (1986)
Rational Software Corporation. Using the Rose Extensibility Interface (2001), http://www.rational.com/docs/v2002/Rose_REI_guide.pdf
Reiss, S.P.: Constraining Software Evolution. In: IEEE International Conference on Software Maintenance (ICSM), October 2002, pp. 162–171 (2002)
Rötschke, T., Krikhaar, R.: Architecture Analysis Tools to Support Evolution of Large Industrial Systems. In: IEEE International Conference on Software Maintenance (ICSM), October 2002, pp. 182–193 (2002)
Rötschke, T., Krikhaar, R., Havenith, D.: Multi-View Architecture Trend Analysis for Medical Imaging. In: IEEE International Conference on Software Maintenance (ICSM), November 2001, p. 107 (2001)
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modelling Language Reference Manual. Addison-Wesley, Reading (1999)
Schürr, A.: Specification of Graph Translators with Triple Graph Grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995)
Schürr, A., Winter, A.J., Zündorf, A.: Developing Tools with the PROGRES Environment. In: Nagl, M. (ed.) IPSEN 1996. LNCS, vol. 1170, pp. 356–369. Springer, Heidelberg (1996)
Wilkie, F.G., Harmer, T.J.: Tool Support for Measuring Complexity in Heterogeneous Object-Oriented Software. In: IEEE International Conference on Software Maintenance (ICSM), October 2002, pp. 152–161 (2002)
Zhao, J., Yang, H., Xiang, L., Xu, B.: Change Impact Analysis to Support Architectural Evolution. Software Maintenance and Evolution: Research and Practice 14(5), 317–333 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rötschke, T. (2004). Re-engineering a Medical Imaging System Using Graph Transformations. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 2003. Lecture Notes in Computer Science, vol 3062. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25959-6_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-25959-6_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22120-3
Online ISBN: 978-3-540-25959-6
eBook Packages: Springer Book Archive