Abstract
The composition of software components can be used to fit specific application needs. Finding feasible and, moreover, optimal compositions demands extensive domain knowledge from the developer—with respect to both application requirements and used components. Frameworks can provide support for the composition selection based on requirements, component properties, and their dependencies. Their description, however, becomes complex in practice.
In this paper, we propose the ProDesc framework. It contains a property description language with a bespoke type system for describing properties of software components and their operations. ProDesc can express compositional variability, including dependencies of properties on the environment and on other components. A UML-like graphical notation and transformations to feature diagrams support the software developer.
The most suitable component composition is selected based on a utility function, which is evaluated during runtime. Our approach raises the abstraction level, leads to a clear separation of concerns, reduces the development time, and facilitates optimized software.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Glinz, M.: On Non-Functional Requirements. In: 15th IEEE International Requirements Engineering Conference, RE 2007, pp. 21–26 (October 2007)
UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms Specification (2008)
Chung, L., Nixon, B.A., Yu, E.: Non-Functional Requirements in Software Engineering. The Kluwer International Series in Software Engineering. Kluwer Academic (2000)
Ludwig, H., Keller, A., Dan, A.: Web Service Level Agreement (WSLA) Language Specification. Technical report, IBM (2007)
UML Profile for Schedulability, Performance, and Time Specification (2005)
Cysneiros, L.M., Sampaio do Prado Leite, J.C.: Using UML to Reflect Non-functional Requirements. In: CASCON. IBM Press (2001)
Espinoza, H., Dubois, H., Gérard, S., Medina, J.L., Petriu, D.C., Woodside, C.M.: Annotating UML models with non-functional properties for quantitative analysis. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 79–90. Springer, Heidelberg (2006)
Morel, B., Alexander, P.: SPARTACAS: Automating Component Reuse and Adaptation. IEEE Transactions on Software Engineering 30(9) (2004)
Zinky, J., Bakken, D., Schantz, R.: Architectural Support for Quality of Service for CORBA Objects. Theory and Practice of Object Systems (1997)
Eichberg, M., Klose, K., Mitschke, R., Mezini, M.: Component Composition Using Feature Models. In: Grunske, L., Reussner, R., Plasil, F. (eds.) CBSE 2010. LNCS, vol. 6092, pp. 200–215. Springer, Heidelberg (2010)
Dustdar, S., Schreiner, W.: A survey on web services composition. Journal of Web and Grid Services 1(1), 1–30 (2005)
Tosic, V., Patel, K., Pagurek, B.: WSOL - web service offerings language. In: Bussler, C.J., McIlraith, S.A., Orlowska, M.E., Pernici, B., Yang, J. (eds.) CAiSE 2002 and WES 2002. LNCS, vol. 2512, pp. 57–67. Springer, Heidelberg (2002)
Leitner, P., Hummer, W., Dustdar, S.: Cost-Based Optimization of Service Compositions. IEEE Transactions on Services Computing 6(2), 239–251 (2013)
Rosenberg, F., Müller, M.B., Leitner, P., Michlmayr, A., Bouguettaya, A., Dustdar, S.: Metaheuristic Optimization of Large-Scale QoS-aware Service Compositions. In: 2010 IEEE International Conference on Services Computing, pp. 97–104 (July 2010)
Bencomo, N., Grace, P., Flores, C., Hughes, D., Blair, G.: Genie: Supporting the Model Driven Development of Reflective, Component-based Adaptive Systems. In: Proceedings of the 30th International Conference on Software Engineering, ICSE 2008, pp. 811–814. ACM, New York (2008)
Hallsteinsen, S., Geihs, K., Paspallis, N., Eliassen, F., Horn, G., Lorenzo, J., Mamelli, A., Papadopoulos, G.A.: A development framework and methodology for self-adapting applications in ubiquitous computing environments. Journal of Systems and Software 85(12) (2012)
Geihs, K., Barone, P., Eliassen, F., Floch, J., Fricke, R., Gjorven, E., Hallsteinsen, S., Horn, G., Khan, M.U., Mamelli, A., Papadopoulos, G.A., Paspallis, N., Reichle, R., Stav, E.: A comprehensive solution for application-level adaptation. Software: Practice and Experience 39(4), 385–422 (2009)
OMG Unified Modeling Language, Superstructure (2011)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)
Stevens, S.S.: On the Theory of Scales of Measurement. Science 103(2684) (1946)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (foda) feasibility study. Technical report, Carnegie-Mellon University Software Engineering Institute (November 1990)
Benavides, D., Segura, S., Ruiz-Corts, A.: Automated analysis of feature models 20 years later: A literature review. Information Systems (2010)
McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing adaptive software. Computer 37(7), 56–64 (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Frömmgen, A., Lehn, M., Buchmann, A. (2014). A Property Description Framework for Composable Software. In: Avgeriou, P., Zdun, U. (eds) Software Architecture. ECSA 2014. Lecture Notes in Computer Science, vol 8627. Springer, Cham. https://doi.org/10.1007/978-3-319-09970-5_24
Download citation
DOI: https://doi.org/10.1007/978-3-319-09970-5_24
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-09969-9
Online ISBN: 978-3-319-09970-5
eBook Packages: Computer ScienceComputer Science (R0)