Version 4.0. A microservices-based Web Application

The fourth version of VariaMos is a microservices-based Web application available at This new version has been entirely rewritten in Typescript and utilizes React for the user interface and MxGraph for handing the diagrams. The process of creating new engineering languages has been reworked, removing the need to directly write code for the MxGraph library; instead, user-defined specifications written as JSON files coupled to purpose-built graphical interfaces are used to provide all the support needed to define modeling languages and to create models with these languages.  The JSON-based mechanisms for language creation now support the definition of the syntax (abstract and concrete), the semantics (for different reasoning paradigms and languages) and the specification of reasoning tasks for different modeling languages. Thanks to these capabilities, VariaMos manages the creation of projects at the two key levels of software product line engineering: domain engineering and application engineering. The newly added reasoning back-end allows for a variety of reasoning talks to be performed. Models can be checked for satisfiability and defects, one can configure products with and without partial configurations, one can perform simulations for dynamic software product line models, and one can construct and find solutions to optimization problems based on the models. All of these tasks are user-specified and can be customized and tailored to support specific reasoning tasks needed for a given model type. In addition, language developers can consult and inspect the logical representation of the models of a given language as they construct it, further aiding them in the definition of the semantics. Furthermore, this framework enables the execution of user-defined operations (specified at the language level) over the models created by the user, which permits satisficing different types of modeling and reasoning expectations. The VariaMos Framework is therefore dynamically extendable to new modeling languages, interdependencies among the languages, operations over the instances of the languages, and solvers to execute these operations, which greatly increases its usefulness in both teaching and industrial use cases.



Working team

Andrés Lopez, Arthur Pers, Camilo Correa, Deisy Loaiza, Francisco Piedrahita, Gabriel Camargo, Hiba Hnaini, Jairo Soto, Jonathan Orrego, Julian Murillo, Luis Fernando Londoño, Mauricio Agudelo, Paola Vallejo, Sam Nzongani, Raúl Mazo, Viviana Cobaleda, Williams Hoarau.