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

skip to main content
research-article

Adaptation space exploration for service-oriented applications

Published: 01 February 2014 Publication History

Abstract

Service-oriented applications may require adaptation to tackle changing user needs, system intrusions or faults, changing operational environment, resource variability, etc. In order to achieve the right trade off among the functional requirements, software qualities (such as performance and reliability) and the adaptation cost itself, the adaptation decisions should involve the (a priori) evaluation of new alternatives to the current application design. However, the generation and evaluation of design alternatives is often time-consuming, it can be error-prone and can lead to suboptimal design decisions, especially if carried out manually by system maintainers.This article proposes an automatic optimization process for adaptation space exploration of service-oriented applications based on trade-offs between functional and extra-functional requirements. The proposed method combines the use of metaheuristic search techniques and functional/extra-functional patterns (i.e., architectural design patterns and tactics). Besides, the proposed methodology relies on the standard Service Component Architecture (SCA) for heterogeneous service assembly and its runtime platforms. As a proof-of-concept, this article provides also an example of instantiation of the process together with an experimentation on a sample application and a numerical evaluation of the scalability of the approach. We propose a process for the adaptation of service-oriented applications.It is based on an optimization method.It is based on trade-offs between functional and extra-functional requirements.It uses metaheuristic search techniques and functional/extra-functional patterns.

References

