The MORPHEMIC Project and its Unified User Interface Amina Moussaoui1, Alessandra Bagnato1, Etienne Brosse1, Józefina Krasnodębska2 and Paweł Skrzypek 2 1 Softeam, 3 Avenue du centre, Guyancourt, 78280, France. 2 7bulls.com, Al. Szucha 8, Warsaw, 00-580, Poland. Abstract This paper describes the MORPHEMIC Project and gives some details on its graphical user interface. The MORPHEMIC project proposes a unique way of adapting and optimizing cloud computing applications by introducing the novel concepts of polymorphic architecture and proactive adaptation. It allows application adaptation based on forecasted usage, number of users and other business metrics. The applications will be automatically reconfigured based on forecasting future needs. Also, the architecture of the applications can be changed, to better utilize available hardware. The MORPHEMIC User Interfaces include the tools available for the user to access all MORPHEMIC Platform features for cross-cloud applications modeled in CAMEL language to manage cloud deployment, optimization and monitoring. The User Interface acts as a central MORPHEMIC element where the execution task of applications deployment and the polymorphic adaptation is implemented by the Web User Interface Client which includes managing heterogeneous resources such as cloud offers and material accelerators, managing CAMEL Models, optimizing, deploying and monitoring the cross-cloud Application. The developed User Interface takes into consideration the quality of the User eXperience and the use case studies requirements as they represent the first users of the MORPHEMIC Platform. Keywords Cloud, multi-access computing and networking, Open-source projects, open standards, cross- cloud, GPUs, FPGA, TPUs, AI chips, HPC, Optimization, Big data, Artificial Intelligence. 1. Introduction The paper presents the MORPHEMIC Project [1] and details one of its results so far, the Unified User Interface. The MORPHEMIC Project aims at modeling and orchestrating heterogeneous resources and polymorphic applications for holistic execution and adaptation of models in the cloud, covering areas including cloud computing, big data, open data, and artificial intelligence. Funded by the European Union Horizon 2020 research and innovation programme, the project began in January 2020 for a period of 36 months. The project is still running at the moment of writing and it involves 12 partners from 7 countries belonging to both the academic world and the industrial world. On the academic side, we have: FORTH1, UiO2, UPRC3, ICCS4. Joint Proceedings of RCIS 2022 Workshops and Research Projects Track, May 17-20, 2022, Barcelona, Spain EMAIL: amina.moussaoui@softeam.fr (A. Moussaoui); alessandra.bagnato@softeam.f (A. Bagnato); etienne.brosse@softeam.fr (E.Brosse) ORCID: 0000-0001-5507-5681 (A. Moussaoui); 0000-0003-2675-0953 (A. Bagnato); 0000-0002-3781-4804 (E. Brosse) ©️ 2020 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) 1 https://www.ics.forth.gr/ (Modeling, Crawling, Event pattern discovery and Adaptation Rule Making)) 2 https://www.uio.no/ (Coordination, Optimization, Reinforcement Learning, Cloud deployment patterns) 3 https://www.unipi.gr/unipi/en/ (Big Data Applications and Cloud Infrastructure services) 4 https://www.iccs.gr/ (Metadata Management, Multi-level and Cloud Monitoring, Prediction methods) From the industrial side, we have Softeam5, ICON6, IS-Wireless7, CHUV8, InAccel9, Activeon10, 7bulls11, Engineering12. The project objective is the development of the innovative MORPHEMIC platform, which will provide a unique way of adapting and optimizing cloud computing applications for future specialized hardware configurations like GPUs, TPUs, AI chips, FPGA, HPC. The MORPHEMIC project is an extension of another European Project called MELODIC, a multi- cloud platform and single universal platform that facilitated and optimized deployment and management of cross-cloud applications [2]. The newly developed MORPHEMIC platform will include a Unified User Interface, that will be described in detail in this paper and, as a result, it will support live application reconfiguration, when a component can run in different technical forms, i.e. in a Virtual Machine (VM), in a container, as a big data job, or as serverless components, etc. The MORPHEMIC project vision is to simplify cloud application modeling and continuously optimize and morph the deployment model to take advantage of beneficial cloud capabilities [8]. To reach this vision, the project uses the cloud Application Modeling and Execution Language (CAMEL), a multi-domain-specific language (DSL) allowing users to specify multiple aspects/domains related to multi-/cross-cloud applications, such as the domains of deployment, requirement, metric, scalability, security, organization and execution13. That modeling part, done with the Modelio-based CAMEL Designer Module14 developed by the same authors from the Softeam Software Research team has been presented in [3] [4]. The project final result will be the MORPHEMIC Platform. The MORPHEMIC Platform will allow the user to choose the technical form of deployment during the optimization process to fulfill the user's requirements and needs. The quality of the deployment is measured by a user-defined and application- specific utility. Depending on the application’s requirements and its current workload, its components could be deployed in various forms in different environments to maximize the utility of the application deployment and the satisfaction of the user. Proactive adaptation is not only based on the current execution context and conditions but aims to forecast future resource needs and possible deployment configurations. This ensures that adaptation can be done effectively and seamlessly for the users of the application. The MORPHEMIC deployment platform will therefore be very beneficial for heterogeneous deployment in distributed environments combining various cloud levels including cloud data centers and 5G base stations. MORPHEMIC design is based entirely on microservices architecture. Each component runs in a separate Docker container and shares its services by using a defined API. Orchestration occurs thanks to the BPM process, launched by the Camunda BPM. As presented in the diagram below, we can classify the MORPHEMIC architecture elements into the following function areas: ● Profiling - data input, application modeling and architecture optimization, ● Reasoning - optimization of the implementation plan, ● Executing - physical application deployment, ● Monitoring - application monitoring and metrics collection. 5 https://www.softeamgroup.fr (Software and Business Modeling ) 6 https://www.iconcfd.com (Advanced Cloud-based Services for Computational Fluid Dynamic Simulation) 7 https://www.is-wireless.com/ (Algorithms,protocols and tools development for 4G and 5G networks) 8 https://www.chuv.ch/fr (Neuroimaging, Brain science in health, Computational Brain Anatomy) 9 https://inaccel.com/ (Development of Hardware Accelerators for MORPHEMIC use cases) 10 https://www.activeeon.com/fr (Workflow Scheduling, Cloud Resource Management ,ML Automation) 11 https://www.7bulls.com/en (Software Platform, Cloud Migration Services) 12 https://www.eng.it/en/ (Software patterns, HPC Software, Cloud provider) 13 https://camel-dsl.org/ (Camel language) 14 https://github.com/Modelio-R-D/CamelDesigner (Camel Modeling Tool) The components of each area have been shown in the diagram below (Figure 1). Their detailed descriptions can be found in the deliverable D4.115. Figure 1: Overview of MORPHEMIC architecture The project outcome will be implemented in the form of the complete solution, starting from modeling, through profiling, optimization, runtime reconfiguration, and monitoring. In this paper, a special focus on the MORPHEMIC web based User Interface result of the project will be provided. The Research Challenges in Information Science conference topics covered by the paper are the following: Information Systems Transformations, Model-Driven Engineering, User-Centered Design, and Method Engineering. 2. MORPHEMIC Unified User Interface (UI) One of the results achieved by the project so far is the specification and the first developments of an unified user interface. The MORPHEMIC Web App allows multiple use case scenarios. At first, the user of the MORPHEMIC Web App adds offers of deployment in the platform such as cloud offers of multiple providers (AWS, Microsoft Azure, OpenStack, etc.), hardware accelerators or user supplied nodes. Then, the user creates a new Application by uploading a new CAMEL file in XMI format. The CAMEL file is a model that can be designed with the CAMEL Designer [4], an open source module for graphically creating, editing, and exporting CAMEL models in Modelio [5] tool including all the necessary tools for creating the CAMEL model and all its sub models and components. The user can then update the model with high level policies that determine the utility function, metrics, and constraints. After finishing updating the model, the user has now an application model ready for optimization and deployment. The user can start the deployment which begins by finding the optimal solution and proceed with deploying the proposed solution. At any time, the user can check the result of the deployment and the current status of the deployed application. Finally, the user can stop the deployment process. 15 https://www.morphemic.cloud/deliverables/ The MORPHEMIC UI allows several users to collaborate on the platform. The increased complexity of all the related management operations suggested the idea to define specific roles. The unified UI allows them to navigate on the same platform having different privileges. Roles are: ● Common User: can manage all the operations and resources related to a certain application, such as to perform deployment or manage associated Deployment Environments (but not associate or remove them from the availability of MORPHEMIC) ● Administrator: inherits the privileges of the Common User; furthermore, it can perform administrative tasks, such as user management (create user accounts, assign privileges etc.) . ● Technical User: is used only internally by Metasolver component in order to create reconfiguration processes ● Infrastructure Manager: performs all the administrative operations concerning Deployment Environments, such as association, configuration, definition of the Pre- Authorization Policies and removal. 2.1. Development environment The MORPHEMIC UI is an extension of the Melodic UI16. The User Interface has been implemented as a set of Single-Page Applications (SPA), using the well-known Angular [6] framework (version 7.3.1). Angular brings structure and consistency to web applications and provides excellent scalability and maintainability. It is an open-source, JavaScript framework wholly written in TypeScript. It uses HTML syntax to express the application's components clearly. 2.2. MORPHEMIC User Interface for Applications and Models management In the MORPHEMIC Platform, every Application is represented by a cross-cloud Model described in CAMEL. Thus, managing Applications in the MORPHEMIC Platform User Interface is equivalent to managing the CAMEL models of these Applications. For instance, to add a new Application, a CAMEL file can be simply uploaded and it will represent Application content and configuration. Typical Scenario 1. Precondition: User logs into the MORPHEMIC Platform; 2. UI shows current selected Application; 3. User adds a new Application by uploading a CAMEL model serialized as XMI file; 4. User checks the lists of registered Applications CAMEL models; 5. User switches to another registered Application; 6. User deletes a registered Application. Interface Description When the user clicks on the “Home” menu, he/she is presented the management cycle of applications in the MORPHEMIC Platform (see Figure 2). In order to create a new application, the user clicks on the green button and a view appears for uploading a CAMEL File in XMI format (see Figure 3). After the model is validated and stored, the list of all providers with the defined credentials are displayed. The user can add new or update some of existing items by choosing cloud definitions for providers button. 16 https://melodic.cloud/ The user can also choose some of the available BYON17 definitions to use in deployment. BYON is the user’s own virtual machine, which could be used as a candidate solution. Figure 2: Machine Preparation for Deployment Figure 3: Upload a CAMEL file in XMI format 17 BYON - Bring Your Own Node - ability to provide your own private infrastructure for application deployment. 2.3. MORPHEMIC User Interface for Monitoring Further, the interface enables the user to select the monitoring metrics which will be used to set up a Grafana18 dashboard. Typical Scenario 1. Precondition: User logged in and application deployed; 2. User clicks on the ‘Monitoring’ tab to view information related to the usage of Monitoring metrics; 3. User explores the list of available metrics; 4. User selects metrics to be visualized; 5. User launches dashboard; 6. User redirected to Grafana dashboard; 7. User checks the metrics views. Interface Description The Monitoring interface is responsible for the presentation of monitoring metrics, which can be used to create a Grafana dashboard. While the creation of a proper dashboard is expected to be undertaken by each MORPHEMIC adopter, metrics which should be included in it should be selected from a list of available metrics. The panel contains a list of metrics which are retrieved by the User Interface and presented in a list. Each metric has its raw metric name – the metric name which is retrieved by the UI – a user-friendly name (which defaults to the raw metric name), and the type of the Grafana widget which should be used for the depiction of the metric. Once a user has identified the desired metrics, the ‘Subscribe’ button can be clicked for the respective items, whose color is then changed to reflect their updated status. Subsequently, the ‘Launch Dashboard’ button can be clicked to initiate the creation of a Grafana dashboard featuring the selected metrics. Figure 4 illustrates this panel. Figure 4: Available Monitoring metrics 18 https://grafana.com/ 3. Feature UI /User eXperience The development of the new features of the UI followed a specific approach. It consisted of comparing what was already existing on the Melodic platform and what was described in the specifications of the MORPHEMIC UI features. According to that, the missing features were developed one by one following the user requirement. What makes the MORPHEMIC UI interesting and different is definitely providing the most adapted cloud offers from the supported cloud providers (AWS, Microsoft Azure, OpenStack, OpenNebula, Apache CloudStack) according to the application‘s needs. The main goal of the UI was to have a unified platform for all the services provided from managing the users (with their respective activities and roles) to the cloud deployment cycle, optimization and monitoring. The developed Unified User Interface avoids having features distributed on multiple platforms and above all having the user‘s attention scattered. One of the features was to restrict each type of user to access what their role allows them to. With the newly developed Unified User Interface each profile has a customized interface allowing her/him to interact with the cloud application. 4. Future works The work presented in this paper will be extended in future to enrich the monitoring process with new metrics as well as having advanced security aspects covered in the management feature. Also, the work on the Utility Function Creator is in progress. It will allow the creation of advanced utility functions, by combining template function shape with weight [7], for optimization of cloud resources. The evaluation of the platform by the use case partners will start later this year, which will give us the needed feedback to make improvements. The goal is to create a complete, ergonomic and user-friendly UI for the MORPHEMIC Platform, which will allow for wide exploitation of the system. Acknowledgements The research leading to these results has received funding from the European Union Horizon 2020 research and innovation programme under grant agreement No 871643. The authors wish to thank all the MORPHEMIC Consortium members and Softeam Software and the 7Bulls teams for their support. References [1] MORPHEMIC Website, www.MORPHEMIC.cloud [2] G. Horn and P. Skrzypek, "MELODIC: Utility Based Cross Cloud Deployment Optimisation," 2018 32nd International Conference on Advanced Information Networking and Applications Workshops (WAINA), doi: 10.1109/WAINA.2018.00112. [3] Alessandra Bagnato, Etienne Brosse, Kaïs Chaabouni, “MORPHEMIC Cloud Application Models Design”, 2021, http://ceur-ws.org/Vol-3028/, p70-72. [4] Modelio Camel Designer, github.com/Modelio-R-D/CamelDesigner. [5] Modelio Web Site, www.modelio.org. [6] Angular Website, www.angular.io. [7] Różańska, Marta, and Geir Horn. "Marginal metric utility for autonomic cloud application management." Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing Companion. 2021. [8] Verginadis Y., Kritikos K., Patiniotakis I. (2021) Data and Cloud Polymorphic Application Modelling in Multi-clouds and Fog Environments. In: La Rosa M., Sadiq S., Teniente E. (eds) Advanced Information Systems Engineering. CAiSE 2021. Lecture Notes in Computer Science, vol 12751. Springer, Cham. https://doi.org/10.1007/978-3-030-79382-1_27