DUALLy

Last updated

DUALLy is an MDE framework to create interoperability among Architecture Description Languages (ADLs). It is developed at the Computer Science Department of the University of L'Aquila. DUALLy enables the transformation of a model conforming to a specific architecture description language into corresponding models conforming to other architecture description languages.

Contents

ISO/IEC/IEEE 42010 standard

As highlighted in the official ISO/IEC/IEEE 42010 website, "the use of multiple views for design can get very complicated. Their consistency is a potential problem whenever multiple models and views are used. Sometimes, consistency rules or procedures are defined as a part of viewpoints. In other cases, organizations have practices they use to check and enforce consistency". [1]

The solution provided by the ISO/IEC/IEEE 42010 standard consists in using correspondences and correspondence rules to define the various relationships that may exist within an architecture description. Under this perspective, DUALLy can be seen as an approach in which special kinds of correspondence rules can keep in a consistent state architecture models belonging to different views. Those special correspondence rules are defined between ADLs and have the additional feature of being proactive; that is, when an inconsistency is detected between different architectural models, the DUALly interoperability engine actively transforms the models in order to restore consistency.

Interoperability

Supporting ADLs interoperability and change propagation is intrinsically complex. Furthermore, the lack of automation does not allow the easy addition of new description languages, and does not guarantee change propagation to multiple models in a finite number of steps. In general, changes occurring in an architecture model have a strong impact on all the other related architecture models (each of them possibly conforming to different architecture description languages). In order to keep models in a consistent state, changes need to be propagated from the updated model to all the others. When dealing with multiple architecture description languages, propagating changes may be a complex task; such a task is inevitable and requires to be managed by a dedicated approach.

In DUALLy, the interoperability among various architecture description languages is ensured via model transformation techniques. Instead of creating a point-to-point relationship among all languages, DUALLY defines the transformations among architecture description languages by passing through A0, which is a core set of architectural concepts defined as generally as possible (to potentially represent and support any kind of architectural representation) and extensible (in order to add domain specificities). In other words, A0 acts as a bridge among the different architectural languages to be related together. The star architecture of DUALLy enables an agile and easy integration of architecture description languages. The DUALLy transformation system is made of a series of model-to-model transformations that enable information migration among architecture models. These model-to-model transformations are constructed automatically by executing higher-order transformations (i.e., transformations taking other transformations as input or producing other transformations as output).

While DUALLy transforms a model into any other by passing first through an A0 model, model changes are propagated accordingly first to the A0 model and successively forwarded to any other architectural model (it has to be noted that the obtained result is independent from the order followed in the forwarding). Under the assumption that concurrent modifications to different models cannot apply, the DUALLY architecture ensures the convergence of the change propagation process, that is, it ensures by construction that a modification of a model within the network is propagated to all the other models in a finite number of steps.

Related Research Articles

Sharable Content Object Reference Model (SCORM) is a collection of standards and specifications for web-based electronic educational technology. It defines communications between client side content and a host system, which is commonly supported by a learning management system. SCORM also defines how content may be packaged into a transferable ZIP file called "Package Interchange Format."

<span class="mw-page-title-main">Software architecture</span> High level structures of a software system

Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.

An open standard is a standard that is openly accessible and usable by anyone. It is also a common prerequisite that open standards use an open license that provides for extensibility. Typically, anybody can participate in their development due to their inherently open nature. There is no single definition, and interpretations vary with usage. Examples of open standards include the GSM, 4G, and 5G standards that allow most modern mobile phones to work world-wide.

ISO/IEC/IEEE 12207Systems and software engineering – Software life cycle processes is an international standard for software lifecycle processes. First introduced in 1995, it aims to be a primary standard that defines all the processes required for developing and maintaining software systems, including the outcomes and/or activities of each process.

Architecture description languages (ADLs) are used in several disciplines: system engineering, software engineering, and enterprise modelling and engineering.

Office Open XML is a zipped, XML-based file format developed by Microsoft for representing spreadsheets, charts, presentations and word processing documents. Ecma International standardized the initial version as ECMA-376. ISO and IEC standardized later versions as ISO/IEC 29500.

