ICARUS aims to deliver a novel Big Data platform powered by aviation relevant data, allowing experimentation with big data analytics, service composition, data sharing, assets reuse and business value generation. Towards this end, the technical team of the ICARUS project carefully analysed the technical requirements that were elicited from the user requirements and user stories collected by the demonstrator partners of the consortium, as well as from the feedback received during the external validation of the ICARUS MVP. The results of this analysis had driven the design of the architecture of the ICARUS platform which aims to deliver a holistic set of features with sophisticated and valuable functionalities that efficiently address the requirements of the aviation data value chain and highlight the novelty of the ICARUS platform.
During this course, several technical challenges emerged both on an overall technical or architectural scope and on a specific feature level that triggered discussions between the technical partners and the demonstrator partners of the consortium in order to formulate the required decisions. The main challenges that were faced during the architecture design process was the assurance of the smooth and effective integration of the multiple designed software modules. In accordance with the design specifications, a set of key components are developed on top of a state-of-the-art big data infrastructure, where each component has been designed with the aim of delivering specific business services with a clear context, scope and set of features. Each component exploits multiple technologies and tools towards the aim of providing the envisioned platform features that will address the ICARUS stakeholders’ needs. As a consequence, one of the main challenges was the successful and efficient integration of a variety of technologies and tools that were combined towards the realisation of the designed features. One additional critical challenge that was taken into consideration during the development process of the ICARUS platform was the involvement of multiple development teams from different partners and organisations that exploit these different technologies and tools within the assigned development activities.
The described challenges were address by adopting a two-fold approach. At first, the platform’s components were assigned to the different technical partners that were all involved in the analysis of the requirements, the shaping of the conceptual architecture and the design of the individual components. Within this process, a thorough analysis was conducted, where all partners contributed, concerns were raised and decisions were weighted towards the evolution of a mature concept architecture design that is aiming to address the ambition of ICARUS to deliver a novel big data platform for the aviation data value chain.
Secondly, a well-defined and concrete integration strategy and the respective integration plan were formulated. The objective of the integration strategy and the integration plan is to define how and when to perform the integration of the various components and services of the ICARUS platform and establish which tools and methodology will be used during the integration phase in order to accomplish a smooth integration and verification process. Hence, the integration of the ICARUS platform is based on carefully selected well-established tools, open-source libraries, frameworks and techniques for: a) source code versioning and management, b) automated building, c) unit and integration testing, d) issue tracking and e) continuous integration in order to ensure the proper planning, design and collaboration of the involved development teams. Utilising these tools, an integration strategy was formulated in order to produce multiple increments of the platform with additional features and refinements in the existing features. The integration strategy defines the integration cycles that are performed following a set of concrete steps for the component implementation, the integration of the component and finally the system integration. Finally, the integration plan is defined that includes all the necessary actions that are performed during the integration cycles of the ICARUS platform in order to further ensure the smooth integration and verification process. Within this integration plan, the component’s dependencies were identified and the set of interfaces on each integration cycle that will facilitate the required exchange of information towards the realisation of the aspired platform’s workflows were defined. Finally, the functionalities of each component that will be available on each release of the platform were documented in order to give the appropriate direction to the development efforts that will be undertaken during each platform release.
Last but not least, in each minor and major release cycle, the role of the actual end users represented by the ICARUS demonstrators was very crucial as they were assigned with quickly testing the new features and providing feedback to any issues that were encountered and should be addressed by the technical team.
Blog post authors: UBITECH