Using directed graphs to define viewpoints to keep a metamodel, an architecture framework and views using different modeling languages consistent
Abstract Keeping an architecture description of a complex system consistent is difficult. View content is specified by viewpoints which draw upon an underlying metamodel. Viewpoints need to define consistency rules. This becomes increasingly hard as the metamodel size and the number of viewpoints in...
Main Author: | |
---|---|
Format: | Article |
Language: | English |
Published: |
Wiley
2020-06-01
|
Series: | Engineering Reports |
Subjects: | |
Online Access: | https://doi.org/10.1002/eng2.12168 |
id |
doaj-8a0a326c6f7d4fccb1959db8dea10ea0 |
---|---|
record_format |
Article |
spelling |
doaj-8a0a326c6f7d4fccb1959db8dea10ea02020-11-25T03:40:41ZengWileyEngineering Reports2577-81962020-06-0126n/an/a10.1002/eng2.12168Using directed graphs to define viewpoints to keep a metamodel, an architecture framework and views using different modeling languages consistentNic Plum0Eclectica Systems Ltd. Cambs UKAbstract Keeping an architecture description of a complex system consistent is difficult. View content is specified by viewpoints which draw upon an underlying metamodel. Viewpoints need to define consistency rules. This becomes increasingly hard as the metamodel size and the number of viewpoints increase. Use of an architecture description language (ADL) such as the Unified Modeling Language (UML) complicates this further because its metamodel may not be able to implement the triples in the AD metamodel and therefore one or more views requiring use of an additional ADL. Even for an architecture framework with a small footprint, such as TRAK, it is a time‐consuming and error‐prone process to keep the metamodel, viewpoint definitions, and implementation consistent. To tackle these TRAK has been modeled by creating views against five viewpoints. These viewpoints can be used to define a metamodel, define the viewpoints for an architecture framework, assess the implementation using one or more ADLs, and record model changes over time. The viewpoint definitions and views are wholly graph‐based and provide a mechanism to define allowed and minimum view content. Views and viewpoints can be read as simple assertions requiring no technical knowledge and support query and analysis. The viewpoint definitions have been validated against a model of TRAK held in a Neo4J graph database. This showed that the TRAK metamodel contains c 750 triples not 500 as had been previously thought. It also identified metamodel elements missing from one of the UML profiles. Example views are provided together with CYPHER queries.https://doi.org/10.1002/eng2.12168architecture descriptiongraphISO 42010mbsemetamodelNeo4j |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Nic Plum |
spellingShingle |
Nic Plum Using directed graphs to define viewpoints to keep a metamodel, an architecture framework and views using different modeling languages consistent Engineering Reports architecture description graph ISO 42010 mbse metamodel Neo4j |
author_facet |
Nic Plum |
author_sort |
Nic Plum |
title |
Using directed graphs to define viewpoints to keep a metamodel, an architecture framework and views using different modeling languages consistent |
title_short |
Using directed graphs to define viewpoints to keep a metamodel, an architecture framework and views using different modeling languages consistent |
title_full |
Using directed graphs to define viewpoints to keep a metamodel, an architecture framework and views using different modeling languages consistent |
title_fullStr |
Using directed graphs to define viewpoints to keep a metamodel, an architecture framework and views using different modeling languages consistent |
title_full_unstemmed |
Using directed graphs to define viewpoints to keep a metamodel, an architecture framework and views using different modeling languages consistent |
title_sort |
using directed graphs to define viewpoints to keep a metamodel, an architecture framework and views using different modeling languages consistent |
publisher |
Wiley |
series |
Engineering Reports |
issn |
2577-8196 |
publishDate |
2020-06-01 |
description |
Abstract Keeping an architecture description of a complex system consistent is difficult. View content is specified by viewpoints which draw upon an underlying metamodel. Viewpoints need to define consistency rules. This becomes increasingly hard as the metamodel size and the number of viewpoints increase. Use of an architecture description language (ADL) such as the Unified Modeling Language (UML) complicates this further because its metamodel may not be able to implement the triples in the AD metamodel and therefore one or more views requiring use of an additional ADL. Even for an architecture framework with a small footprint, such as TRAK, it is a time‐consuming and error‐prone process to keep the metamodel, viewpoint definitions, and implementation consistent. To tackle these TRAK has been modeled by creating views against five viewpoints. These viewpoints can be used to define a metamodel, define the viewpoints for an architecture framework, assess the implementation using one or more ADLs, and record model changes over time. The viewpoint definitions and views are wholly graph‐based and provide a mechanism to define allowed and minimum view content. Views and viewpoints can be read as simple assertions requiring no technical knowledge and support query and analysis. The viewpoint definitions have been validated against a model of TRAK held in a Neo4J graph database. This showed that the TRAK metamodel contains c 750 triples not 500 as had been previously thought. It also identified metamodel elements missing from one of the UML profiles. Example views are provided together with CYPHER queries. |
topic |
architecture description graph ISO 42010 mbse metamodel Neo4j |
url |
https://doi.org/10.1002/eng2.12168 |
work_keys_str_mv |
AT nicplum usingdirectedgraphstodefineviewpointstokeepametamodelanarchitectureframeworkandviewsusingdifferentmodelinglanguagesconsistent |
_version_ |
1724533354232020992 |