Envisage - Engineering Virtualized Services

Project start: 
Tuesday, 1 October, 2013
Project end: 
Friday, 30 September, 2016
Project Website: 
http://www.envisage-project.eu/

Cloud computing allows software developers to control resource parameters such as the choice of processors, the amount of memory, storage capacity, and bandwidth. When software is designed based on specific assumptions about the size of data structures, the amount of RAM, and the number of processors, rescaling requires extensive design changes. If software were designed for scalability, the client of a cloud service can not only deploy and run software, but also fully control trade-offs between the incurred cost and the delivered quality-of-service.

Traditionally, deployment happens late in software development. For static deployments, IBM Systems Sciences Institute estimated that a defect which costs one unit (hour, $, etc) to fix in design, costs 15 units to fix in testing and 100 units in production, without considering delayed time to market, lost revenue, lost customers, and bad public relations.

Considering the complexity of virtualized resource management, more significant differences can be expected. Deployment errors, such as the failure to meet a service level agreement (SLA), must be fixed already in design! To make full usage of the cloud, software developers need a methodology that supports deployment modeling at early design stages and permits the detection of deployment errors early and efficiently.

How will your solution/service benefit the end-user? 

The goal of Envisage is to move deployment decisions into the design phase of the software development chain without convoluting the design with deployment details. To fully exploit the opportunities of cloud computing, the software developer working with the tool-supported development environment of Envisage uses advanced model-based analysis techniques to devise resource-aware deployment strategies when developing software services.

The resulting software will monitor its own load, congestion and client traffic to scale in a timely and cost-efficient manner. The software design methodology developed in Envisage is based on “early modeling” of virtualized services destined for cloud deployment. The behavior of virtualized services is specified as an abstract behavioral model in the executable modeling language ABS. ABS models interact with a Cloud API, a highly configurable abstract interface to the provisioning layer. The models make it possible to develop and compare different client-side resource management schemes and observe their impact on cost and performance at design time. Model-based analysis facilitates the detection of deployment errors early and efficiently, helped by software tools, such as simulators, test generators, and static analyzers.

The methodology further includes automated support for runtime monitoring of service-level agreements for services deployed on the cloud.

Go to Market Strategy (AKA - Potential exploitation strategy) 

The software design methodology developed in Envisage is based on “early modeling” of virtualized services destined for cloud deployment. The behavior of virtualized services is specified as an abstract behavioral model in the executable modeling language ABS. Model-based analysis facilitates the detection of deployment errors early and efficiently, helped by software tools, such as simulators, test generators, and static analyzers.

The methodology further includes automated support for runtime monitoring of service-level agreements for services deployed on the cloud. These tools are released as open source and are available for use and exploitation.

Resources: 

Open Source software available on

AppHub Directory