VIATRA
Encyclopedia
The VIATRA framework is the core of a transformation-based verification and validation environment for improving the quality of systems designed using the Unified Modeling Language
by automatically checking consistency, completeness, and dependability requirements.
The most traditional application area for VIATRA2 – started as early as 1998 – is to support the transformation-based dependability analysis of system models taken from various application areas (safety-critical and/or embedded systems, robust e-business applications, middleware
, service oriented architecture) described using various modeling languages (BPM, UML, etc.) during a model-driven systems engineering process. Such a model (and transformation)-based dependability analysis typically also includes the verification and validation
, the testing, the safety
and security
analysis as well as the early assessment non-functional characteristics (such as reliability, availability
, responsiveness
, throughput
, etc.) of the system under design. In addition, model transformations for specification, design, deployment, optimization or code generation in traditional model-driven systems engineering are also focal areas for VIATRA2.
(ASM) to manipulated graph based models.
The basic concept in defining model transformations within VIATRA2 is the (graph) pattern. A pattern is a collection of model elements arranged into a certain structure fulfilling additional constraints (as defined by attribute conditions or other patterns). Patterns can be matched on certain model instances, and upon successful pattern matching, elementary model manipulation is specified by graph transformation rules. Like OCL
, graph transformation rules describe pre- and postconditions to the transformations, but graph transformation rules are guaranteed to be executable, which is a main conceptual difference. Graph transformation rules are assembled into complex model transformations by abstract state machine rules, which provide a set of commonly used imperative control structures with precise semantics.
Models and modeling languages and transformations are all stored uniformly in the so-called VPM model space, which provides a very flexible and general way for capturing languages and models on different meta-levels and from various domains (or technological spaces).
Generic and meta-transformations (type parameters, rules manipulating other rules) for providing reuse of transformations are a unique specification feature of VIATRA2 (up to our knowledge) at least among tools based on graph transformation.
, and the transformation language is not QVT
), on the other hand, VIATRA2 plans to support these related standards by offering (i) powerful and extensible model importers and exporters and (ii) domain specific languages integrated to the framework as VIATRA2 (and thus Eclipse
) plug-ins. For instance, the QVT standard is intended to be supported by translating QVT descriptions into ASM and GT rules. Model importers accepting the XMI-based models of the state-of-the-art UML modeling tools (such as IBM Rational Software Architect) will be part of the initial contribution, and importers for additional tools will be added later on.
In this way, academic and industrial partners in these projects would become the first end users of the framework, and they would highly benefit from an open source initiative. These projects would provide noticeable international visibility to VIATRA2 as well as the entire GMT project. Moreover, many interesting directions for future developments have already been evolved (and will continuously evolve) using the feedbacks from partners.
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
by automatically checking consistency, completeness, and dependability requirements.
Target Application Domains
VIATRA2 primarily aims at designing model transformations to support the precise model-based systems development with the help of invisible formal methods. Invisible formal methods are hidden by automated model transformations projecting system models into various mathematical domains (and, preferably, vice versa). In this way, VIATRA2 nicely complements other model transformation tools within the www.eclipse.org/gmt initiative.The most traditional application area for VIATRA2 – started as early as 1998 – is to support the transformation-based dependability analysis of system models taken from various application areas (safety-critical and/or embedded systems, robust e-business applications, middleware
Middleware
Middleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...
, service oriented architecture) described using various modeling languages (BPM, UML, etc.) during a model-driven systems engineering process. Such a model (and transformation)-based dependability analysis typically also includes the verification and validation
Verification and Validation
In software project management, software testing, and software engineering, verification and validation is the process of checking that a software system meets specifications and that it fulfills its intended purpose...
, the testing, the safety
Safety
Safety is the state of being "safe" , the condition of being protected against physical, social, spiritual, financial, political, emotional, occupational, psychological, educational or other types or consequences of failure, damage, error, accidents, harm or any other event which could be...
and security
Security
Security is the degree of protection against danger, damage, loss, and crime. Security as a form of protection are structures and processes that provide or improve security as a condition. The Institute for Security and Open Methodologies in the OSSTMM 3 defines security as "a form of protection...
analysis as well as the early assessment non-functional characteristics (such as reliability, availability
Availability
In telecommunications and reliability theory, the term availability has the following meanings:* The degree to which a system, subsystem, or equipment is in a specified operable and committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time...
, responsiveness
Responsiveness
Responsiveness as a concept of computer science refers to the specific ability of a functional unit to complete assigned tasks within a given time, but also may incorporate the ability of an artificial intelligence system to understand and carry out its tasks in a timely fashion. It is one of the...
, throughput
Throughput
In communication networks, such as Ethernet or packet radio, throughput or network throughput is the average rate of successful message delivery over a communication channel. This data may be delivered over a physical or logical link, or pass through a certain network node...
, etc.) of the system under design. In addition, model transformations for specification, design, deployment, optimization or code generation in traditional model-driven systems engineering are also focal areas for VIATRA2.
The Approach
Since precise model-based systems development is the primary application area of VIATRA2, it necessitates that (i) the model transformations are specified in a mathematically precise way, and (ii) these transformations are automated so that the target mathematical models can be derived fully automatically. For this purpose, VIATRA2 have chosen to integrate two popular, intuitive, yet mathematically precise rule-based specification formalisms, namely, graph transformation (GT) and Abstract State MachinesAbstract State Machines
In computer science, an abstract state machine is a state machine operating on states which are arbitrary data structures .The ASM Method is a practical and scientifically well-founded systems engineering method which bridges...
(ASM) to manipulated graph based models.
The basic concept in defining model transformations within VIATRA2 is the (graph) pattern. A pattern is a collection of model elements arranged into a certain structure fulfilling additional constraints (as defined by attribute conditions or other patterns). Patterns can be matched on certain model instances, and upon successful pattern matching, elementary model manipulation is specified by graph transformation rules. Like OCL
OCL
The initialism OCL can have several meanings, depending on context:*OCl−, the hypochlorite ion, in chemistry*Object Constraint Language*Ocean Climate Laboratory *Ocean County Library*Old Colony League, a high school sports league in Massachusetts...
, graph transformation rules describe pre- and postconditions to the transformations, but graph transformation rules are guaranteed to be executable, which is a main conceptual difference. Graph transformation rules are assembled into complex model transformations by abstract state machine rules, which provide a set of commonly used imperative control structures with precise semantics.
Models and modeling languages and transformations are all stored uniformly in the so-called VPM model space, which provides a very flexible and general way for capturing languages and models on different meta-levels and from various domains (or technological spaces).
Generic and meta-transformations (type parameters, rules manipulating other rules) for providing reuse of transformations are a unique specification feature of VIATRA2 (up to our knowledge) at least among tools based on graph transformation.
Conformance to Related Standards
While on the one hand, the underlying modeling and transformation concepts of VIATRA2 are nonstandard (i.e. the VPM metamodeling core is more expressive than MOFMOF
MOF can mean:*The Museum of Flight*Managed Object Format, a textual representation of the Distributed Management Task Force Common Information Model...
, and the transformation language is not QVT
QVT
QVT is a standard set of languages for model transformation defined by the Object Management Group .- Overview :...
), on the other hand, VIATRA2 plans to support these related standards by offering (i) powerful and extensible model importers and exporters and (ii) domain specific languages integrated to the framework as VIATRA2 (and thus Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
) plug-ins. For instance, the QVT standard is intended to be supported by translating QVT descriptions into ASM and GT rules. Model importers accepting the XMI-based models of the state-of-the-art UML modeling tools (such as IBM Rational Software Architect) will be part of the initial contribution, and importers for additional tools will be added later on.
Target Audience / End Users
The VIATRA2 framework currently serves as the underlying model transformation technology of the ongoing DECOS European IP in the field of dependable embedded systems. Moreover, VIATRA2 will serve as a key underlying model transformation technology for several additional projects on the European level which will start in the upcoming 6 months.In this way, academic and industrial partners in these projects would become the first end users of the framework, and they would highly benefit from an open source initiative. These projects would provide noticeable international visibility to VIATRA2 as well as the entire GMT project. Moreover, many interesting directions for future developments have already been evolved (and will continuously evolve) using the feedbacks from partners.
See also
- Model Driven Engineering (MDE)
- Model Driven ArchitectureModel-driven architectureModel-driven architecture is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of...
(MDA) - Domain Specific Language (DSL)
- Model Transformation LanguageModel Transformation LanguageA model transformation language in systems and software engineering is a language for model transformation.- Overview :The notion of model transformation is of central importance to information technology. A software system may be seen as a set of information transformations...
(MTL) - MOF Queries/Views/TransformationsQVTQVT is a standard set of languages for model transformation defined by the Object Management Group .- Overview :...
(MOF QVT) - ATLAS Transformation LanguageATLAS Transformation LanguageATL is a model transformation language and toolkit developed and maintained by OBEO and AtlanMod. It was initiated by the team...
(ATL) - XML transformation languageXML transformation languageAn XML transformation language is a programming language designed specifically to transform an input XML document into an output XML document which satisfies some specific goal.There are two special cases of transformation:...
(XML TL)