|
This article is cited in 1 scientific paper (total in 1 paper)
Python-based constraint language for architecture models
E. Kornykhina, A. Khoroshilovbacd a Lomonosov Moscow State University
b Institute for System Programming of the RAS
c National Research University Higher School of Economics (HSE)
d Moscow Institute of Physics and Technology (State University)
Abstract:
The paper presents an approach to specify constraints on AADL models in Python-based language and a toolset allowing to verify that constraints. The goal of the approach is to enable reusing of existing rich facilities of Python language, tools, and libraries as well as to reduce learning curve of engineers. Constraints must be placed into component annexes. These constraints must be written in Python programming language as functions with one argument (an object to be checked), Boolean result, and special decorator. A plugin for a modeling environment generates a program in Python from the model components declarations. While it is executing this program creates an object with the model instance and checks the object by functions from annexes. This approach is implemented in MASIW Framework that allows checking constraints on model instance. The implementation is made upon PyDev, a well-known Eclipse-plugin for Python developing in Eclipse and reuses integration of Eclipse with Python from PyDev. The Python sources generated are enough to involve automatically such PyDev tools as code coloring, auto-completion for classes (components in AADL), fields of classes (subcomponents, connections, features, etc. in AADL), methods of classes (constraints from annexes), hierarchy of packages and classes (according to components hierarchy in AADL).
Keywords:
architecture modeling, constraints, Python, AADL, model verification.
Citation:
E. Kornykhin, A. Khoroshilov, “Python-based constraint language for architecture models”, Proceedings of ISP RAS, 27:5 (2015), 143–156
Linking options:
https://www.mathnet.ru/eng/tisp176 https://www.mathnet.ru/eng/tisp/v27/i5/p143
|
|