Abstract
The current trend is to build distributed software architectures with middleware, which provides the application developer with primitives for managing the complexity of distribution and for realizing many of the non-functional requirements like scalability, openness, heterogeneity, availability, reliability and fault-tolerance. In this chapter, we discuss the problem of evolving non-functional requirements, their stability implications and economics ramifications on the software architectures induced by middleware. We look at the role of middleware in architecting for non-functional requirements and their evolution trends. We advocate adjusting requirements elicitation and management techniques to elicit not just the current non-functional requirements, but also to assess the way in which they will develop over the lifetime of the architecture and their economics ramifications. These ranges of requirements may then inform the selection of distributed components technologies, and subsequently the selection of application server products. We describe an economics-driven approach, based on real options theory, which can assist in informing the selection on middleware to induce software architectures in relation to the evolving non-functional requirements. We review its application through a case study.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Sun MicroSystems Inc (2002) Enterprise javaBeans specification v2.1, Copyright© 2002 Sun Microsystems, Inc.
Object Management Group (2000) The common object request broker: architecture and specification, 24th edn. OMG, Framingham, MA, USA
Di Nitto E, Rosenblum D (1999) Exploiting ADLs to specify architectural styles induced by middleware infrastructures. In: Proceedings of the 21st International conference on software engineering. IEEE Computer Society Press, Los Angeles, pp 13–22
Dawson R, Bones P, Oates B, Brereton P, Azuma M, Jackson M (2003) Empirical methodologies in software engineering In: Eleventh annual International workshop on software technology and engineering practice, IEEE CS Press, pp 52–58
Emmerich W (2000) Software engineering and middleware: a road map. In: Finkelstein A (ed) Future of software engineering. Limerick, Ireland
Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program 20:3–50
Anton A (1996) Goal-based Requirements Analysis. In: Proc. 2nd IEEE Int. Conf. Requirements Engineering. Orlando, USA
Othman O, O’Ryan C, Schmidt DC (2001) Designing an Adaptive CORBA Load Balancing Service Using TAO. IEEE Distributed Systems Online 2(4)
Othman O, O’Ryan C, Schmidt DC (2001) Strategies for CORBA Middleware-Based Load Balancing. IEEE Distributed Systems Online 2(3)
Bahsoon R, Emmerich W, Macke J (2005) Using real options to select stable middleware-induced software architectures. IEE Proc Softw Spec issue relating software requirements architectures 152(4):153–167, IEE press, ISSN 1462–5970
Erdogmus H, Boehm B, Harriosn W, Reifer DJ, Sullivan KJ (2002) Software engineering economics: background, current practices, and future directions. In: Proceeding of 24th International conference on software engineering. ACM Press, Orlando
Erdogmus H (2000) Value of commercial software development under technology risk. Financier 7(1–4):101–114
Schwartz S, Trigeorgis L (2000) Real options and investment under uncertainty: classical readings and recent contributions. MIT Press, Cambridge
Bahsoon R, Emmerich W (2004) Evaluating architectural stability with real options theory. In: Proceedings of the 20th IEEE International conference on software maintenance. IEEE CS Press, Chicago
Bahsoon R, Emmerich W (2003) ArchOptions: a real options-based model for predicting the stability of software architecture. In: Proceedings of the Fifth ICSE workshop on economics-driven software engineering research, Portland
Boehm B, Clark B, Horowitz E, Madachy R, Shelby R, Westland C (1995) The COCOMO 2.0 software cost estimation model. In: International society of parametric analysts
Medvidovic N, Dashofy E, Taylor R (2003) On the role of middleware in architecture-based software development. Int J Software Engineer Knowledge Engineer 13(4):367–393
Rapanotti L, Hall J, Jackson M, Nuseibeh B (2004) Architecture driven problem decomposition. In: Proceedings of 12th IEEE International requirements engineering conference (RE’04). IEEE Computer Society Press, Kyoto
Sullivan KJ, Socha J, Marchukov M (1997) Using formal methods to reason about architectural standards. In: Proceedings of the 19th International conference on software engineering, Boston
Boehm B, Sullivan KJ (2000) Software economics: a roadmap. In: Finkelstein A (ed) The future of software engineering. ACM Press, Lemrick, Ireland
Baldwin CY, Clark KB (2001) Design rules – the power of modularity. MIT Press, Cambridge
Sullivan KJ, Chalasani P, Jha S, Sazawal V (1999) Software design as an investment activity: a real options perspective. In: Trigeorgis L (ed) Real options and business strategy: applications to decision-making. Risk Books, London
Sullivan KJ, Griswold W, Cai Y, Hallen B (2001) The structure and value of modularity in software design. In: The Proceedings of the ninth ESEC/FSE, Vienna, pp 99–108
Asundi J, Kazman R (2001) A Foundation for the Economic Analysis of Software Architectures. In: Proceedings of the Third Workshop on Economics-Driven Software Engineering Research
Kazman R, Klein M, Barbacci M, Lipson H, Longstaff T, Carrière SJ (1998) The architecture tradeoff analysis method. In: Proceedings of fourth International conference on engineering of complex computer systems (ICECCS ‘98). IEEE CS Press, Monterey, pp 68–78
Mylopoulos J, Chung L, Nixon B (1992) Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans Software Eng 18(6):483–497
Black F, Scholes M (1973) The pricing of options and corporate liabilities. J Polit Econ 81(3):637–654
Emmerich W (2002) Distributed component technologies and their software engineering implications. In: Proceedings of the 24th International conference on software engineering. ACM Press, Orlando, pp 537–546
Nuseibeh B (2001) Weaving the software development process between requirements and architectures. In: Proceedings of STRAW 01 the First International workshop from software requirements to architectures, Toronto
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bahsoon, R., Emmerich, W. (2011). Economics-Driven Architecting for Non Functional Requirements in the Presence of Middleware. In: Avgeriou, P., Grundy, J., Hall, J.G., Lago, P., MistrÃk, I. (eds) Relating Software Requirements and Architectures. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21001-3_20
Download citation
DOI: https://doi.org/10.1007/978-3-642-21001-3_20
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21000-6
Online ISBN: 978-3-642-21001-3
eBook Packages: Computer ScienceComputer Science (R0)