..............................
..............................
..............................
A Dynamic Architecture for Runtime Adaptation of Service-based Applications
Service-Based Applications (SBA) offer flexible functionalities in wide range of environments. Therefore they should
dynamically adapt to different quality concerns such as security, performance, etc. For example, we may add particular
delivery service for the golden customers, or provide secure services for the specific partners, or change service invocation
based on context information. Unlike other adaptation methods which substitute a faulty service or negotiate for service level
objectives, we modify the architecture of SBA, that is, the underlying services structure and the runtime services
implementation. In this regard, we propose a reflective architecture which holds business and adaptation knowledge in the
Meta level and implements service behaviours in the Base level. The knowledge is modelled in the form of Meta states and
Meta transitions. We benefit from Reflective Visitor pattern to materialize an abstract service in different concrete
implementations and manipulate them at runtime. Each service implementation fulfils a specific quality concern, so it is
possible to delegate user requests to appropriate implementation instead of reselecting a new service which is a time
consuming strategy. We used Jmeter load simulator and real-world Quality of Service (QoS) dataset to measure the
architecture efficiency. Also, we characterized our work in comparison with related studies according to the European
Software Services and Systems Network (S-CUBE) adaptation taxonomy.
[1] Autili M., Cortellessa V., and Benedetto P., Inverardi P., “On the Adaptation of Context- Aware Services,” in Proceedings of the International Workshop on Service Oriented Computing, Vienna, pp. 25-30, 2007.
[2] Beggas M., Médini L., Laforest F., and Laskrid M., “Towards an Ideal Service Qos in Fuzzy Logic-Based Adaptation Planning Middleware,” Journal of Systems and Software, vol. 92, pp. 71- 81, 2014.
[3] Cardellini V., Casalicchio E., Grassi V., Iannucci S., and Presti F., “MOSES: A Framework for Qos Driven Runtime Adaptation of Service-Oriented Systems,” IEEE Transactions on Software Engineering, vol. 38, no. 5, pp. 1138-1159, 2012.
[4] Daubert E., Barais O., Nain G., Sunye G., Jézéquel J., Pazat., and Morin B., “A Models@ Runtime Framework for Designing and Managing Service-Based Applications,” in Proceedings of the 1st International Workshop on European Software Services and Systems Research: Results and Challenges, Zurich, pp. 10-11, 2012.
[5] Ferreira L. and Rubira C.., “The Reflective State Pattern,” in Proceedings of the 5th Pattern Languages of Programs Conference, Monticello, 1998.
[6] Gamma E., Helm R., Johnson R., John V., and Booch G., Design Patterns: Elements of Reusable Object-Oriented Software, Pearson Education, 1995.
[7] Gauvrit G., Daubert E., and Andre F., “Safdis: A Framework to Bring Self-Adaptability to Service-Based Distributed Applications,” in Proceedings of 36th EUROMICRO Conference on Software Engineering and Advanced Applications, Lille, pp. 21-218, 2010.
[8] Haesen R., Snoeck M., Lemahieu W., and Poelmans S., “On the Definition of Service Granularity and Its Architectural Impact,” in Proceedings of International Conference on Advanced Information Systems Engineering, Montpellier, pp. 375-389, 2008.
[9] Ismail A., Yan J., and Shen J., “Incremental Service Level Agreements Violation Handling with Time Impact Analysis,” Journal of Systems and Software, vol. 86, no. 6, pp. 1530-1544, 2013.
[10] Juszczyk L., Truong H., and Dustdar S., “Genesis-a Framework for Automatic Generation and Steering of Testbeds of Complexweb Services,” in Proceedings of 13th IEEE International Conference on Engineering of Complex Computer Systems, Belfast, pp. 131- 140, 2008.
[11] Kazhamiakin R., Benbernou S., Baresi L., Plebani P., Uhlig M., and Barais O., Service Research Challenges and Solutions for the Future Internet, Springer, 2010.
[12] Kitchenham B., “Guidelines for Performing Systematic Literature Reviews in Software Engineering,” EBSE Technical Report ver. 2.3, Keele University, 2007.
[13] La H. and Kim S., “Dynamic Architecture for Autonomously Managing Service-Based Applications,” in Proceedings of the IEEE 9th International Conference on Services Computing, Honolulu, pp. 515-522, 2012.
[14] Lane S., Gu Q., Lago P., and Richardson I., “Towards A Framework for The Development of Adaptable Service-Based Applications,” Service Oriented Computing and Applications, vol. 8, 406 The International Arab Journal of Information Technology, Vol. 16, No. 3, May 2019 no. 3, pp. 239-257, 2014.
[15] Lau K. and Tran C., Emerging Web Services Technology, Birkhäuser Basel, 2008.
[16] Mahbub K. and Spanoudakis G., “Proactive Sla Negotiation for Service Based Systems: Initial Implementation and Evaluation Experience,” in Proceedings of IEEE International Conference on Services Computing, Washington, pp. 16-23, 2011.
[17] Mai Y. and De Champlain M., “Reflective Visitor Pattern,” in Proceedings of the 6th European Conference on Pattern Languages of Programms, Irsee, pp. 299-316, 2001.
[18] Metzger A., “Towards Accurate Failure Prediction for The Proactive Adaptation of Service-Oriented Systems,” in Proceedings of the 8th Workshop on Assurances for Self-Adaptive Systems, Szeged, pp. 18-23, 2011.
[19] Metzger A., Sammodi O., Pohl K., and Rzepka M., “Towards Pro-Active Adaptation with Confidence: Augmenting Service Monitoring with Online Testing,” in Proceedings of ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, Cape Town, pp. 20- 28, 2010.
[20] Mezghani E. and Ben Halima R., “DRF4SOA: A Dynamic Reconfigurable Framework for Designing Autonomic Application Based on SOA,” in Proceedings of IEEE 21st International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, Hammamet, pp. 95-97, 2012.
[21] Oriol M., Franch X., and Marco J., “Monitoring the Service-Based System Lifecycle with SALMon,” Expert Systems with Applications, vol. 42, no. 19, pp. 6507-6521, 2015.
[22] Psaier H., Juszczyk L., Skopik F., Schall D., and Dustdar S., “Runtime Behavior Monitoring and Self-Adaptation in Service-Oriented Systems,” in Proceedings of 4th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, Budapest, pp. 164-173, 2010.
[23] Psaier H., Skopik F., Schall D., and Dustdar S., “Behavior Monitoring in Self-Healing Service- Oriented Systems,” in Proceedings of the 34th Annual IEEE Computer Software and Applications Conference, Seoul, pp. 357-366, 2010.
[24] Takatsuka H., Saiki S., Matsumoto S., and Nakamura M., “Developing Service Platform for Web Context-Aware Services Towards Self- Managing Ecosystem,” in Proceedings of Service- Oriented Computing ICSOC Workshops, Paris, pp. 270-280, 2014.
[25] Wang C. and Pazat J., “A Two-Phase Online Prediction Approach for Accurate and Timely Adaptation Decision,” in Proceedings of IEEE 9th International Conference on Services Computing, Honolulu, pp. 218-225, 2012.
[26] Wang H., Ding B., Shi D., Cao J., and Chan A., “Auxo: An Architecture-Centric Framework Supporting The Online Tuning of Software Adaptivity,” Science China Information Sciences, vol. 58, no. 9, pp. 1-15, 2015.
[27] Zengin A., Marconi A., and Pistore M., “CLAM: Cross-Layer Adaptation Manager for Service- Based Applications,” in Proceedings of the International Workshop on Quality Assurance for Service-Based Applications, Lugano, pp. 21- 27, 2011.
[28] Zhang Y., Zheng Z., and Lyu M., “Exploring Latent Features for Memory-Based Qos Prediction In Cloud Computing,” in Proceedings of the 30th IEEE Symposium on Reliable Distributed Systems, Madrid, pp. 1-10, 2011.
[29] Zheng Z., Zhang Y., and Lyu M., “Distributed Qos Evaluation for Real-World Web Services,” in Proceedings of the IEEE International Conference on Web Services, Miami, pp. 83-90, 2010.
[30] Zisman A., Spanoudakis G., Dooley J., and Siveroni I., “Proactive and Reactive Runtime Service Discovery: A Framework and Its Evaluation,” IEEE Transactions on Software Engineering, vol. 39, no. 7, pp. 954-974, 2013. Yousef Rastegari is PhD candidate at Department of Computer Engineering and Science, ShahidBeheshti University. He is member of two research groups namely ASER (Automated Software Engineering Research) (aser.sbu.ac.ir) and ISA (Information Systems Architecture) (isa.sbu.ac.ir). Fereidoon Shams has received his PhD in Software Engineering from the Department of Computer Science, Manchester University, UK, in 1996 and his M.S. from Sharif University of Technology, Tehran, Iran, in 1990. His major interests are Software Architecture, Enterprise Architecture, Service Oriented Architecture, Agile Methodologies, Ultra-Large-Scale (ULS) Systems and Ontological Engineering. He is currently an Associate Professor of Software Engineering Department, ShahidBeheshti University of Iran. Also, he is heading two research groups namely ASER (Automated Software Engineering Research) (aser.sbu.ac.ir) and ISA (Information Systems Architecture) (isa.sbu.ac.ir) at ShahidBeheshti University.