skip to main content
10.1145/1062455.1062503acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Explicit assumptions enrich architectural models

Published: 15 May 2005 Publication History

Abstract

Design for change is a well-known adagium in software engineering. We separate concerns, employ well-designed interfaces, and the like to ease evolution of the systems we build. We model and build in changeability through parameterization and variability points (as in product lines). These all concern places where we explicitly consider variability in our systems. We conjecture that it is helpful to also think of and explicitly model invariability, things in our systems and their environment that we assume will not change. We give examples from the literature and our own experience to illustrate how evolution can be seriously hampered because of tacit assumptions made. In particular, we show how we can explicitly model assumptions in an existing product family. From this, we derive a metamodel to document assumptions. Finally, we show how this type of modeling adds to our understanding of the architecture and the decisions that led to it.

References

[1]
L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. SEI Series in Software Engineering. Addison-Wesley, second edition, 2003.
[2]
P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, 2002.
[3]
H. de Bruin, H. van Vliet, and Z. Baida. Documenting and Analyzing a Context-Sensitive Design Space. In J. Bosch, M. Gentleman, C. Hofmeister, and J. Kuusela, editors, Software Architecture: System Design, Development and Maintenance, Proceedings 3rd Working IFIP/IEEE Conference on Software Architecture, pages 127--141. Kluwer Academic Publishers, 2002.
[4]
E. F. Ecklund, Jr, L. M. Delcambre, and M. J. Freiling. Change cases: Use cases that identify future requirements. In Proceedings of OOPSLA '96, pages 342--358, New York, NY, 1996. ACM.
[5]
A. Enders and D. Rombach. A Handbook of Software and Systems Engineering -- Empirical Observations, Laws and Theories. The Fraunhofer IESE Series on Software Engineering. Addison Wesley, 2003.
[6]
H. Evans, M. Atkinson, M. Brown, J. Cargill, M. Crease, S. Draper, P. Gray, and R. Thomas. The Pervasiveness of Evolution in GRUMPS Software. Software: Practice and Experience, 33(2), Feb 2003.
[7]
S. Fickas and M. S. Feather. Requirements Monitoring in Distributed Environments. In Proceedings of the 2nd International Workshop on Services in Distributed and Networked Environments, pages 93--100. IEEE Computer Society Press, June 1995.
[8]
M. Fowler. Who Needs an Architect. IEEE Software, 20(5):11--13, 2003.
[9]
D. Garlan, R. Allen, and J. Ockerbloom. Architectural mismatch: Why reuse is so hard. IEEE Software, 12(6):17--26, Nov. 1995.
[10]
K. Kang, S. Cohen, J. Hess, W. Novak, and S. Peterson. Feature-Oriented Domain Analysis Feasibility Study. Technical report, Software Engineering Institute, 1990.
[11]
P. Lago and H. van Vliet. Observations from the Recovery of a Software Product Family. In Proceedings of the Software Product Lines Conference, Lecture Notes in Computer Science, pages 214--227, Boston, USA, Aug. 2004. Springer Verlag.
[12]
N. Lassing, D. Rijsenbrij, and H. van Vliet. How well can we predict changes at architecture design time? J. Syst. Softw., 65(2):141--153, 2003.
[13]
J. Latimer and A.-M. Chang. A Model of Structured Discourse for Cooperating Intelligent Agents. In Proceedings of the Hawaii International Conference on System Sciences, pages 191--200, Maui, Hawaii, Jan. 1996.
[14]
K. Laudon and J. Laudon. Management Information Systems -- Managing the Digital Firm. Prentice Hall, eight edition, 2004.
[15]
M. Lehman. Software Evolution -- Cause or Effect. Stevens Memorial Lecture, http://www.cs.mdx.ac.uk/staffpages/mml, 2003.
[16]
M. Lehman and L. Belady, editors. Program Evolution. Number 27 in APIC Studies in Data Processing. Academic Press, 1985.
[17]
E. Lewis. The Use of the SAGA Tool for Gathering Requirements for Future Information Systems. In International Conference on System Sciences -- Decision Support and Knowledge-Based Systems, volume 2, pages 269--278, Maui, Hawaii, Jan. 1996. IEEE Computer Society Press.
[18]
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
[19]
J. Savolainen and J. Kuusela. Consistency Management of Product Line Requirements. In International Symposium on Requirements Engineering, pages 40--47, Toronto, Canada, Aug. 2001. IEEE Computer Society Press.
[20]
S. Uchitel and D. Yankelevich. Enhancing Architectural Mismatch Detection with Assumptions. In In Proc. of the Eng. of Computer Based Systems (ECBS 2000), pages 138--147, Edinburgh, Scotland, Apr. 2000.
[21]
T. Weiler. Modeling Architectural Variability for Software Product Lines. In J. van Gurp and J. Bosch, editors, Proceedings of the Workshop on Software Variability Management, pages 55--63, Gröningen, The Netherlands, Feb. 2003.
[22]
D. Yakimovich, J. M. Bieman, and V. R. Basili. Software architecture classification for estimating the cost of COTS integration. In Proceedings of the International Conference on Software Engineering, pages 296--302. IEEE Computer Society Press, 1999.

