Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3344948.3344954acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecsaConference Proceedingsconference-collections
research-article

A framework for managing uncertainty in software architecture

Published: 09 September 2019 Publication History

Abstract

Software architecture records key decisions about software systems. Changes to architecture decisions can, therefore, have significant costs. One of the main causes of architecture changes is uncertainty, which is an inherent feature in open, real-world software systems. We hypothesise that capturing uncertainties, as far as they can be predicted, pertaining to structure, behaviour and resources of systems in software architecture and treating them as first-class concerns, would make architecture decisions more resilient to change. Explicitly considering and representing uncertainty in architecture can help developers design for change and minimise architecture erosion as changes invariably occur. In this PhD project, we aim to develop a conceptual framework for the management of uncertainty in software architecture. The conceptual framework will be realised in the form of a workbench of tools for managing uncertainty at the architectural level. The effectiveness of the framework and the workbench will be evaluated using case studies. An ideal case study for evaluation will demonstrate different aspects of uncertainty in software architecture. Potential domains under consideration for case studies include wireless sensor networks and health care systems.

References

[1]
L. Bass, P. Clements, and R. Kazman, SoftwareArchitecture in Practice, 2 ed. Addison-Wesley, 2003.
[2]
J. Whittle, P. Sawyer, N. Bencomo, B. H. C. Chengy, and J. M. Bruelz, "RELAX: Incorporating uncertainty into the specification of self-adaptive systems," Proc. IEEE Int. Conf. Requir. Eng., pp. 79--88, 2009.
[3]
N. Esfahani, K. Razavi, and S. Malek, "Dealing with uncertainty in early software architecture," in Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, 2012, p. 21.
[4]
S.-W. Cheng and D. Garlan, "Handling uncertainty in autonomic systems," Int'l Wrkshp. Living with Uncertain., 2007.
[5]
P. A. Laplante, "The Heisenberg uncertainty principle and the halting problem," ACM SIGACT News, vol. 22, no. 3, pp. 63--65, 1991.
[6]
D. Garlan, "Software engineering in an uncertain world," Proc. FSE/SDP Work. Futur. Softw. Eng. Res. SE - FoSER ' 10, pp. 125--128, 2010.
[7]
R. Bahsoon and W. Emmerich, "ArchOptions: A real options-based model for predicting the stability of software architectures," in Proceedings of the 5th Workshop on Economics-Driven Software Research (EDSER-5), 2003, pp. 35--40.
[8]
A. L. Wolf, "Succeedings of the Second International Software Architecture Workshop," SIGSOFT Softw. Eng. Notes, vol. 22, no. 1, pp. 42--56, 1997.
[9]
D. Han, Q. Yang, J. Xing, J. Li, and H. Wang, "FAME: A UML-based framework for modeling fuzzy self-adaptive software," Inf. Softw. Technol., vol. 76, pp. 118--134, 2016.
[10]
P. Maeder, M. Riebisch, and I. Philippow, "Traceability for Managing Evolutionary Change," Proc. ISCA 15th Int. Conf. Softw. Eng. Data Eng. SEDE 2006, pp. 1--8, 2006.
[11]
B. (Virginia T. George, S. A. (Viginia T. Bohner, and P.-D. ( J. M. U. Prieto-Diaz, "Software Informatioin Leaks: A complexity prespective," 2004.
[12]
P. Kruchten, "Architectural blueprints-the" 4+ 1" view model of software architecture," IEEE Softw., vol. 12, no. November, pp. 42--50, 1995.
[13]
R. N. Taylor, N. Medvidovic, and E. M. Dashofy, Software Architecture: Foundations, Theory, and Practice. Wiley Publishing, 2009.
[14]
O. L. de Weck, C. Eckert, and J. Clarkson, "A classification of uncertainty for early product and system design," in International Conference on Engineering Design, 2007.
[15]
M. Smithson, Ignorance and uncertainty: emerging paradigms. Springer Science & Business Media, 1989.
[16]
C. Dictionary, "Cambridge Advanced Learner's Dictionary." PONS-Worterbucher, Klett Ernst Verlag GmbH, 2008.
[17]
E. Letier, D. Stefan, and E. T. Barr, "Uncertainty, risk, and information value in software requirements and architecture," in Proceedings of the 36th International Conference on Software Engineering, 2014, pp. 883--894.
[18]
H. McManus and D. Hastings, "3.4. 1 A Framework for Understanding Uncertainty and its Mitigation and Exploitation in Complex Systems," in INCOSE international symposium, 2005, vol. 15, no. 1, pp. 484--503.
[19]
D. Perez-Palacin and R. Mirandola, "Uncertainties in the modeling of self-adaptive systems: a taxonomy and an example of availability evaluation," in Proceedings of the 5th ACM/SPEC international conference on Performance engineering, 2014, pp. 3--14.
[20]
D. Weyns et al., "Perpetual assurances for self-adaptive systems," in Software Engineering for Self-Adaptive Systems III. Assurances, Springer, 2017, pp. 31--63.
[21]
A. O'Hagan et al., Uncertain judgements: eliciting experts' probabilities. John Wiley & Sons, 2006.
[22]
S. Mahdavi-Hezavehi, P. Avgeriou, and D. Weyns, "A classification framework of uncertainty in architecture-based self-adaptive systems with multiple quality requirements," in Managing Trade-Offs in Adaptable Software Architectures, Elsevier, 2017, pp. 45--77.
[23]
C. Hewitt and J. Woods, "Inconsistency Robustness," Coll. Pub., London, vol. vol 52, 2015.
[24]
L. Cheung, L. Golubchik, N. Medvidovic, and G. Sukhatme, "Identifying and addressing uncertainty in architecture-level software reliability modeling," in Parallel and Distributed Processing Symposium, 2007. IPDPS 2007. IEEE International, 2007, pp. 1--6.
[25]
E. Letier, D. Stefan, and E. T. Barr, "Uncertainty, Risk, and Information Value in Software Requirements and Architecture," Proc. 36th Int. Conf. Softw. Eng., pp. 883--894, 2014.
[26]
I. Malavolta, P. Lago, H. Muccini, P. Pelliccione, and A. Tang, "What industry needs from architectural languages: A survey," IEEE Trans. Softw. Eng., vol. 39, no. 6, pp. 869--891, 2013.

Cited By

View all
  • (2024)Embracing Residuality Theory in Software Architecture to Address Uncertainty: Key Challenges and StrategiesSoftware and Data Engineering10.1007/978-3-031-75201-8_3(31-42)Online publication date: 19-Oct-2024
  • (2022)A Framework for Considering Uncertainty in Software Systems2022 IEEE 46th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC54236.2022.00241(1519-1524)Online publication date: Jun-2022

Index Terms

  1. A framework for managing uncertainty in software architecture

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ECSA '19: Proceedings of the 13th European Conference on Software Architecture - Volume 2
    September 2019
    286 pages
    ISBN:9781450371421
    DOI:10.1145/3344948
    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 September 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. conceptual framework
    2. software architecture
    3. uncertainty

    Qualifiers

    • Research-article

    Conference

    ECSA
    ECSA: European Conference on Software Architecture
    September 9 - 13, 2019
    Paris, France

    Acceptance Rates

    ECSA '19 Paper Acceptance Rate 48 of 72 submissions, 67%;
    Overall Acceptance Rate 48 of 72 submissions, 67%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)22
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 09 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Embracing Residuality Theory in Software Architecture to Address Uncertainty: Key Challenges and StrategiesSoftware and Data Engineering10.1007/978-3-031-75201-8_3(31-42)Online publication date: 19-Oct-2024
    • (2022)A Framework for Considering Uncertainty in Software Systems2022 IEEE 46th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC54236.2022.00241(1519-1524)Online publication date: Jun-2022

    View Options

    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