Cloud computing is becoming increasingly prevalent, more and more software providers are offering their applications as Software-as-a-Service solutions rather than traditional on-premises installations. In order to ensure the efficacy of the testing phase, it is critical to create a test environment that sufficiently emulates the production environment. Thus, Cloud applications should be tested in the Cloud. Cloud providers offer command-line tools for interacting with their platforms. However, writing custom low-level scripts using the provider's tool can become very complex to maintain and manage when variability (in terms of providers and platforms) is introduced. The contributions in this paper include: the development of a high level Domain Specific Language for the abstract definition of the application deployment process, and resource requirements, and a generation process that transforms these definitions to automatically produce deployment and instantiation scripts for a variety of providers and platforms. These contributions significantly simplify and accelerate the testing process for Cloud applications.
This paper describes CARDEMO, a Traffic Management System (TMS) designed to assist TMS operators. The CARDEMO prototype applies an emergency response model to the city of Dublin, Ireland, and suggests a set of security controls for protecting critical assets (e.g., hospitals, schools, banks) from unexpected and harmful events that may occur in the city. Given an emergency situation, the system collects information about the amenities and traffic lights in the area, and uses the response model to recommend a set of security controls to mitigate possible threats.
This paper demonstrates how we applied a constraint-based dynamic adaptation approach on CarDemo, a traffic management system. The approach allows domain experts to describe the adaptation goals as declarative constraints, and automatically plan the adaptation decisions to satisfy these constraints. We demonstrate how to utilise this approach to realise the dynamic switch of routing services of the traffic management system, according to the change of global system states and user requests.
Cloud infrastructures offer facilities to develop and deploy large-scale applications. Nevertheless, testing Cloud applications is an intricate task because applications themselves are very complex, infrastructures are highly distributed and heterogeneous, the amounts of data are massive, and the interconnections between services/components are sophisticated. From a business point of view, testing is generally not seen as an interesting phase of software development because, unlike the development of new features, it does not offer a direct return on investment. We think that providing accurate methodologies and tools to test Cloud applications will allow companies to speed up testing (and thus save time and money), and produce better software (and thus increase their competitiveness). In this research, we aim to ease the deployment of Cloud applications. This task is painful in the context of Cloud applications because testers have to write different scripts to test their applications with different Cloud vendors (e.g. Amazon EC2 1 , Google Compute Engine 2 ). Our objective is to define a generic language that allows writing deployment scripts disregarding Cloud vendors. Literature Review - State of the Art Many different configuration management tools have been developed to maintain applications across multiple hosts in a distributed environment e.g., Cfengine (Burgess, 1995), Puppet (Kanies, 2006), and Chef 3 . A similar tool described by Juve et. al. (2011),
Lotfi Ben Othmane合作论文数Laboratory for Quality Software (Laquso),
Department of Mathematics and Computer Science,
Eindhoven University of Technology1