Cited By

View all
  • (2021)Self-Claimed Assumptions in Deep Learning Frameworks: An Exploratory StudyProceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering10.1145/3463274.3463333(139-148)Online publication date: 21-Jun-2021
  • (2021)A descriptive study of assumptions in STRIDE security threat modelingSoftware and Systems Modeling10.1007/s10270-021-00941-721:6(2311-2328)Online publication date: 17-Nov-2021
  • (2020)UACFinderACM Transactions on Cyber-Physical Systems10.1145/33754054:3(1-25)Online publication date: 12-Mar-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '05: Proceedings of the 27th international conference on Software engineering
May 2005
754 pages
ISBN:1581139632
DOI:10.1145/1062455
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: 15 May 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. architecture model
  2. assumption
  3. documentation
  4. knowledge management
  5. software architecture

Qualifiers

  • Article

Conference

ICSE05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Self-Claimed Assumptions in Deep Learning Frameworks: An Exploratory StudyProceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering10.1145/3463274.3463333(139-148)Online publication date: 21-Jun-2021
  • (2021)A descriptive study of assumptions in STRIDE security threat modelingSoftware and Systems Modeling10.1007/s10270-021-00941-721:6(2311-2328)Online publication date: 17-Nov-2021
  • (2020)UACFinderACM Transactions on Cyber-Physical Systems10.1145/33754054:3(1-25)Online publication date: 12-Mar-2020
  • (2020)A descriptive study of assumptions made in LINDDUN privacy threat elicitationProceedings of the 35th Annual ACM Symposium on Applied Computing10.1145/3341105.3375762(1280-1287)Online publication date: 30-Mar-2020
  • (2019)Integrating Agile Practices into Architectural Assumption ManagementProceedings of the 23rd International Conference on Evaluation and Assessment in Software Engineering10.1145/3319008.3319027(156-165)Online publication date: 15-Apr-2019
  • (2019)Modular Programming and Reasoning for Living with UncertaintySoftware Technologies10.1007/978-3-030-29157-0_10(220-244)Online publication date: 13-Aug-2019
  • (2018)Assumptions and their management in software developmentInformation and Software Technology10.5555/3163583.316368094:C(82-110)Online publication date: 1-Feb-2018
  • (2018)Towards a Solution Space for BPM Issues Based on Debiasing TechniquesBusiness Process Management Workshops10.1007/978-3-319-74030-0_29(384-390)Online publication date: 17-Jan-2018
  • (2017)Modeling and integrating physical environment assumptions in medical cyber-physical system designProceedings of the Conference on Design, Automation & Test in Europe10.5555/3130379.3130756(1619-1622)Online publication date: 27-Mar-2017
  • (2017)iArch-UProceedings of the 9th International Workshop on Modelling in Software Engineering10.5555/3104068.3104080(40-46)Online publication date: 20-May-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media