7 research outputs found

    A formalisation of deep metamodelling

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/s00165-014-0307-xMetamodelling is one of the pillars of model-driven engineering, used for language engineering and domain modelling. Even though metamodelling is traditionally based on a two-metalevel approach, several researchers have pointed out limitations of this solution and proposed an alternative deep (also called multi-level) approach to obtain simpler system specifications. However, this approach currently lacks a formalisation that can be used to explain fundamental concepts such as deep characterisation, double linguistic/ontological typing and linguistic extension. This paper provides such a formalisation based on the Diagram Predicate Framework, and discusses its practical realisation in the metaDepth tool.This work was partially funded by the SpanishMinistry of Economy and Competitiveness (project “Go Lite” TIN2011- 24139)

    Integration of Runtime Verification into Metamodeling

    Get PDF
    Domain Specific Modeling Languages (DSMLs) Modeling is a well-established practice in the development of big and complex software systems. Domain Specific Modeling Languages (DSMLs) are a technique used for specifying such systems in an abstract way. These languages define the structure, semantics and constraints for models related to the same application domain. The models created with DSMLs are then interconnected or related to one another. Among the reasons for tailoring a language to the problem space is their better understandability by domain experts, capacity for high-level abstraction, and user friendliness. However, the use of DSMLs (like the use of types in general) does not shield the produced software from bugs or man-made mistakes. Software failures may still occur on complex systems due to a variety of reasons such as design errors, hardware breakdown or network problems. Ruling out these failures requires that verification methods that guarantee correct execution even in corner cases are integrated into the development process. We previously presented our ideas for integrating specifications tighter with the mode

    Utilizing Multi-Level Concepts for Multi-Phase Modeling

    Get PDF
    In model-based systems engineering projects, engineers from multiple domains collaborate by establishing a common system model. Multi-level modeling is a technique that can be used to model the development from abstract ideas to concrete implementations. However, current multi-level modeling approaches are not adequate for processes with multiple modeling phases that might have to be rearranged later. In this paper, we introduce multi-phase modeling that utilizes concepts of multi-level modeling by considering a description of the expected phase ordering per domain. Constraints aware of this context can express that certain elements are only valid in specific phases without having to determine a concrete phase ordering for a particular model. This enables using multi-phase modeling in flexible workflows, adapting to changing requirements and the definition of access rules in domain notation. We show feasibility of this multi-phase modeling by applying it to multiple real-life systems engineering projects of the aerospace domain

    Una formalización del modelado multi-nivel

    Full text link
    Los sistemas formales de modelado, como el Unified Modeling Language (UML), son bien cono-cidos por todos los ingenieros de software. Los mismos permiten razonar sobre la estructura a gran escala de los sistemas de la información, facilitando el análisis, diseño e implementación de los mismos, así como su mantenimiento posterior, y simplificando tareas como la refactorización automática o la generación de códi-go. Por otro lado, a pesar del éxito que han tenido estas herramientas, no están exentas de limitaciones. La más notable de las mismas es, quizás, que no se permite considerar más de un nivel de instanciación de una clase. Para solventar esta insuficiencia, existen extensiones, como el Meta-Object Facility (MOF), que aumentan esta funcionalidad añadiendo niveles adicionales entre los que se pueden establecer relaciones de instanciación. El metamodelado multinivel o metamodelado profundo es un paradigma relativamente nuevo de modelado que elimina las restricciones de la estructura estándar de cuatro capas que propone el MOF permi-tiendo sistemas con un número arbitrario de niveles. Sin embargo, el entendimiento actual de esta herra-mienta está basado en nociones de teoría de categorías, una disciplina matemática que resulta difícil de to-mar en relación a lenguajes de programación reales orientados a objetos. Para comprender mejor el funcionamiento de esta nueva herramienta, poniéndola en contexto con la teoría existente, y dar pie a investigación futura, este trabajo pretende establecer una formalización de la misma basada en teoría de tipos, una rama de la teoría de la computación que estudia la semántica de las reglas de tipado en un lenguaje de programación o sistema similar. Con este objetivo, hemos construido y analizado dos sistemas formales que pretenden constituir la base del desarrollo de futuros lenguajes de pro-gramación basados en el metamodelado multinivel, y hemos desarrollado compiladores de los mismos a Ja-vaScript para probar la aplicabilidad de estos modelos teóricos de manera práctica.Formal modeling systems such as the Unified Modeling Language (UML), are widely used by software engineers. Such systems allow reasoning about the large-scale organization of information systems, easing their analysis, design and implementation, reducing maintenance costs and simplifying automated generation or refactoring of software. On the other hand, despite the success that these tools have experienced, they are not devoid of limi-tations. Perhaps the most noticeable is the lack of support for more than one level of instantiation of a certain class. In order to solve this problem, extensions have been designed, such as the Meta-Object Facility (MOF), that expand the functionality of classical modeling frameworks allowing additional levels between which can be established instance-of relationships. Multilevel metamodelling or deep metamodelling is a recently-developed modeling paradigm that aims to completely eliminate the restrictions inherent in the four-layer approach proposed by the MOF, re-placing them with systems that allow for an unrestricted number of object layers. However, the current un-derstanding of this tool is based on category theory, a mathematical abstraction that is hard to relate to real object-oriented programming. In order to better understand the particularities of this new tool, putting it in context with the existing theory and facilitating subsequent research, this work intends to establish a formalization of said tool through the use of type theory, a branch of computer science that deals with the specification and semantics of typing rules for programming languages and similar formal systems. With this in mind, we've developed and analyzed two formal systems that intend to form the basis for the development of further programming languages based on the notions of multilevel metamodelling. Furthermore, we have developed compilers for said systems that show the practical applicability of these purely theoretical models
    corecore