Formal Metamodeling for Secure Model-Driven Engineering

Formal Metamodeling for Secure Model-Driven Engineering

Liliana Maria Favre
DOI: 10.4018/IJSSSP.2021070104
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Systems and applications aligned with new paradigms such as cloud computing and internet of the things are becoming more complex and interconnected, expanding the areas in which they are susceptible to attacks. Their security can be addressed by using model-driven engineering (MDE). In this context, specific IoT or cloud computing metamodels emerged to support the systematic development of software. In general, they are specified through semiformal metamodels in MOF style. This article shows the theoretical foundations of a method for automatically constructing secure metamodels in the context of realizations of MDE such as MDA. The formal metamodeling language Nereus and systems of transformation rules to bridge the gap between formal specifications and MOF are described. The main contribution of this article is the definition of a system of transformation rules called NEREUStoMOF for transforming automatically formal metamodeling specifications in Nereus to semiformal-MOF metamodels annotated in OCL.
Article Preview
Top

Introduction

Today, major advances in software technology go hand in hand with spectacular failures in the generated software artifacts. The complexity of systems and applications, which are more and more connected, expands the areas in which they are susceptible to attacks. For instance, moving to the Cloud requires new ways to protect data and privacy (Juan Ferrer, Marqués and Jorba, 2019). In addition, the paradigm of Internet of Things (IoT) requires analyzing complex software/hardware systems in the early stages of design, mainly in software that will be embedded in systems deployed in different places.

The demand for security of systems and applications linked to these paradigms is growing. The most recent research proposes to use approaches that allow addressing requirements of heterogeneity, interoperability, integration, and portability throughout all software development life cycle. One of the most promising ways to achieve it is to adopt Model Driven Engineering (MDE). The underlying idea in MDE is that software development can be broken down into standardized, highly automated activities that can mass produce software applications reducing costs, development time and risks. A specific realization of MDE is the Model Driven Architecture (MDA) proposed by the Object Management Group (OMG) (MDA, 2020). MDA principles can be summarized as follows: all artifacts involved in a process can be viewed as models that conform to a particular metamodel, the process itself can be viewed as a sequence of model transformations and, all extracted information is represented in a standard way through metamodels. The Meta-Object Facility Metamodel (MOF) can be considered the essence of MDA allowing different kinds of artifacts from multiple technologies to be used together in an interoperable way (MOF, 2019). The Eclipse Modeling Framework (EMF) has become the reference platform for related development tools. Particularly, its metamodel Ecore is the official implementation of MOF (EMF, 2020).

In recent years, specific IoT or Cloud Computing MOF-like metamodels emerged to support the systematic development of secure software. For instance, to face the difficulties that cause the variety of cloud providers offering different resource management interfaces emerged the Open Cloud Computing Interface (OCCI) (Nyrén, R. et al., 2016). A precise metamodel for OCCI based on EMF annotated in OCL (OCL, 2014) is described in (Merle et al., 2015) and (Achilleos et al., 2019). Also, the PaaSage project emerged as a development and deployment platform complemented with both a metamodeling methodology and the language CAMEL that allow enterprise system developers accessing cloud platform services by abstracting from the details of a specific technology and, at the same time, guiding them to configure their applications for better performance (Challita et al., 2020). Besides, the Artist project (Menychtas et al, 2014) presents a complete methodology and a framework for the effective migration of legacy software to modern cloud environments in the context of ADM (Architecture Driven Modernization) (ADM, 2020). On the other hand, Favre (2018) describes a migration process based on MDE from object-oriented software to different mobile platforms by integrating metamodeling and cross-platform developments in the multiplatform language HaXe. Recently, Geismann and Bodden (2020) showed that MDE is a leading paradigm for developing Cyber-physical systems (CPS) due to it enables the developer to verify safety requirements in early development phases allowing make secure-by-design CPS.

The essence of the above-mentioned MDE developments are metamodels defined for each specific context. To achieve secure systems it is a prerequisite to have secure metamodels due to having errors in a metamodel leads to having errors in its instances (models). Formal methods can help solve this problem providing systematic and rigorous techniques to reduce ambiguities and inconsistencies in the requirement specification of the software.

Complete Article List

Search this Journal:
Reset
Volume 15: 1 Issue (2024): Forthcoming, Available for Pre-Order
Volume 14: 1 Issue (2023)
Volume 13: 2 Issues (2022): 1 Released, 1 Forthcoming
Volume 12: 2 Issues (2021)
Volume 11: 2 Issues (2020)
Volume 10: 2 Issues (2019)
Volume 9: 4 Issues (2018)
View Complete Journal Contents Listing