Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1833335.1833336acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Using rationale to support pattern-based architectural design

Published: 02 May 2010 Publication History

Abstract

Architectural design rationale describes the decisions made, alternatives considered, and reasons for and against each alternative considered when defining a software architecture. At least some of these reasons should reference the non-functional requirements (NFRs) for the system. The SEURAT_Architecture system uses a pre-defined pattern library and the NFRs for a software system to guide the selection of architectural patterns. Each pattern recommended by the system serves as an alternative to the architectural decision made and comes with rationale for why this pattern is considered useful. This system serves several purposes---to guide the architect through the decision-making process, to ensure that NFRs are considered when making these critical early decisions, and to capture the rationale for the architecture as a byproduct of the tool-supported selection process.

References

[1]
Ali-Babar M. A., Gorton I., Jeffery R., 2005. Capturing and Using Software Architecture Knowledge for Architecture-Based Software Development, Proceedings of the Fifth International Conference on Quality Software, p. 169--176
[2]
Ali-Babar, Wang X., Gorton I. (2005), PAKME: A Tool for Capturing and Using Architecture Design Knowledge. 9th International Multitopic Conference, IEEE INMIC 2005
[3]
Avgeriou P., Zdun U. 2005. Architectural patterns revisited: a pattern language. 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, Germany, July.
[4]
Bass L., Clements P., Kazman R., 2003. Software architecture in practice, 2nd edition, Addison-Wesley, Reading, MA;
[5]
Bass, L., Clements, P., Nord, R. L., Stafford, J. 2006. Capturing and using rationale for a software architecture. In: Dutoit, A. H., McCall, R., Mistrik, I., Paech, B. (Eds.), Rationale Management in Software Engineering. Springer, pp. 275--292.
[6]
Beck K., Johnson R., 1994. Patterns Generate Architectures, Proceedings of the 8th European Conference, ECOOP '94, Lecture Notes in Computer Science, Volume 821.
[7]
Boehm, B., & Kitapci, H. 2006. The WinWin approach: using a requirements negotiation tool for rationale capture and use. In Rationale Management in Software Engineering (Dutoit, A., McCall, R., Mistrik, I., & and Paech B., Eds.), pp. 173--190. Heidelberg: Springer-Verlag.
[8]
Burge, J., Brown, D. C. 2004. An Integrated Approach for Software Design Checking Using Rationale, In Proc. of Design Computing and Cognition '04, J. Gero (Ed.), Kluwer Academic Publishers, Netherlands, 557--576
[9]
Burge, J., Brown, D. C., 2006. Rationale-Based support for software maintenance, In: Dutoit, A., McCall, R., Mistrik, I., Paech, B. (Eds.), Rationale Management in Software Engineering, Springer-Verlag, Berlin, pp. 273--296.
[10]
Burge, J. E. and Brown, D. C. 2008. SEURAT: integrated rationale management. In Proceedings of the 30th international Conference on Software Engineering (Leipzig, Germany, May 10--18, 2008). ICSE '08. ACM, New York, NY, 835--838.
[11]
Burge, J. E., Carroll, J. M, McCall, R., Mistrik, I., 2008 Rationale-Based Software Engineering, Springer.
[12]
Buschmann F., Meunier R., Rohnert H., Sommerlad P., Stal M. 1996, Pattern-Oriented software architecture, Volume 1: A System of Patterns. Wiley.
[13]
Capilla R., Nava F., Duenas J. C., 2007. Modeling and Documenting the Evolution of Architectural Design Decision (SHARK/ADI'07), ICSE Workshops, IEEE CS
[14]
Chung, L. Representing and Using Non-Functional Requirements: A Process-Oriented Approach, Ph.D. thesis, Univ. of Toronto, 1993.
[15]
Chung, L., Nixon, B., Yu, E., 1995, Using Non-Functional Requirements to Systematically Select Among Alternatives in Architectural Design. Proc. 1st Int. Workshop on Architectures for Software Systems
[16]
Chung, L., Nixon, B. A., Yu, E., Mylopoulos, J., 2000. Non-Functional Requirements in Software Engineering, Kluwer Academic Publishers.
[17]
Cui X., Sun Y., Mei H. 2008, Towards Automated Solution Synthesis and Rationale Capture in Decision-Centric Architecture Design, Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008): pp. 221--230
[18]
Davis, A. 1993. Software Requirements: Objects Functions and States. Prentice Hall
[19]
Dutoit A. H., McCall R., Mistrík I. et al. 2006. Rationale Management in Software Engineering: Concepts and Techniques, in Dutoit, A. H.; R. McCall & I. Mistríík et al., Rationale Management in Software Engineering, Springer Berlin Heidelberg, pp. 1--48
[20]
Dutoit, A., McCall, R., Mistrik, I. and Paech, B. (Eds.) Rationale Management in Software Engineering, Springer-Verlang, Berlin, 2006
[21]
Falessi D., Becker M., Cantone G. 2006. Design decision rationale: experiences and steps ahead towards systematic use. ACM SIGSOFT Software Engineering Notes 31(5): (2006)
[22]
Fox, C. 2006. Introduction to Software Engineering Design: Processes, Principles, and Patterns with UML2. Addison Wesley.
[23]
Fowler M. 2003. Patterns of Enterprise Application Architecture. Addison-Wesley, Reading, MA
[24]
Gamma E., Helm R., Johnson, R. Vlissides, J. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
[25]
Harrison, N. and Avgeriou, P. 2007. Pattern-Driven Architectural Partitioning: Balancing Functional and Non-functional Requirements. In Proceedings of the Second international Conference on Digital Telecommunications Washington, DC, 21
[26]
Horner J., Attwood, M. E. 2006. Effective design rationale: understanding the barriers. In Rationale Management in Software Engineering (Dutoit, A., McCall, R., Mistrik, I., & and Paech B., Eds.), pp. 73--90. Heidelberg: Springer-Verlag.
[27]
Jan S. van der Ven, Anton G. J. Jansen J., Nijhuis A. G., Bosch J. 2006. Design Decisions: The Bridge between Rationale and Architecture, in Dutoit, A. H.; R. McCall & I. Mistríík et al., Rationale Management in Software Engineering, Springer Berlin Heidelberg, pp. 329--346
[28]
Jansen AGJ, Bosch J., 2005. Software architecture as a set of architectural design decisions. In: 5th IEEE/IFIP Working Conference on Software Architecture (WICSA 2005), Pittsburgh, PA
[29]
Keller, S. E.; Kahn, L. G.; Panara, R. B. 1990. Specifying Software Quality Requirements with Metrics. in Thayer, R. H.; Dorfman. M.: System and Software Requirements Engineering, IEEE Computer Society Press, Washington, pp. 145--163
[30]
Kim S., Kim. D-K., Lu L., Park S. 2009. Quality-driven Architecture Development Using Architectural Tactics, J. Syst. Softw. 82, 8 (Aug. 2009), pp. 1211--1231.
[31]
Kunz, W., Rittel, H. 1970. Issues as elements of information systems. Working Paper 131, Center for Urban and Regional Development, University of California, Berkeley
[32]
Lee J. 1991. Extending the Potts and Bruns model for recording design rationale, Proceedings of the 13th International Conference on Software Engineering (ICSE '13), IEEE Computer Society Press, Los Alamitos, CA, pp. 114--125
[33]
Lee, J. & Lai, K.-Y. 1991. What's in Design Rationale? Human-Computer Interaction special issue on design rationale 6(3--4) pp. 251--280
[34]
Lee, J. 1997. Design rationale systems: understanding the issues. IEEE Expert: Intelligent Systems and Their Applications, 12, 3 (May. 1997), 78--85.
[35]
MacLean, A., Young, R. M., Bellotti, V., Moran, T. P., 1996. Questions, options and criteria: elements of design space analysis, In: Moran, T., Carroll, J. (Eds.), Design Rationale Concepts, Techniques, and Use, Lawrence Erlbaum Associates, NJ, 1996, pp. 201--251.
[36]
MacLean, A., Young, R. M., & Moran, T. P. 1989. Design rationale: The argument behind the artifact. Proceedings of the CHI '89 Conference on Human Factors in Computing Systems, 247--252. New York: ACM.
[37]
McCall, R., 1987. PHIBIS: Procedural hierarchical issue-based information systems. In: Proceedings of the 13th International Congress on Planning and Design Theory, pp. 17--22.
[38]
Nilsson J. 2006. Applying Domain-Driven Design and Patterns: With Examples in C# and .NET, Addison Wesley Professional.
[39]
Pena Mora F., Vadhavkar S. 1996. Augmenting Design Patterns with Design Rationale. Artificial Intelligence for Engineering Design, Analysis, and Manufacturing, 11(2): pp. 93--108
[40]
Potts, C., Bruns, G., 1988. Recording the reasons for design decisions. In: Proceedings of the 10th International Conference on Software Engineering, pp. 418--427.
[41]
Tang T., Babar M. A., Gorton I., Han J. 2006. A Survey of Architecture Design rationale. Journal of Systems and Software, 79(12): pp. 1792--1804
[42]
Tang A., Jin Y., Han J., 2007. A rationale-based architecture model for design traceability and reasoning. The Journal of Systems and Software 80, pp. 918--934. Elseiver
[43]
Tang A., Han J., Vasa R. 2009. Software Architecture Design Reasoning: A Case for Improved Methodology Support, IEEE Software, vol. Mar/Apr 2009: pp. 43--49, 2009
[44]
Tyree J. and Akerman A 2005. Architecture Decisions: Demystifying Architecture. IEEE Software, 22(2):pp. 19--27
[45]
Zhu L and Gorton I. 2007. UML Profiles for Design Decisions and Non-Functional Requirements. in Proceedings of the 2nd Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK-ADI), Minneapolis, MN
[46]
Zdun, U., Avgeriou, P., Hentrich, C., Dustdar, S., 2008. Architecting as decision making with patterns and primitives. SHARK 2008: 11--18
[47]
Zimmermann O., Gschwind T., Küster J. M., Leymann, F. Schuster, N., 2007, Reusable Architectural Decision Models for Enterprise Application Development. (QoSA'07), Springer-Verlag LNCS 4880, 15--32

Cited By

View all
  • (2024)Enhancing Automated Program Repair with Solution DesignProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695537(1706-1718)Online publication date: 27-Oct-2024
  • (2023)A Survey of Tool Support for Working with Design Decisions in CodeACM Computing Surveys10.1145/360786856:2(1-37)Online publication date: 10-Jul-2023
  • (2018)Pattern detection and design rationale traceability: an integrated approach to software design qualityIET Software10.1049/iet-sen.2017.5017Online publication date: 18-Sep-2018
  • Show More Cited By

Index Terms

  1. Using rationale to support pattern-based architectural design

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SHARK '10: Proceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural Knowledge
    May 2010
    109 pages
    ISBN:9781605589671
    DOI:10.1145/1833335
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 May 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. architectural design
    2. architectural patterns
    3. design patterns
    4. design rationale

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ICSE '10
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)5
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 17 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Enhancing Automated Program Repair with Solution DesignProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695537(1706-1718)Online publication date: 27-Oct-2024
    • (2023)A Survey of Tool Support for Working with Design Decisions in CodeACM Computing Surveys10.1145/360786856:2(1-37)Online publication date: 10-Jul-2023
    • (2018)Pattern detection and design rationale traceability: an integrated approach to software design qualityIET Software10.1049/iet-sen.2017.5017Online publication date: 18-Sep-2018
    • (2016)Design Decision Documentation: A Literature OverviewSoftware Architecture10.1007/978-3-319-48992-6_6(84-101)Online publication date: 3-Nov-2016
    • (2014)Supporting Project Management Through Integrated Management of System and Project KnowledgeSoftware Project Management in a Changing World10.1007/978-3-642-55035-5_7(157-192)Online publication date: 24-May-2014
    • (2013)Towards architecture-centric evolution of long-living systems (the ADVERT approach)Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures10.1145/2465478.2465496(163-168)Online publication date: 17-Jun-2013
    • (2013)On the appropriate rationale for using design patterns and pattern documentationProceedings of the 9th international ACM Sigsoft conference on Quality of software architectures10.1145/2465478.2465491(107-116)Online publication date: 17-Jun-2013
    • (2012)Position paperProceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures10.1145/2304696.2304706(49-54)Online publication date: 25-Jun-2012
    • (2012)Development of multiple architectural designs using ADUAK2012 International Conference on Communication and Signal Processing10.1109/ICCSP.2012.6208400(93-97)Online publication date: Apr-2012
    • (2011)AccessibilityUtilProceedings of the 29th ACM international conference on Design of communication10.1145/2038476.2038480(17-24)Online publication date: 3-Oct-2011

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media