..............................
            ..............................
            ..............................
            
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.
