Skip to content

Second Systematic Literature Search:
Focusing on Recent ADLs

Table of Contents

  1. General Information
  2. Searched Libraries
    1. Individual Libraries
      1. ACM
      2. IEEE
      3. SpringerLink
    2. Joined Results
  3. Selection of Suitable Literature
    1. Title-Based Selection
    2. Abstract-Based Selection
    3. Full-Text Scan
    4. Snowballing
  4. Identified Modeling Languages

1. General Information

The following search string was used to find literature that introduces or discusses architecture description languages in the context of microservices or the cloud. This time, the search string is applied to the title, and the searches only consider publications from 2019 onwards since the latest review from the previous literature search was then published.

Search string:

(Title:(((modeling OR modelling) AND (language OR languages))
OR ("model-driven") OR
((modeling OR modelling) AND (architecture OR architectures)) OR
("application modeling" OR "application modelling")) AND
Title:((microservice OR microservices OR cloud)))

Overview Second Literature Search

Short summary of the overall procedure for the recent ADL search

๐Ÿ“† Search date: 2022-02-02

2. Searched Libraries

2.1 Individual Libraries

ACM

"query": { Title:(((modeling OR modelling) AND (language OR languages)) OR
("model-driven") OR
((modeling OR modelling) AND (architecture OR architectures)) OR
("Document Title":"application modeling" OR "Document Title":"application modelling")) AND
Title:((microservice OR microservices OR cloud)) }
"filter": { Publication Date: (01/01/2019 TO 12/31/2022), ACM Content: DL }
๐Ÿ” Results: 11
ACM_second_search_raw_results

IEEE

((("Document Title": modeling OR "Document Title": modelling) AND ("Document Title": language OR "Document Title": languages)) OR
("Document Title":"model-driven") OR
(("Document Title": modeling OR "Document Title": modelling) AND ("Document Title": architecture OR "Document Title": architectures)) OR
("Document Title":"application modeling" OR "Document Title":"application modelling")) AND
("Document Title":microservice OR "Document Title":microservices OR "Document Title":cloud)

Filter Year: 2019 - 2022
๐Ÿ” Results: 30
IEEE_second_search_raw_results

SpringerLink's title search does not allow the usage of constraints such as โ€ANDโ€ or โ€ORโ€. Consequently, the desired search string has to be assembled manually by executing several steps. This requires separating the search strings and combining the results for the "OR" relations. Additionally, to realize the outermost "AND" relation, only the results that appeared in both merged searches are considered, meaning the intersection of the two merged searches. The individual intermediate results are documented in the following, and a detailed description of the separation process is also provided if desired.

Detailed description of the manual separation and search procedure

First, the search string can be separated into two parts identified by the outermost โ€ANDโ€ relation:

  1. Title:(((modeling OR modelling) AND (language OR languages)) OR ("model-driven") OR ((modeling OR modelling) AND (architecture OR architectures)) OR ("application modeling" OR "application modelling"))
  2. Title:((microservice OR microservices OR cloud))

Now, the two remaining search strings can be further divided. This time, at the outermost โ€ORโ€ relation. Additionally, the asterisk (*) is used to combine the option (microservice OR microservices) in one search term, since * allows any number of following letters:

  1. Results for separating Title:(((modeling OR modelling) AND (language OR languages)) OR ("model-driven") OR ((modeling OR modelling) AND (architecture OR architectures)) OR ("application modeling" OR "application modelling")):
        1. ((modeling OR modelling) AND (language OR languages))
        2. ("model-driven")
        3. ((modeling OR modelling) AND (architecture OR architectures))
        4. ("application modeling" OR "application modelling"))

  2. Results for separating Title:((microservice OR microservices OR cloud)):
        1. microservice*
        2. cloud

The retrived results 1.1, 1.3 and 1.4 have to be further simplified by combining and separating the search strings further. Additionally, the asterisk (*) is used again to combine options like (language OR languages) in one search term:

  1. Further simplification and separation:
        1. Combining and simplifying ((modeling OR modelling) AND (language OR languages)):
              1. modeling language*
              2. modelling language*
        2. model-driven
        3. Combining and simplifying ((modeling OR modelling) AND (architecture OR architectures)):
              1. modeling architecture*
              2. modelling architecture*
        4. Combining and simplifying (application modeling OR application modelling):
              1. application modeling
              2. application modelling

