The artshop model repository is a client-server applciation which both are Eclipse E4 RCP applications. The artshop model repository consists of 4 main components as it can be seen in the picture below. The server application contains the repository and handles model management. The client application hosts all analyses and management services specified within the artconnect and artshop core/extensions components. The components will get explained in the following.
Tool adapter (artconnect)
The tool adapters bundled within the component serve as the interface to supported tools. Each tool adapter offers a concrete model representation of the data that it can import from its associated tool.
Additionally the tool adapters may offer functionalities to again export models back into or perform refactoring operations on the source format. We designed all tool adapters with the intention of importing all available information from the tools about the models, even those that are only available at runtime, e.g. datatypes, signal dimensions etc.. Moreover the software architecture of artshop allows the tool adapter to provide custom views for their supported model. Read more.
The artshop model repository framework currently implements tool adapter for the following software design artefacts from the automotive domain:
The repository backend of artshop is based on the Connected Data Objects (CDO) framework. It allows the storage, querying and history management of EMF models that are used to represent imported model by the tool adapters. The storage back-end is freely choosable between JDBC, Hibernate, Objectivity/DB, MongoDB or DB4O and changing the database store is seamless with respect to the client application. The artshop model repository currently uses HSQLDB, an in-memory database as its database store.
The repository component also offers the possibility to synchronize already imported model data to changes performed to the models outside of artshop. As artshop uses EMF models as its main data structure the use of EMFCompare, a comparison and merge framework for EMF models, is plausible. The synchronization process is depicted below:
Models are again imported and compared to the model within the repository and only the relevant changes to the model are applied to stored model instances by applying all identified changes from the updated model to the stored model. This process has the advantage of retaining all associations/annotations pointing to the original model and enables the analysis of the evolution of certain models.
Core features (artshop core)
The artshop model repository contains a set of core components bundled within the artshop core component. Among others the metamodel of artshop is contained here. The metamodel provides a basic set of datastructures that the concrete model representations of the data structures provided by the artconnect component are derived from. This basic set among others includes the decoration of model elements with arbitrary attributes (int, double, text, lists etc.), the decomposition of artifacts into artifact elements and meta information that may be annotated or associated with one or more model element. Model data and meta information are strictly separated and are realized using an asset referencing model.
Other core components range from tool wide services managing created meta-information annotated to stored model elements or findings (warnings/problems) detected by the analyses implemented within artshop. Artshop also provides generic tree views to navigate imported models in case the tool adapter do not provide a concrete view for the supported model.
Another core feature is the management of imported models. The artshop framework organizes imported models in the form of Projects. Each project stores
- Model data: Imported models.
- Specifications: Needed as input to perform certain rule-based or parametrized analyses.
- Meta-information: Associations or annotations created by the user or are the result of analyses performed by the framework.
Analyses (artshop extensions)
All sub-components that are contained within the artshop extensions can extend and use the services provided by the core component and therefore integrate themself seamlessly within the graphical user interface. Analyses of the artifacts supported by artshop adress the following areas:
Consistency checking of annotated meta information like semantic associations between design artefacts
Inter-artefact dependency checking
- Signal tracing for MATLAB/Simulink models
- Model slicing for MATLAB/Simulink models
- Static value range analysis for MATLAB/Simulink models