DICE - Developing Data-Intensive Cloud Applications with Iterative Quality Enhancements

What user need or pain point is your project addressing?

DataInc is a small software vendor selling cloud-based Big Data services. DataInc has to deliver an initial version of a new Big Data application within 3 months, capable of processing sensor data acquired from a geographical area, with the goal of increasing coverage of areas, sensors and compute capacity on a monthly basis.

The contractors require the application to be highly-available, scalable and cost-efficient. Yet, software developers are puzzled on how to implement a complex Big Data application of this kind in just 3 months: they could rush development but how could they satisfy all the quality requirements? What architecture should they adopt, keeping in mind the future evolution of the service? How should they accelerate quality testing for this initial release?

Project's major results: 
DICE proposes a model-driven engineering (MDE) framework for Big Data applications based on UML, and contextualizes such framework into a DevOps process. The DICE framework includes the following components:
- DICE IDE: an integrated development environment to accelerate coding, design and application prototyping based on the DICE Profile for UML and the DICE Methodology;
- Quality analysis tools: a set of tools for quality analysis during the early-stage of application design via simulation, verification and optimization methods;
- Feedback and Iterative enhancement tools: a monitoring platform tailored to Big Data technologies and coupled with tools that will continuously detect quality anomalies that affect the application design and explain how the data-intensive application utilizes resources.
- Deployment and testing tools: a set of tools and methods supporting delivery on private and public clouds via a TOSCA-compliant deployment tool, optimal application configuration, continuous integration, and quality testing.
The initial release of these tools is due in July 2016 on the project GitHub account. Initial versions of some of the DICE tools are already available: www.github.com/dice-project/

Target stakeholders: 

Small & medium enterprises

Find out more

Project Start: 
Project End: 

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

Software engineers at DataInc discover the DICE Horizon 2020 project.DICE provides an Eclipse-based integrated development environment (IDE) to design the new Big Data application.The IDE features the DICE profile, which extends UML to describe Big Data applications. The DICE quality analysis tools, integrated with the IDE, compare possible architectures by predicting their expected reliability, efficiency and safety characteristics.

DICE also generates a cloud deployment plan for the application and offers testing tools for initial quality assessment. Once the application becomes operational, the application quality characteristics are “learned-as-you-go” from monitoring data and are fed back to the developer for evaluation. The iterative quality enhancement toolchain supports the developer in this task by identifying design anti-patterns and performance outliers in the monitoring data.

Using DICE, DataInc can rapidly implement the first version of the Big Data application and continuously evolve its quality characteristics over time.

Potential exploitation strategy: 
The DICE Value Proposition is to deliver innovative development methods and tools to strengthen the competitiveness of small and medium Independent Software Vendors in the market of business-critical data-intensive applications. Leveraging the DevOps paradigm and the innovative Big Data technologies of nowadays, DICE will offer an open source solution for quality-driven development. By distributing the solution on the Eclipse Market Place, the DICE framework will be exposed to a large base of potential end-users. We could build a solid base of expert users who will rapidly become DICE developers. DICE adopts a licensing model that includes multiple licensing and dual versioning. Such models are known in the open source communities as simple ways to make open source software more sustainable. Since both models involve the sales of the software for commercial uses, such income can be used to cover costs related to further development of the solution.

Vertical Market: 

Media, Finance & insurance, Other.