Each retrieved search string (1.1.1, 1.1.2, 1.2, 1.3.1, 1.3.2, 1.4.1, 1.4.2) is used for a title search, combined with an additional restriction of the full-text search to (cloud OR microservice OR microservices). The results of these seven searches are then simply merged since they are combined with an "OR" relation in the original search string. The merged results are referred to as FirstHalf in the following.

The search strings 2.1 and 2.2 are also used for a title search, but this time combined with a restriction of the full-text search to (((modeling OR modelling) AND (language OR languages)) OR ("model-driven") OR ((modeling OR modelling) AND (architecture or architectures)) OR ("application modeling" OR "application modelling")).

Afterwards, to reconstruct the "AND" relation, the intersection between the FirstHalf combined with the search results from using the search string 2.1 are built. The same is done for the search results of using the search string 2.2. The intersections are built using an R-Script, which is provided later on. In order to retrieve the final result of the desired search string, the two intersections are then merged. As mentioned before, the intermediate results, as well as the final result, are presented in the following.


Furthermore, SpringerLink only provides the option to export the search results as .csv-file. Therefore, this .csv-file had to be transformed into a .bib-file. For this, an R-Script was used to retrieve the DOIs from the .csv-files and save them in a .txt-file:

Retrieve DOIs from CSV-file
FoundLiterature <- read.csv("searchResults.csv", encoding = "UTF-8");
DOIs <- FoundLiterature["Item.DOI"]

write.table(DOIs,file="DOIs.txt", row.names = FALSE, quote=FALSE)
The R-Script can also be found in the following file: Retrieve_DOIs_From_CSV

The received DOIs were then used with the tool Zotero to create a .bib-file with the respective literature.

Conducting the advanced search using the following restriction...
(cloud OR microservice OR microservices)
Filter Year: 2019 - 2022
Files for .csv to .bib
  1. Export from SpringerLink: CSV-Modeling_language(s)_title_raw_results
  2. Retrieved DOIs: DOIs_Modeling_language(s)_title
  3. Result: Bib-Modeling_language(s)_title_raw_results

๐Ÿ” Results: 4

(cloud OR microservice OR microservices)
Filter Year: 2019 - 2022
Files for .csv to .bib
  1. Export from SpringerLink: CSV-Modelling_language(s)_title_raw_results
  2. Retrieved DOIs: DOIs_Modelling_language(s)_title
  3. Result: Bib-Modelling_language(s)_title_raw_results

๐Ÿ” Results: 4

Conducting the advanced search using the following restriction...
(cloud OR microservice OR microservices)
Filter Year: 2019 - 2022
Files for .csv to .bib
  1. Export from SpringerLink: CSV-Model-driven_title_raw_results
  2. Retrieved DOIs: DOIs_Model-driven_title
  3. Result: Bib-Model-driven_title_raw_results

๐Ÿ” Results: 66

Conducting the advanced search using the following restriction...
(cloud OR microservice OR microservices)
Filter Year: 2019 - 2022

๐Ÿ” Results: 0

(cloud OR microservice OR microservices)
Filter Year: 2019 - 2022
Files for .csv to .bib
  1. Export from SpringerLink: CSV-Modelling_architecture(s)_title_raw_results
  2. Retrieved DOIs: DOIs_Modelling_architecture(s)_title
  3. Result: Bib-Modelling_architecture(s)_title_raw_results

๐Ÿ” Results: 1

Conducting the advanced search using the following restriction...
(cloud OR microservice OR microservices)
Filter Year: 2019 - 2022

๐Ÿ” Results: 0

(cloud OR microservice OR microservices)
Filter Year: 2019 - 2022
Files for .csv to .bib
  1. Export from SpringerLink: CSV-Application_modelling_title_raw_results
  2. Retrieved DOIs: DOIs_Application_modelling_title
  3. Result: Bib-Application_modelling_title_raw_results

๐Ÿ” Results: 2


Merging first half of original query statement:

(Title:(((modeling OR modelling) AND (language OR languages)) OR
("model-driven") OR
((modeling OR modelling) AND (architecture or architectures)) OR
("application modeling" OR "application modelling")))

Merged first half search results:
SpringerLink_merged_first_half_raw_results

Result after removing duplicates: ๐Ÿ” 76
     SpringerLink_merged_first_half_removed_duplicates


