=Paper= {{Paper |id=Vol-3144/RP-paper13 |storemode=property |title=The MORPHEMIC Project and its Unified User Interface |pdfUrl=https://ceur-ws.org/Vol-3144/RP-paper13.pdf |volume=Vol-3144 |authors=Amina Moussaoui,Alessandra Bagnato,Etienne Brosse,Jozefina Krasnodebska,Pawel Skrzypek |dblpUrl=https://dblp.org/rec/conf/rcis/MoussaouiBBKS22 }} ==The MORPHEMIC Project and its Unified User Interface== https://ceur-ws.org/Vol-3144/RP-paper13.pdf
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