[1]
M. Harman, W.B. Langdon, Y. Jia, D.R. White, A. Arcuri, J.A. Clark, The GISMOE challenge: constructing the pareto program surface using genetic programming to find better programs (keynote paper), in: ASE, 2012, pp. 1-14.
[2]
R. Mirandola, P. Potena, Self-adaptation of service based systems based on cost/quality attributes tradeoffs, in: Proc. of SYNACS 2010 - Workshop on Software Services: Frameworks and Platforms, 2010.
[3]
N.B. Harrison, P. Avgeriou, How do architecture patterns and tactics interact? A model and annotation, J. Syst. Softw., 83 (2010) 1735-1758.
[4]
N. Esfahani, S. Malek, On the role of architectural styles in improving the adaptation support of middleware platforms, in: ECSA, 2010, pp. 433-440.
[5]
S. Balsamo, A. Di Marco, P. Inverardi, M. Simeoni, Model-based performance prediction in software development: A survey, IEEE Trans. Softw. Eng., 5 (2004) 295-310.
[6]
F. Rosenberg, M. Müller, P. Leitner, A. Michlmayr, A. Bouguettaya, S. Dustdar, Metaheuristic optimization of large-scale QoS-aware service compositions, in: Proceedings of the 2010 IEEE International Conference on Services Computing, 2010, pp. 97-104.
[7]
OSOA, . www.osoa.org
[8]
R. Mirandola, P. Potena, P. Scandurra, An optimization process for adaptation space exploration of service-oriented applications, in: SOSE, IEEE, 2011, pp. 146-151.
[9]
A. Bucchiarone, C. Cappiello, E. Di Nitto, R. Kazhamiakin, V. Mazza, M. Pistore, Design for adaptation of service-based applications: main issues and requirements, in: LNCS, 2010, pp. 467-476.
[10]
M. Salehie, L. Tahvildari, Self-adaptive software: Landscape and research challenges, ACM Trans. Auton. Adapt. Syst., 4 (May 2009).
[11]
S.C. Geyik, B.K. Szymanski, P. Zerfos, D.C. Verma, Dynamic composition of services in sensor networks, in: IEEE SCC, 2010, pp. 242-249.
[12]
F. Lécué, A. Delteil, A. Léger, O. Boissier, Web service composition as a composition of valid and robust semantic links, Int. J. Coop. Inf. Syst., 18 (2009) 1-62.
[13]
J. Xu, Rule-based automatic software performance diagnosis and improvement, Perform. Eval., 67 (2010) 585-611.
[14]
T. Parsons, A framework for detecting performance design and deployment antipatterns in component based enterprise systems, in: DSM, ACM, 2005.
[15]
V. Cortellessa, A. Martens, R. Reussner, C. Trubiani, A process to effectively identify "Guilty" performance antipatterns, in: FASE, 2010.
[16]
L. Grunske, Identifying "good" architectural design alternatives with multi-objective optimization strategies, in: ICSE, ACM, 2006.
[17]
A. Martens, H. Koziolek, S. Becker, R. Reussner, Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms, in: WOSP/SIPEW, 2010.
[18]
D.A. Menascé, J.M. Ewing, H. Gomaa, S. Malex, J.P. Sousa, A framework for utility-based service oriented design in SASSY, in: ACM DL WOSP/SIPEW 2010 Proc., 2010, pp. 27-36.
[19]
R. Kazman, L. Bass, G. Abowd, M. Webb, SAAM: A method for analyzing the properties of software architectures, in: ICSE ¿94, 1994, pp. 81-90.
[20]
L. Dobrica, E. Niemela, A survey on software architecture analysis methods, IEEE Trans. Softw. Eng., 28 (2002) 638-653.
[21]
N. Harrison, P. Avgeriou, Implementing reliability: the interaction of requirements, tactics and architecture patterns, in: Lecture Notes in Computer Science, vol. 6420, 2010, pp. 97-122.
[22]
H. Gomaa, K. Hashimoto, M. Kim, S. Malek, D.A. Menascé, Software adaptation patterns for service-oriented architectures, in: SAC, 2010, pp. 462-469.
[23]
E. Riccobene, P. Potena, P. Scandurra, Reliability prediction for service component architectures with the SCA-ASM component model, in: EUROMICRO-SEAA, IEEE Computer Society, 2012, pp. 125-132.
[24]
Apache Tuscany. http://tuscany.apache.org/
[25]
L. Seinturier, P. Merle, R. Rouvoy, D. Romero, V. Schiavoni, J.-B. Stefani, A component-based middleware platform for reconfigurable service-oriented architectures, Softw. Pract. Exp., 42 (2012) 559-583.
[26]
E. Börger, R. Stärk, Abstract State Machines: A Method for High-Level System Design and Analysis, Springer-Verlag, 2003.
[27]
The ASMETA toolset website. http://asmeta.sf.net/
[28]
P. Arcaini, A. Gargantini, E. Riccobene, P. Scandurra, A model-driven process for engineering a toolset for a formal method, Softw. Pract. Exp., 41 (2011) 155-166.
[29]
The SCA-ASM design framework. https://asmeta.svn.sf.net/svnroot/asmeta/code/experimental/SCAASM
[30]
D. Brugali, L. Gherardi, E. Riccobene, P. Scandurra, Coordinated execution of heterogeneous service-oriented components by Abstract State Machines, in: Lecture Notes in Computer Science, vol. 7253, Springer, Berlin, Heidelberg, 2011, pp. 331-349.
[31]
L. Seinturier, P. Merle, D. Fournier, N. Dolet, V. Schiavoni, J. Stefani, Reconfigurable SCA applications with the frascati platform, in: Proc. of International Conference on Services Computing, IEEE, 2009, pp. 268-275.
[32]
A. Martens, H. Koziolek, Performance-oriented design space exploration, in: Proc. of WCOP¿08, 2008.
[33]
V. Cortellessa, F. Marinelli, P. Potena, An optimization framework for "build-or-buy" decisions in software architecture, Comput. Oper. Res., 35 (2008) 3090-3106.
[34]
C. Blum, A. Roli, Metaheuristics in combinatorial optimization: Overview and conceptual comparison, ACM Comput. Surv., 35 (2003) 268-308.
[35]
A. Martens, H. Koziolek, Automatic, model-based software performance improvement for component-based software designs, Electron. Notes Theor. Comput. Sci., 253 (2009) 77-93.
[36]
S. Kim, D. Kim, L. Lu, S. Park, Quality-driven architecture development using architectural tactics, J. Syst. Softw., 8 (2009) 1211-1231.
[37]
P. Arcaini, A. Gargantini, E. Riccobene, P. Scandurra, A model-driven process for engineering a toolset for a formal method, Softw. Pract. Exp., 41 (2011) 155-166.
[38]
A. Gargantini, E. Riccobene, P. Scandurra, A metamodel-based language and a simulation engine for abstract state machines, J. Univers. Comput. Sci., 14 (2008) 1949-1983.
[39]
A. Carioni, A. Gargantini, E. Riccobene, P. Scandurra, A scenario-based validation language for asms, in: Proceedings of the 1st International Conference on Abstract State Machines, B and Z, Springer-Verlag, 2008, pp. 71-84.
[40]
A. Carioni, A. Gargantini, E. Riccobene, P. Scandurra, Model-driven system validation by scenarios, in: Lecture Notes in Electrical Engineering, Springer-Verlag, 2009, pp. 57-69.
[41]
A. Gargantini, E. Riccobene, ASM-based testing: coverage criteria and automatic test sequence generation, J. Univers. Comput. Sci., 7 (2001) 262-265.
[42]
P. Arcaini, A. Gargantini, E. Riccobene, AsmetaSMV: a way to link high-level ASM models to low-level NuSMV specifications, in: Lecture Notes in Computer Science, vol. 5977, Springer, 2010, pp. 61-74.
[43]
C. Attiogbé, P. André, G. Ardourel, Checking component composability, in: LNCS, 2006, pp. 18-33.
[44]
M. Marzolla, The qnetworks toolbox: A software package for queueing networks analysis, in: Lecture Notes in Computer Science, vol. 6148, Springer, 2010, pp. 102-116.
[45]
G. Franks, P. Maly, M. Woodside, D.C. Petriu, A. Hubbard, Layered Queueing Network Solver and Simulator User Manual, LQN Software Documentation, 2006.
[46]
I. Epifani, C. Ghezzi, R. Mirandola, G. Tamburrelli, Model evolution by run-time parameter adaptation, in: Proc. of ICSE¿09, 2009, pp. 111-121.
[47]
Y. Censor, Pareto optimality in multiobjective problems, Appl. Math. Optim., 4 (1977) 41-59.
[48]
R. Marler, J. Arora, Survey of multi-objective optimization methods for engineering, Struct. Multidiscip. Optim., 26 (2004) 369-395.
[49]
. www.lindo.com
[50]
S. Gokhale, Architecture-based software reliability analysis: overview and limitations, IEEE Trans. Dependable Secure Comput., 4 (2007) 32-40.
[51]
J.M. Voas, K.W. Miller, Software testability: the new verification, IEEE Softw., 12 (1995) 17-28.
[52]
D. Hamlet, D. Mason, D. Woit, Theory of software reliability based on components, in: Proceedings of the 23rd International Conference on Software Engineering, ICSE ¿01, 2001, pp. 361-370.
[53]
R. Mirandola, P. Potena, P. Scandurra, An optimization process for adaptation space exploration of service-oriented applications: the stock trading system case study. http://cs.unibg.it/potena/OptProcess/TRSTS.pdf
[54]
V. Cortellessa, F. Marinelli, P. Potena, Automated selection of software components based on cost/reliability tradeoff, in: Lecture Notes in Computer Science, vol. 4344, 2006, pp. 66-81.
[55]
J. Voas, K. Miller, Software testability: the new verification, IEEE Softw., 12 (1995) 17-28.
[56]
K. Vallidevi, B. Chitra, Effective self adaptation by integrating adaptive framework with architectural patterns, in: Proc. of the 1st Amrita ACM-W Celebration on Women in Computing in India, A2CWiC ¿10, ACM, 2010.
[57]
F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern-Oriented Software Architecture, vol. 1: A System of Patterns, Wiley, 1996.
[58]
B.W. Boehm, Software Engineering Economics, Prentice Hall PTR, 1981.
[59]
K. Czarnecki, U. Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000.
[60]
N.B. Harrison, P. Avgeriou, Incorporating fault tolerance tactics in software architecture patterns, in: Proceedings of the 2008 RISE/EFTS Joint International Workshop on Software Engineering for Resilient Systems, SERENE ¿08, 2008, pp. 9-18.