Conducting the advanced search using the following restriction...
(((modeling OR modelling) AND (language OR languages)) OR
("model-driven") OR
((modeling OR modelling) AND (architecture or architectures)) OR
("application modeling" OR "application modelling"))
Filter Year: 2019 - 2022
Files for .csv to .bib
  1. Export from SpringerLink: The number of search results was too big (> 1000), and thus, they had to be split several times to retrieve them. However, splitting by the year the papers were published in was still too large, so they were further split by content type. Since the same papers can be assigned to different content types, duplicates had to be removed when merging the individual files. All individual files, as well as the merged files, can be found in the following directory: CSV-Cloud_title_raw_results_directory
  2. Retrieved DOIs: DOIs_Modeling_language_review
  3. Result: Bib-Modeling_language_review_raw_results

๐Ÿ” Results: 4320

(((modeling OR modelling) AND (language OR languages)) OR
("model-driven") OR
((modeling OR modelling) AND (architecture or architectures)) OR
("application modeling" OR "application modelling"))
Filter Year: 2019 - 2022
Files for .csv to .bib
  1. Export from SpringerLink: CSV-Microservice(s)_title_raw_results
  2. Retrieved DOIs: DOIs_Microservice(s)_title
  3. Result: Bib-Microservice(s)_title_raw_results

๐Ÿ” Results: 256

In order to build the intersection of the respective search results, the following R-Script is applied:

Build intersection for search results
library(dplyr)

FirstHalf <- read.table("S2_SpringerLink_FirstHalf_merged_DOIs.txt", encoding = "UTF-8", header= TRUE);

FirstHalf_removedDuplicates <- unique(FirstHalf)

Microservice <- read.table("S2_SpringerLink_title_microservice(s)_DOIs.txt", encoding = "UTF-8", header= TRUE);

Intersection <- generics::intersect(FirstHalf, Microservice)

write.table(Intersection,file="S2_SpringerLink_Intersection_Microservice-FirstHalf_DOIs.txt", row.names = FALSE, quote=FALSE)

The R-Script can also be found in the following file: Determine_Intersection_DOIs

The following table summarizes the results after building the intersection between the different search results.

FirstHalf - Cloud
FirstHalf - Microservice*
๐Ÿ”
5
4
DOIs
S2_SpringerLink_Intersection_Cloud-FirstHalf_DOIs
S2_SpringerLink_Intersection_Microservice-FirstHalf_DOIs
Bib-Result
S2_SpringerLink_Intersection_Cloud-FirstHalf_result
S2_SpringerLink_Intersection_Microservice-FirstHalf_result
Current Query (Title:(((modeling OR modelling) AND (language OR languages)) OR ("model-driven") OR ((modeling OR modelling) AND (architecture or architectures)) OR ("application modeling" OR "application modelling")) AND Title:(cloud)) (Title:(((modeling OR modelling) AND (language OR languages)) OR ("model-driven") OR ((modeling OR modelling) AND (architecture or architectures)) OR ("application modeling" OR "application modelling")) AND Title:(microservice OR microservices))

Finally, to receive the result of the desired search string, the two intersections above are merged.

Merged search results: ๐Ÿ” 9
     SpringerLink_merged_removed_duplicates

2.2 Joined Results

The search results from all three libraries were merged and existing duplicates removed. However, no duplicates were found in this merge.

Merged search results: ๐Ÿ” 50
     Total_search-results_merged

3. Selection of Suitable Literature

In order to find suitable literature to determine which ADLs are worth evaluating, the following steps were conducted. For this, the focus lies on recently proposed or mentioned modeling languages in the context of Microservice Architectures or the cloud.

3.1 Title-Based Selection

โŒ Exclusion Criteria:

  • Paper already considered in first literature search
  • Modeling language already considered due to the first literature search
  • Modeling clearly does not refer to the system's architecture
  • The terms "model" or "modeling" appear in a different and unrelated context, such as a data access model or CaaS model
  • Focus too narrow or specific, for example runtime safety assurance or reliability modeling with focus on dynamic routing

โœ” Inclusion criteria:

  • Reference to model or modeling Microservice Architectures
  • Reference to Application or Architecture modeling
  • Reference to specific modeling language(s)
    exceptions see above
  • Some model-driven approach in the context of microservices or the cloud, especially concerning development or architecture

The result after filtering based on the title: ๐Ÿ” 26
     1_Title_Filtering_results

3.2 Abstract-Based Selection

