ARCADIA A Novel Reconfigurable By Design Highly Distributed Applications Development Paradigm Over Programmable Infrastructure





What user need or pain point is your project addressing?

Given the inability of Highly-Distributed-Application-Developers to foresee the changes as well as the heterogeneity on the underlying infrastructure, it is considerable crucial the design and development of novel software paradigms that facilitate application developers to take advantage of the emerging programmability of the underlying infrastructure and therefore develop Reconfigurable-by-Design applications.

In parallel, it is crucial to design solutions that are scalable, support high performance, are resilient-to-failure and take into account the conditions of their runtime environment. Towards this direction, the ARCADIA project aims to design and validate a Novel Reconfigurable-By-Design Highly Distributed Applications Development Paradigm over Programmable Infrastructure.

The proposed framework will rely on the development of an extensible Context Model which will be used by developers directly at the source-code level, assisted and validated by IDE-plugins in order to re-assure that the generated executable files contain meaningful semantics. According to ARCADIA’s vision, the generated executables should be on-boarded by a Smart Controller which will undertake the tasks of translating annotations to optimal infrastructural configuration. Such a controller will enforce an optimal configuration to the registered programmable resources and will pro-actively adjust the configuration plan based on the Infrastructural State and the Application State.


Project's major results: 

ARCADIA is mainly targeting at proposing a software development paradigm along with a deployment framework that enables the design, development and deployment of distributed applications over programmable infrastructure. A set of challenges are going to be tackled including (i) the design of a novel software development paradigm that is going to facilitate software developers to develop applications that can be represented in the form of a service graph –consisted by a set of software components along with the dependencies and interconnections among them- that can be deployable and orchestratable over programmable infrastructure, (ii) the design and implementation of an orchestrator (called Smart Controller in ARCADIA) able to undertake the developed service graph and proceed to optimal deployment and orchestration of the corresponding service/application and (iii) the design and implementation of a policy management framework that supports the definition of high and low level policies on behalf of a Services Provider that can be associated with a service graph or a set of service graphs along with the definition of a set of metrics for policies management purposes.


Target stakeholders: 

Small & medium enterprises, Large companies, Technology providers, Research institutions.



Resources: 

Open Source software available on

AppHub Directory

 
Project Start: 
01/01/2015
Project End: 
31/12/2017


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

ARCADIA’s reference implementation and developed toolkits are going to facilitate application developers to design and develop infrastructural-agnostic applications and lead to the evolvement of novel and innovative paradigms for the deployment of advanced applications, boosting in this way the competitiveness of the software development industry. Based on the use of a set of annotations in the source code level, application deployment and management will be supported through the design and implementation of Smart Controllers.

The Smart Controllers will orchestrate the dynamic allocation and management of resources (e.g. physical devices, virtual images, linux containers), as well as the configuration of the execution environment in real time. The approach followed ensures the optimal use of the available resources based on the existing policies, as well as the optimal runtime configuration in application and infrastructural level. This is based on orchestration provided by distributed collaboration among the Smart Controllers. Thus, optimisation of the application’s execution according to multiple objectives (e.g. energy efficiency, QoS, security), as set by the end users, will be supported.


Potential exploitation strategy: 
The main technological results of the ARCADIA project include (i) the design and development of the ARCADIA software development paradigm and toolkit, (ii) the development of the ARCADIA Smart Controller, and (iii) the design of the ARCADIA Context Model. The combination of the aforementioned results along with their instantiation and exploitation in the three use cases of the project is going to prove the validity of the developed mechanisms as well as lead to a set of results and insights regarding their optimal usage in diverse cases.
ARCADIA is envisaging to come up with a community edition of the ARCADIA framework as well as with a commercial version. Final decisions are going to be taken by the ARCADIA consortium.

Vertical Market: 

Other