Cited By

View all
  • (2019)Self-accounting in architecture-based self-adaptationProceedings of the 13th European Conference on Software Architecture - Volume 210.1145/3344948.3344957(14-17)Online publication date: 9-Sep-2019
  • (2016)Fuzzy ontology-driven web-based framework for supporting architectural designProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2852014(1361-1362)Online publication date: 4-Apr-2016
  • (2016)A framework for early design and prototyping of service-oriented applications with design patternsComputer Languages, Systems and Structures10.1016/j.cl.2016.07.00146:C(140-166)Online publication date: 1-Nov-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Science of Computer Programming
Science of Computer Programming  Volume 80, Issue PB
February 2014
269 pages

Publisher

Elsevier North-Holland, Inc.

United States

Publication History

Published: 01 February 2014

Author Tags

  1. Functional/extra-functional requirements
  2. Optimization techniques
  3. Service-oriented applications
  4. Software adaptation and evolution

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Self-accounting in architecture-based self-adaptationProceedings of the 13th European Conference on Software Architecture - Volume 210.1145/3344948.3344957(14-17)Online publication date: 9-Sep-2019
  • (2016)Fuzzy ontology-driven web-based framework for supporting architectural designProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2852014(1361-1362)Online publication date: 4-Apr-2016
  • (2016)A framework for early design and prototyping of service-oriented applications with design patternsComputer Languages, Systems and Structures10.1016/j.cl.2016.07.00146:C(140-166)Online publication date: 1-Nov-2016
  • (2015)Modeling and validating self-adaptive service-oriented applicationsACM SIGAPP Applied Computing Review10.1145/2835260.283526215:3(35-48)Online publication date: 13-Oct-2015
  • (2015)Managing the evolution of a software architecture at minimal cost under performance and reliability constraintsScience of Computer Programming10.1016/j.scico.2014.06.00198:P4(439-463)Online publication date: 1-Feb-2015
  • (2015)Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applicationsJournal of Systems and Software10.1016/j.jss.2014.12.041103:C(392-411)Online publication date: 1-May-2015

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media