โŒ Exclusion Criteria:

  • The modeling language's focus is too specific, for example solely considering data architecture aspects
  • Modeling does not focus on architectural aspects but instead, for instance, business aspects
  • Referenced modeling language already considered due to the first literature search

โœ” Inclusion Criteria:

  • Reference to (a) specific architecture language(s) in the context of microservices or the cloud
    exceptions see above
  • Reference to modelling approach(es) in the context of microservices or the cloud
  • Too general review on or reference to model-driven engineering to be already excluded
  • Reference to a simulation platform/environment that also provides architectural modelling

The result after filtering based on the abstract: ๐Ÿ” 16
     2_Abstract_Filtering_results

3.3 Full-Text Scan

โŒ Exclusion Criteria:

  • Referencing already considered modeling language(s)
  • Not mentioning an actual modeling language
  • Missing focus on architectural aspects
  • Modeling language requires source code as a must

โœ” Inclusion Criteria:

  • Presents or introduces a modeling language considering architectures in the context of microservices or the cloud
  • Name existing modeling languages which allows architectural view/focus
Removal Reasoning per paper

Bibtex-Keys refer to the 2_Abstract_Filtering_results file.
The previous citationkeys have been adapted for standardization purposes but can be found in the comment field.

Bibtex-Key
Title
Removal Reason
Elhabbash2019 SLO-ML: A Language for Service Level Objective Modelling in Multi-Cloud Applications Proposes a new cloud modeling language that capture service level requirements.
  • Captures service level requirements
    No focus on detailed architectural aspects
Ghirardini2020 Model-Driven Simulation for Performance Engineering of Kubernetes-Style Cloud Cluster Architectures Proposes a model for the Palladio simulation environment with the aim to balance resource demands.
  • Introduce an abstract model for Paladio
    No mentioning of specific modeling architecture
Podolskiy2020 The Weakest Link: Revealing and Modeling the Architectural Patterns of Microservice Applications Considering Github projects, containerized microservice applications are analyzed concerning their structure. Additionally, network models are considered and evaluated for their usefulness in this context.
  • Analyze the structure of microservices and their connections
    Not focusing on other architectural aspects
  • Consider network models
    Not modeling language for considering archtictural details
Rademacher2019 A Model-Driven Workflow for Distributed Microservice Development A description of a model-driven development workflow for microservices.
  • Describe a model-driven workflow which uses (a) modeling language(s)
    Not mentioning an actual modeling language(s)
Yussupov2020 Pattern-Based Modelling, Integration, and Deployment of Microservice Architectures Introduces a model-driven approach for composing microservices by modelling microservices while considering integrational and deployment aspects.
  • Introduces the MICO meta model which focuses on integration patterns and deployment aspects
    Not suited for more detailed architectural modeling

The result after filtering based on full-text scan: ๐Ÿ” 11
     3_Full-text_scan_results

3.4 Snowballing

As the last step, the Snowballing technique was chosen to obtain more relevant literature potentially. This approach also allows a certain quality to check whether most relevant papers have already been retrieved. In order to achieve this, both backward snowballing as well as forward snowballing were carried out. The Bibtex-Keys refer to the 4_Final_Selection file.

Backward Snowballing

For the backward approach, the references of all identified reviews from the Full-text Scan are checked. Especially, the literature mentioned in the respective related work section is considered in more detail. For the following papers, further relevant literature could be found:

[Bibartiu2021]:

  • Modelling service-oriented systems and cloud services with Heraklit [Fettke2020]
    Heraklit

[Giallorenzo2021]:

  • Domain-Driven Service Design: Context Modeling, Model Refactoring and Contract Generation [Kapferer2020]
    Context Mapper DSL
  • MicroBuilder: A Model-Driven Tool for the Specification of REST Microservice Architectures [Terzic2018]
    MicroDSL by MicroBuilder

[Rademacher2020]:

  • MicroBuilder: A Model-Driven Tool for the Specification of REST Microservice Architectures [Terzic2018]
    MicroDSL by MicroBuilder

[Rademacher2020a]:

  • MicroBuilder: A Model-Driven Tool for the Specification of REST Microservice Architectures [Terzic2018]
    MicroDSL by MicroBuilder
  • Ajil: Enabling Model-Driven Microservice Development [Sorgalla2018]
    AjiL
  • Infrastructure-as-Code for Data-Intensive Architectures: A Model-Driven Development Approach [Artac2018]
    DICER

