17 research outputs found

    Recovering Grammar Relationships for the Java Language Specification

    Get PDF
    Grammar convergence is a method that helps discovering relationships between different grammars of the same language or different language versions. The key element of the method is the operational, transformation-based representation of those relationships. Given input grammars for convergence, they are transformed until they are structurally equal. The transformations are composed from primitive operators; properties of these operators and the composed chains provide quantitative and qualitative insight into the relationships between the grammars at hand. We describe a refined method for grammar convergence, and we use it in a major study, where we recover the relationships between all the grammars that occur in the different versions of the Java Language Specification (JLS). The relationships are represented as grammar transformation chains that capture all accidental or intended differences between the JLS grammars. This method is mechanized and driven by nominal and structural differences between pairs of grammars that are subject to asymmetric, binary convergence steps. We present the underlying operator suite for grammar transformation in detail, and we illustrate the suite with many examples of transformations on the JLS grammars. We also describe the extraction effort, which was needed to make the JLS grammars amenable to automated processing. We include substantial metadata about the convergence process for the JLS so that the effort becomes reproducible and transparent

    Spreadsheet-based Configuration of Families of Real-Time Specifications

    Full text link
    Model checking real-time systems is complex, and requires a careful trade-off between including enough detail to be useful and not too much detail to avoid state explosion. This work exploits variability of the formal model being analysed and the requirements being checked, to facilitate the model-checking of variations of real-time specifications. This work results from the collaboration between academics and Alstom, a railway company with a concrete use-case, in the context of the VALU3S European project. The configuration of the variability of the formal specifications is described in MS Excel spreadsheets with a particular structure, making it easy to use also by developers. These spreadsheets are processed automatically by our prototype tool that generates instances and runs the model checker. We propose the extension of our previous work by exploiting analysis over valid combination of features, while preserving the simplicity of a spreadsheet-based interface with the model checker.Comment: In Proceedings TiCSA 2023, arXiv:2310.1872

    Recovering grammar relationships for the Java language specification

    Get PDF
    Grammar convergence is a method that helps in discovering relationships between different grammars of the same language or different language versions. The key element of the method is the operational, transformation-based representation of those relationships. Given input grammars for convergence, they are transformed until they are structurally equal. The transformations are composed from primitive operators; properties of these operators and the composed chains provide quantitative and qualitative insight into the relationships between the grammars at hand. We describe a refined method for grammar convergence, and we use it in a major study, where we recover the relationships between all the grammars that occur in the different versions of the Java Language Specification (JLS). The relationships are represented as grammar transformation chains that capture all accidental or intended differences between the JLS grammars. This method is mechanized and driven by nominal and structural differences between pairs of grammars that are subject to asymmetric, binary convergence steps. We present the underlying operator suite for grammar transformation in detail, and we illustrate the suite with many examples of transformations on the JLS grammars. We also describe the extraction effort, which was needed to make the JLS grammars amenable to automated processing. We include substantial metadata about the convergence process for the JLS so that the effort becomes reproducible and transparent

    On the Automated Transformation of Domain Models into Tabular Datasets

    Get PDF
    We are surrounded by ubiquitous and interconnected soft- ware systems which gather valuable data. The analysis of these data, although highly relevant for decision making, cannot be performed di- rectly by business users, as its execution requires very speci c technical knowledge in areas such as statistics and data mining. One of the com- plexity problems faced when constructing an analysis of this kind resides in the fact that most data mining tools and techniques work exclusively over tabular-formatted data, preventing business users from analysing excerpts of a data bundle which have not been previously traduced into this format by an expert. In response, this work presents a set of transfor- mation patterns for automatically generating tabular data from domain models. The described patterns have been integrated into a language, which allows business users to specify the elements of a domain model that should be considered for data analysis.This work has been partially funded by the Government of Cantabria (Spain) under the doctoral studentship program from the University of Cantabria, and by the Spanish Government under grant TIN2014- 56158-C4-2-P (M2C2)

    Semantics, Ontology and Explanation

    Full text link
    The terms 'semantics' and 'ontology' are increasingly appearing together with 'explanation', not only in the scientific literature, but also in organizational communication. However, all of these terms are also being significantly overloaded. In this paper, we discuss their strong relation under particular interpretations. Specifically, we discuss a notion of explanation termed ontological unpacking, which aims at explaining symbolic domain descriptions (conceptual models, knowledge graphs, logical specifications) by revealing their ontological commitment in terms of their assumed truthmakers, i.e., the entities in one's ontology that make the propositions in those descriptions true. To illustrate this idea, we employ an ontological theory of relations to explain (by revealing the hidden semantics of) a very simple symbolic model encoded in the standard modeling language UML. We also discuss the essential role played by ontology-driven conceptual models (resulting from this form of explanation processes) in properly supporting semantic interoperability tasks. Finally, we discuss the relation between ontological unpacking and other forms of explanation in philosophy and science, as well as in the area of Artificial Intelligence

    Transformación de modelos de la vista estructural de un sistema

    Get PDF
    En este Trabajo de Fin de Grado exploramos las transformaciones de modelos, un componente clave dela Ingeniería de Software basada en modelos. Las transformaciones de modelos son necesarias por diferentesmotivos. En primer lugar, la adaptación a cambios en los requisitos del sistema es un motivo importante pararealizar transformaciones. A medida que evoluciona un proyecto, es común que surjan nuevos requisitos oque los existentes se modifiquen. Mediante las transformaciones de modelos, podemos ajustar los modelosexistentes para reflejar estos cambios, garantizando así la coherencia entre el modelo y los requisitos delsistema. Otro motivo para realizar transformaciones en los modelos es la mejora de la calidad del modelo.Los modelos pueden contener elementos redundantes o ineficientes que pueden afectar la comprensión,mantenibilidad y eficacia del sistema. Mediante las transformaciones de modelos, podemos aplicar técnicaspara eliminar redundancias, simplificar estructuras complejas y mejorar la legibilidad y mantenibilidad delmodelo.En nuestro enfoque, proponemos tratar los modelos como grafos y las transformaciones de modeloscomo transformaciones de grafos, lo que nos permite aplicar teorías y técnicas de la teoría de grafos. Comenzamos por introducir los conceptos fundamentales de modelo y metamodelo, sentando así las bases paracomprender las transformaciones de modelos. A continuación, exploramos diferentes tipos de transformaciones de modelos y posteriormente presentamos diversas definiciones de grafos y de transformaciones degrafos, las cuales nos sirven de base teórica para estudiar las transformaciones de modelos. En particular,nos centramos en dos tipos de transformaciones: endógenas y exógenas.En el ámbito de las transformaciones endógenas, nos centramos en la refactorización de modelos y demostramos cómo la teoría de transformación de grafos brinda soporte formal para esta actividad. Presentamosun ejemplo específico de un modelo de red de área local (LAN) y describimos el proceso de refactorizaciónutilizando un ejemplo concreto llamado Ascender Método. Además, presentamos una secuencia de reglasadicionales que nos permitirán llevar a cabo la transformación completa.En cuanto a las transformaciones exógenas, nos enfocamos en la transformación del diagrama de clases alesquema relacional, una transformación ampliamente explorada en la literatura. Establecemos un conjuntode reglas con un orden concreto que nos permiten llevar a cabo la transformación al esquema relacional.Como ejemplo particular, aplicamos estas reglas a un diagrama de clases que modeliza los profesores yestudiantes de los centros de una universidad.Para llevar a cabo estas transformaciones hemos utilizado el software AGG. A lo largo de este trabajo, sepresentan varias opciones que ofrece AGG, así como sus dos modos de ejecución, que nos permiten realizary visualizar las transformaciones de modelos de manera más cómoda y visual.<br /

    Case Study Comparing Model-Driven Approaches to Software Design

    Get PDF
    Táto bakalárska práca sa zaoberá problematikou vývoja softwaru za pomoci rôznych prístupov k návrhu a implementácii softwaru. Hlavným cieľom práce je na základe navrhnutých kritérií porovnať klasický prístup k vývoju softwaru s alternatívnym prístupom založeným na transformácii abstraktných modelov, zvaným Model-Driven Engineering (MDE). Tieto dva prístupy sú následne demonštrované na prípadovej štúdii jednoduchého konferenčného recenzného systému. V závere práce sú diskutované možnosti a obmedzenia techník MDE.This bachelor thesis deals with various approaches to software design and its implementation. The main goal of this thesis is to compare the classical approach of software development to an alternate approach called Model-Driven Engineering (MDE), which is based on abstract models transformations. These two approaches are then demonstrated on a case study of simple conference review system. At the end of the work, the possibilities and limitations of MDE techniques are discussed.

    Veröffentlichungen und Vorträge 2006 der Mitglieder der Fakultät für Informatik

    Get PDF

    Extensibility of Enterprise Modelling Languages

    Get PDF
    Die Arbeit adressiert insgesamt drei Forschungsschwerpunkte. Der erste Schwerpunkt setzt sich mit zu entwickelnden BPMN-Erweiterungen auseinander und stellt deren methodische Implikationen im Rahmen der bestehenden Sprachstandards dar. Dies umfasst zum einen ganz konkrete Spracherweiterungen wie z. B. BPMN4CP, eine BPMN-Erweiterung zur multi-perspektivischen Modellierung von klinischen Behandlungspfaden. Zum anderen betrifft dieser Teil auch modellierungsmethodische Konsequenzen, um parallel sowohl die zugrunde liegende Sprache (d. h. das BPMN-Metamodell) als auch die Methode zur Erweiterungsentwicklung zu verbessern und somit den festgestellten Unzulänglichkeiten zu begegnen. Der zweite Schwerpunkt adressiert die Untersuchung von sprachunabhängigen Fragen der Erweiterbarkeit, welche sich entweder während der Bearbeitung des ersten Teils ergeben haben oder aus dessen Ergebnissen induktiv geschlossen wurden. Der Forschungsschwerpunkt fokussiert dabei insbesondere eine Konsolidierung bestehender Terminologien, die Beschreibung generisch anwendbarer Erweiterungsmechanismen sowie die nutzerorientierte Analyse eines potentiellen Erweiterungsbedarfs. Dieser Teil bereitet somit die Entwicklung einer generischen Erweiterungsmethode grundlegend vor. Hierzu zählt auch die fundamentale Auseinandersetzung mit Unternehmensmodellierungssprachen generell, da nur eine ganzheitliche, widerspruchsfreie und integrierte Sprachdefinition Erweiterungen überhaupt ermöglichen und gelingen lassen kann. Dies betrifft beispielsweise die Spezifikation der intendierten Semantik einer Sprache
    corecore