The British Ministry of Defence Architecture Framework (MODAF) was an architecture framework which defined a standardised way of conducting enterprise architecture, originally developed by the UK Ministry of Defence. It has since been replaced with the NATO Architecture Framework.

<span class="mw-page-title-main">Enterprise architecture framework</span> Frame in which the architecture of a company is defined

An enterprise architecture framework defines how to create and use an enterprise architecture. An architecture framework provides principles and practices for creating and using the architecture description of a system. It structures architects' thinking by dividing the architecture description into domains, layers, or views, and offers models – typically matrices and diagrams – for documenting each view. This allows for making systemic design decisions on all the components of the system and making long-term decisions around new design requirements, sustainability, and support.

IEEE 1471 is a superseded IEEE standard for describing the architecture of a "software-intensive system", also known as software architecture.

<span class="mw-page-title-main">RM-ODP</span> Reference model in computer science

Reference Model of Open Distributed Processing (RM-ODP) is a reference model in computer science, which provides a co-ordinating framework for the standardization of open distributed processing (ODP). It supports distribution, interworking, platform and technology independence, and portability, together with an enterprise architecture framework for the specification of ODP systems.

The ISO/IEC/IEEE 42010 Conceptual Model of Architecture Description defines the term architecture framework within systems engineering and software development as:

ISO/IEC/IEEE 42010Systems and software engineering — Architecture description is an international standard for architecture descriptions of systems and software.

<span class="mw-page-title-main">View model</span>

A view model or viewpoints framework in systems engineering, software engineering, and enterprise engineering is a framework which defines a coherent set of views to be used in the construction of a system architecture, software architecture, or enterprise architecture. A view is a representation of the whole system from the perspective of a related set of concerns.

<span class="mw-page-title-main">TRAK</span> Enterprise architecture framework

TRAK is a general enterprise architecture framework aimed at systems engineers. It is based on MODAF 1.2.

ISO/IEC 19788Information technology – Learning, education and training – Metadata for learning resources is a multi-part standard prepared by subcommittee SC 36 of the joint technical committee ISO/IEC JTC 1, Information Technology for Learning, Education and Training.

The Open Smart Grid Protocol (OSGP) is a family of specifications published by the European Telecommunications Standards Institute (ETSI) used in conjunction with the ISO/IEC 14908 control networking standard for smart grid applications. OSGP is optimized to provide reliable and efficient delivery of command and control information for smart meters, direct load control modules, solar panels, gateways, and other smart grid devices. With over 5 million OSGP based smart meters and devices deployed worldwide it is one of the most widely used smart meter and smart grid device networking standards.

Software architecture description is the set of practices for expressing, communicating and analysing software architectures, and the result of applying such practices through a work product expressing a software architecture.

MPEG-G is an ISO/IEC standard designed for genomic information representation by the collaboration of the ISO/IEC JTC 1/SC 29/WG 9 (MPEG) and ISO TC 276 "Biotechnology" Work Group 5. The goal of the standard is to provide interoperable solutions for data storage, access, and protection across different possible implementations for data information generated by high-throughput sequencing machines and their subsequent processing and analysis. The standard is composed of different parts, each one addressing a specific aspect, such as compression, metadata association, Application Programming Interfaces (APIs), and a reference software for data decoding. Together with the reference decoder software, commercial and open source implementations started to be available in 2019, covering progressively more of the published parts of the standard.

JPEG XS is an interoperable, visually lossless, low-latency and lightweight image and video coding system used in professional applications. Applications of the standard include streaming high quality content for virtual reality, drones, autonomous vehicles using cameras, gaming, and broadcasting. It was the first ISO codec ever designed for this specific purpose. JPEG XS, built on core technology from both intoPIX and Fraunhofer IIS, is formally standardized as ISO/IEC 21122 by the Joint Photographic Experts Group with the first edition published in 2019. Although not official, the XS acronym was chosen to highlight the eXtra Small and eXtra Speed characteristics of the codec. Today, the JPEG committee is still actively working on further improvements to XS, with the second edition scheduled for publication and initial efforts being launched towards a third edition.

References

  1. "ISO/IEC/IEEE 42010" . Retrieved November 23, 2012.