Program
We are pleased to welcome one keynote, several presentations, and four peer-reviewed papers.
Keynote: 10 Years of MESOCA
Scott Tilley, Florida Institute of Technology
Bio: Scott Tilley is a professor of systems engineering at the Florida Institute of Technology, director of the Center for Technology & Society, and president of the Big Data Florida user group. He is an ACM Distinguished Lecturer. His recent books include “Software Testing in the Cloud: Migration & Execution” (Springer, 2012), “Systems Analysis & Design” (Cengage, 2016), and the forthcoming “Academic Leadership” (Morgan & Claypool, 2016). He writes the weekly “Technology Today” column for Florida Today (Gannett). He holds a Ph.D. in computer science from the University of Victoria.
Abstract: The MESO(C)A series of events began with a working session at ICSM 2007 in Paris. The original focus was the maintenance and evolution of SOA-based systems. Five years later, at ICSM 2011 in Williamsburg, VA, the scope was expanded to include cloud-based environments. This talk summarizes the key research themes that have emerged over the last 10 years. The talk also outlines some of the challenges facing the community in the coming years. Many of the core activities related to system maintenance and evolution are timeless and will undoubtedly continue to be important topics in the future. However, the rapid adoption of new computing ecosystems such as mobile apps and new technical advances in areas such as big data will qualitatively and quantitatively affect both the problem space and the solution space of MESOCA as it enters its second decade.
Peer-reviewed Papers
Nitin Naik. Migrating from Virtualization to Dockerization in the Cloud: Simulation and Evaluation of Distributed Systems
Abstract: Virtualization is the nucleus of cloud computing for providing its services on-demand. Cloud-based distributed systems are predominantly developed using virtualization technology. However, the requirement of significant resources and issues of interoperability and deployment make it less adoptable in the development of many types of distributed systems. Dockerization or Docker container-based virtualization has been introduced in the last three years and gaining popularity in the software development community. Docker has recently introduced
its distributed system development tool called Swarm, which extends the Docker container-based system development process on multiple hosts in multiple clouds. Docker Swarm-based containerized distributed system is a newborn approach and needs to be compared with virtualized distributed system. Therefore, this paper presents the simulation and evaluation of the development of a distributed system using virtualization and dockerization. This simulation is based on Docker Swarm, VirtualBox, Ubuntu, Mac OS X, nginx and redis. To simulate and evaluate the distributed system in the same environment, all Swarm Nodes and Virtual Machines are created using VirtualBox on the same Mac OS X host. For making this evaluation rational, almost similar system resources are allocated to both at the beginning. Subsequently, similar servers nginx and redis are installed on Swarm Node and Virtual Machine. Finally, based on the experimental simulation results, it evaluates their required resources and operational overheads; thus, their performance and effectiveness for designing distributed systems.
Huu Tam Tran, Harun Baraki, Ramaprasad Kuppili, Amir Taherkordi and Kurt Geihs. A Notification Management Architecture for Service Co-evolution in the Internet of Things
Abstract: IoT applications are essentially characterized by their highly dynamic nature, in which the configurations of both network and software systems may change. In the context of IoT software services, modifications can occur during application lifespan due to updates and amendments. Hence, third-party applications and services depending on the changed services need to take appropriate coordination and adaptation actions. Existing solutions do not focus on coordinated co-evolution within resource constrained environments. Addressing this issue in a resource-efficient manner is the objective of our proposed notification management mechanism. It detects and informs dependent third-party applications automatically about service changes and categorizes them into crucial and minor changes. Furthermore, it maintains a list of possibly affected clients without consuming further resources on the IoT device the service is running on. Special attention is also paid to the usability and integrability of our mechanism for clients as well as for providers.
Miguel Angel Zúñiga Prieto, Silvia Abrahao and Emilio Insfran. Architecture Description Language for Incremental Integration of Cloud Services Architectures
Abstract: Service-oriented architecture (SOA) together with agile development practices have shown a largely favorable strategy for organizations looking for improving time-to-market and business agility. SOA is an architectural style for building software applications using coarse-grained services which are bind together through orchestration or choreography mechanisms. Agile development methods promotes early and continuous increments which means that successive cloud service increments need to be integrated into an existing cloud services architecture. This paper presents an Architecture Description Language (ADL), as an extension of the SoaML language, to specify how an increment architecture will be integrated into an existing cloud services architecture. In addition, we introduce a tool support that uses this specification to automatically generate: i) the new choreography of services; and ii) the deployment and needed reconfiguration scripts (service invocations) according to the integration specification. The use of this ADL is shown in the Microsoft Azure© platform using an excerpt of a reservation system for a travel operator as illustrative example.
Mohammad Hamdaqa and Ladan Tahvildari. StratusPM: An Analytical Performance Model for Cloud Applications
Abstract: Several planning and performance analysis tools and techniques are available to execute sophisticated “what-if” analysis, in order to dynamically reconfigure cloud applications, modify them, and update their adaptation policies. However, in order to utilize these tools and techniques, appropriate analytical models for such cloud software systems must first be built. Constructing such models is difficult, as it requires the knowledge of: (i) the architecture of the system (i.e., deployment model), (ii) the specifications of the platform, (iii) the behavior of the application at runtime, and (iv) the formalism and notations of the target analytical model. This is further complicated in the cloud due to: (i) the fluid nature of the cloud application models and platforms, (ii) the large number of platform providers, and (iii) the successive upgrade to the underlying platforms. In our previous research work, we developed an architectural framework and a modeling language for the cloud configuration space called StratusML. This paper aims at extending StratusML to support generating analytical performance models for cloud applications by reusing the information used to configure the platform for the deployment and the operation. We show through an example, how to use StratusPM to model cloud performance and how the new extension can help reducing the efforts needed to specify analytical performance models for cloud applications.