DecSup: An Architecture Description Language for Decision Support Systems

DecSup has been proposed as a architecture description language for specifying and simulating the architecture of decision support systems.

DecSup has been inspired from the reference architecture proposed by Dunkel et al. [1]. So, with DecSup, the architecture of decision support systems are specified in terms of problem, diagnosis and action component types. 

DecSup is supported with a toolset that has been developed using Metaedit+ [2]. Using the toolset, practitioners can use DecSup's graphical notation set for specifying architectural models, validate their architectural models for correctness and consistency, and further transform the models in Modelica [3] for simulation. Note here that upon transforming DecSup models in Modelica, the resulting Modelica models can be simulated via the open-source simulators such as Open Modelica [4]. 


[1] Dunkel, J., Fernández, A., Ortiz, R., & Ossowski, S. (2011). Event-driven architecture for decision support in traffic management systems. Expert Systems with Applications, 38(6), 6530-6539.

[2] http://www.metacase.com/

[3] https://modelica.org/

[4] https://openmodelica.org/


To download the modeling toolset, you need to firstly downnload and install Metaedit+ [2]. Then, create a new repository in which the DSL models will be stored and create project inside the repository by using the Metaedit+ user interfaces. Upon creating an empty project, use the Metaedit+ "import" feature to import the metamodel file (.mxt) for the DecSup language. Once you import the meta-model file in Metaedit+, you will have the modeling editor accessible over the Metaedit+ user interfaces for specifying the decision support system architectures using the DecSup language syntax and semantics. 

If you wish to have a look at our case study based on the article published by National Institutes of Health (NIH) - i.e., part of the U.S. Department of Health and Human Services [5], you are expected to import the model file (.mxm) after importing the metamodel file.


V1-> metamodel file (.mxt) and model file (.mxm)

In V1, we have the initial version of the meta-model and its language. The tool here enables for editing models and simulating the models using Modelica.

V2-> metamodel file (.mxt) and model file (.mxm)

In V2, we have a more robust version of the metamodel which has been improved after careful considerations of different scenarios. Moreover, the tool support herein is further extended with a Java Code Generator, which produces an executable Java code from the DecSup specifications. The code is produced in accordance with the Observer Design Pattern and thus easy to manage and integrate in different systems.  We also produced a GUI code that can be used to input the problem data and observe the diagnosis detected and the corresponding actions taken.

Note: Please send us an e-mail if you would like to try our modeling language and its toolset.

[5] https://newsinhealth.nih.gov/2022/01/it-flu-covid-19-allergies-or-cold