Abstract
Architectural erosion in software systems results due to the drifting of code from the existing design. This drifting happens because the changes in code supporting evolving requirements, are not reflected back in the design. The ability to control software artifacts produced in various stages of the software development lifecycle is very crucial. Powerful abstractions for modeling software design is essential for supporting evolution. We propose a pattern oriented approach to software development using patterns as building blocks of architecture. We argue that design evolution in software can best be achieved by replacing existing patterns in the design with new patterns addressing present requirements. Support for design evolution by means of a model for pattern substitution is also presented. Using this model, the design is gracefully evolved and the design changes are seamlessly mapped to code thus preventing architectural erosion.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Buschman, F., Meunier, R., Rohnert, H., Sommerlab, P., Stal, M.: Pattern Oriented Software Architecture: A System of Patterns, vol. I. John Wiley and Sons, Chichester (1996)
Schdmit, D., Stal, M., Rohnert, H., Buschmann, F.: Pattern Oriented Software Architecture: A System of Patterns, vol. II. John Wiley and Sons, Chichester (1999)
Khriss, I., Keller, R.K.: Transformations for Pattern-Based Forward-Engineering. In: Proceedings of International Workshop on Software Transformation Systems (STS 1999), Los Angeles, pp. 50–58 (May 1999)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object Oriented Software. Addison Wesley, Reading (1995)
Lehman, M.M., Perry, D.E., Ramil, J.F., Turski, W.M., Wernick, P.: Metrics and Laws of Software Evolution – the Nineties View. In: Proceedings of the 4th International Symposium on Software Metrics, Albuquerque, New Mexico, IEEE, Los Alamitos (2000)
Perry, D.E., Wolf, A.L.: Foundations for the study of Software Architecture. ACM SIGSOFT 17(4) (1992)
Khusela, J.: Architectural Evolution. In: Proceedings of the FirstWorking IFIP Conference on Software Architecture (WICSA1), San Antonio, Texas, USA, pp. 471–478. IFIP Kluwer Academic Publishers, Dordrecht (1999)
Sha, L., Rajkumar, R., Gagliardi, M.: A Software Architecture for Dependable and Evolvable Industrial Computing Systems, Technical Report CMU/SEI-95-TR-005, CMU/SEI (July 1995)
Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison Wesley, Reading (2000)
Foote, B.: A Fractal Model of the Life Cycle of Reusable Objects. In: Proceedings of OOPSLA 1992 Workshop on Reuse, Van Couver, British Columbia, Canada (October 1992)
Rajasree, M.S., Janaki Ram, D., Jithendra Kumar Reddy, P.: Composing Architectures from Patterns. In: Proceedings of the SoDA 2002, International Workshop on Software Design and Architecture, Bangalore, India (December 2002)
Rajasree, M.S., Janaki Ram, D., Jithendra Kumar Reddy, P.: Pattern Oriented Software Development: Moving Seamlessly from Requirements to Architecture. To appear in Proceedings of the STRAW 2003, International Workshop on SofTware Requirements to Architecture in association with ICSE 2003, Portland, Oregon, USA,
Janaki Ram, D., Ramakrishna, O.: The Glue Model for Reuse by Customization in Object-Oriented Systems, Technical Report No. IITM-CSE-DOS-98-02, Department of CS & Engg. IIT, Madras, India
Rajith, R.I.: Managing Evolving Designs Using Glue Patterns, M.S. Thesis, Department of CS & Engg., IIT, Madras, India
Janaki Ram, D., Babu, C.: A Framework for Dynamic Client Driven Customization. In: Proceedings of 7th International Conference of Object Oriented Information Systems (OOIS 2001) (2001)
Prechelt, L., Unger-Lamprecht, B., Philippsen, M., Tichy, W.F.: Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance. IEEE Transactions on Software Engineering 28(6) (June 2002)
Janaki Ram, D., Dwivedi, R.A., Ramakrishna, O.: An Implementation Mechanism for Design Patterns. ACM Software Engineering Notes 27(7), 52–56 (1998)
Janaki Ram, D., Vivekananda, N., Srinivas Rao, C., Krishna Mohan, N.: Constraint Meta-Object: A New Object Model for Distributed Collaborative Designing. IEEE Transaction on Man Systems and Cybernetics 27, Part A(2), 208–221 (1997)
IEEE Standards Collection: Software Engineering (IEEE Standard 610.12–1990), IEEE (1993)
Pressman, R.S.: Software Engineering: A practitioner’s Approach. Tata Mc Graw Hill Companies, Inc. (1997)
Janaki Ram, D., Anantharaman, K.N., Guruprasad, K.N., Sreekanth, M., Raju, S.V.G.K., Rao, A.A.: An Approach for Pattern Oriented Software Development Based on a Design handbook. Annals of Software Engineering 10, 329–358 (2000)
Rajasree, M.S., Janaki Ram, D., Reddy, J.K.: Systematic Approach for Design of Framework for Software Productlines. In: Proceedings of the PLEES 2002, International Workshop on Product Line Engineering The Early Steps: Planning Modeling and Managing, In Association with OOPSLA 2002 (October 28, 2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ram, D.J., Rajasree, M.S. (2003). Enabling Design Evolution in Software through Pattern Oriented Approach. In: Konstantas, D., Léonard, M., Pigneur, Y., Patel, S. (eds) Object-Oriented Information Systems. OOIS 2003. Lecture Notes in Computer Science, vol 2817. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45242-3_17
Download citation
DOI: https://doi.org/10.1007/978-3-540-45242-3_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40860-4
Online ISBN: 978-3-540-45242-3
eBook Packages: Springer Book Archive