DICE focuses on quality assurance for data-intensive applications developed through the model-driven engineering (MDE) paradigm. The project offers methods to accelerate the delivery of Big data application prototypes to the cloud, test them semi-automatically, and analyze the resulting performance and reliability data and log traces to identify quality anti-patterns in the architecture, performance anomalies, and verify the correctness of the implementation. This information can then be exploited to accelerate refactoring and iteratively optimize quality characteristics.
Existing MDE approaches are by large agnostic of data properties and usage, thus complicating the development of high-quality data-intensive applications and their quality assessment. Instead, DICE wants to define an MDE approach that has the ability to account for data usage patterns of the application, for example, read rates, write rates and synchronization rates between different architectural elements (e.g., mappers and reducers, spouts and bolts, etc). Using DICE data usage patterns can be analyzed in simulation and on tests on initial prototypes and the application response evaluated. This approach, therefore, enables quality assessment since the early design stages, reducing the chances of project failure and the number of possible quality incidents.
DICE offers a novel UML profile and tools to continuously enhance and deploy architecturally-optimized versions of data-intensive cloud applications. The toolchain architecture is presented in the DICE Knowledge Repository, alongside pointers to each individual tool.