[Schmidt2020]:

  • Ajil: Enabling Model-Driven Microservice Development [Sorgalla2018]
    AjiL

[Sorgalla2020]:

  • Ajil: Enabling Model-Driven Microservice Development [Sorgalla2018]
    AjiL

Forward Snowballing

On the other hand, the search engine Google Scholar1 was used for the forward approach. Google Scholar allows investigating papers that cited the searched paper. With this approach, the following papers from Full-text Scan were used to identify further relevant literature:

[Rademacher2019a]:

  • Model-driven Development of Microservice Architecture: An Experiment on the Quality in Use of a UML- and a DSL-based Approach [Sorgalla2020a]
    LEMMA
    mentiones MicroBuilder

[Rademacher2019b]:

  • Model-driven Development of Microservice Architecture: An Experiment on the Quality in Use of a UML- and a DSL-based Approach [Sorgalla2020a]
    LEMMA
    mentiones MicroBuilder
  • A Model Driven Framework for the Development of Adaptable REST SERVICES [Kenzi2021]
    MicroDSL by MicroBuilder

[Rademacher2020]:

  • Applying Modelโ€‘Driven Engineering to Stimulate the Adoption of DevOps Processes in Small and Mediumโ€‘Sized Development Organizations [Sorgalla2021]
    LEMMA
    MicroDSL by MicroBuilder
    MicroART
  • Towards Holistic Modeling of Microservice Architectures Using LEMMA [Rademacher2021]
    LEMMA
    MicroBuilder

[Rademacher2020a]:

  • Applying Modelโ€‘Driven Engineering to Stimulate the Adoption of DevOps Processes in Small and Mediumโ€‘Sized Development Organizations [Sorgalla2021]
    LEMMA
    MicroDSL by MicroBuilder
    MicroART
  • Towards Holistic Modeling of Microservice Architectures Using LEMMA [Rademacher2021]
    LEMMA
    MicroBuilder

[Verginadis2021]:

  • MODAClouds: A model-driven approach for the design and execution of applications on multiple Clouds [Ardagna2012]
    ModaCloudML

The Bibtex-file that includes the final selection of relevant literature: ๐Ÿ” 21
     4_Final_Selection

4. Identified Modeling Languages

The following table summarizes all found modeling languages mentioned in some way in the 4_Final_Selection-file. However, if the modeling language has already been considered in the previous literature search or one of the mentioned exclusion criteria apply, it will not be mentioned in the following table. Additionally, each modeling language includes a link to the original paper and the papers from the Final_Selection that mention the respective modeling language. In order to help with the later selection process, important aspects discovered while analyzing the proposed language are also noted in the table.

Legend:      โŒ Negative remark     โœ… Positive remark     ๐Ÿ”ฒ Neutral remark

Modeling Language
Discovered in Paper
Main Important Notes for Selection
AjiL โŒ LEMMA is based on experience from this approach
Clams โŒ Focus on a scenario-based language to bridge the gap between informal functional-views of an application and its formal architectural description
    provides a user-centric perspective
Context Mapper DSL โœ… New version was recently published (Release Notes2)

โœ… detailed but compact and up-to-date documentation2 online available

โœ… Several supportive tools available

๐Ÿ”ฒ Based on Domain-driven Design (DDD)
DICER โŒ Based on CloudML
HERAKLIT โœ… Detailed language manual2 online available

โŒ All supportive tools still under development and thus not available yet

๐Ÿ”ฒ Mathematically based and uses Petri Nets
LEMMA2 โœ… Github page2 with tools and descriptions, among other things, still receives updates

โŒ Documentation2 only partially online available since it is still under development, but:

โœ… extensive amount of research given
MicroART
โŒ Proposed in 2017, since then no new additions

โŒ Provided Tool (MicroART Tool2) has not received any updates for the last five years
MicroDSL by MicroBuilder โŒ Restricted to domain of REST Microservice Architecture development
ModaCloudML โŒ Based on CloudML

โŒ Development Project ended already in 2015 3
OMSAC-based ๐Ÿ”ฒ Used ontology designed to cover only aspects recorded as Microservice Architecture principles or anti-patterns in literature

  1. https://scholar.google.com/, last accessed: 2022-01-31 

  2. last accessed: 2022-03-23 

  3. MODACloud Project, last accessed: 2022-03-23 


Last update: 2022-08-31
Back to top