772 research outputs found

    Transformation As Search

    Get PDF
    In model-driven engineering, model transformations are con- sidered a key element to generate and maintain consistency between re- lated models. Rule-based approaches have become a mature technology and are widely used in different application domains. However, in var- ious scenarios, these solutions still suffer from a number of limitations that stem from their injective and deterministic nature. This article pro- poses an original approach, based on non-deterministic constraint-based search engines, to define and execute bidirectional model transforma- tions and synchronizations from single specifications. Since these solely rely on basic existing modeling concepts, it does not require the intro- duction of a dedicated language. We first describe and formally define this model operation, called transformation as search, then describe a proof-of-concept implementation and discuss experiments on a reference use case in software engineering

    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

    Cluster-Based Optimization of Cellular Materials and Structures for Crashworthiness

    Get PDF
    The objective of this work is to establish a cluster-based optimization method for the optimal design of cellular materials and structures for crashworthiness, which involves the use of nonlinear, dynamic finite element models. The proposed method uses a cluster-based structural optimization approach consisting of four steps: conceptual design generation, clustering, metamodel-based global optimization, and cellular material design. The conceptual design is generated using structural optimization methods. K-means clustering is applied to the conceptual design to reduce the dimensional of the design space as well as define the internal architectures of the multimaterial structure. With reduced dimension space, global optimization aims to improve the crashworthiness of the structure can be performed efficiently. The cellular material design incorporates two homogenization methods, namely, energy-based homogenization for linear and nonlinear elastic material models and mean-field homogenization for (fully) nonlinear material models. The proposed methodology is demonstrated using three designs for crashworthiness that include linear, geometrically nonlinear, and nonlinear models

    Towards Conceptual Modelling Interoperability in a Web Tool for Ontology Engineering

    Get PDF
    The definition of suitable visual paradigms for ontology modelling is still an open issue. Despite obvious differences between the expressiveness of conceptual modelling (CM) languages and ontologies, many proposed tools have been based on UML, EER and ORM. Additionally, all of these tools support only one CM as visual language, reducing even more their modelling capabilities. In previous works, we have presented crowd as a Web architecture for graphical ontology designing in UML and logical reasoning to verify the relevant properties of these models. The aim of this tool is to extend the reasoning capabilities on top of visual representations as much as possible. In this paper, we present an extended crowd architecture and a new prototype focusing on an ontology-driven metamodel to enable different CMs visual languages for ontology modelling. Thus facilitating inter-model assertions across models represented in different languages, converting between modelling languages and reasoning on them. Finally, we detail the new architecture and demonstrate the usage of the prototype with simple examples.Sociedad Argentina de Informática e Investigación Operativa (SADIO

    Towards Conceptual Modelling Interoperability in a Web Tool for Ontology Engineering

    Get PDF
    The definition of suitable visual paradigms for ontology modelling is still an open issue. Despite obvious differences between the expressiveness of conceptual modelling (CM) languages and ontologies, many proposed tools have been based on UML, EER and ORM. Additionally, all of these tools support only one CM as visual language, reducing even more their modelling capabilities. In previous works, we have presented crowd as a Web architecture for graphical ontology designing in UML and logical reasoning to verify the relevant properties of these models. The aim of this tool is to extend the reasoning capabilities on top of visual representations as much as possible. In this paper, we present an extended crowd architecture and a new prototype focusing on an ontology-driven metamodel to enable different CMs visual languages for ontology modelling. Thus facilitating inter-model assertions across models represented in different languages, converting between modelling languages and reasoning on them. Finally, we detail the new architecture and demonstrate the usage of the prototype with simple examples.Sociedad Argentina de Informática e Investigación Operativa (SADIO

    Towards Conceptual Modelling Interoperability in a Web Tool for Ontology Engineering

    Get PDF
    The definition of suitable visual paradigms for ontology modelling is still an open issue. Despite obvious differences between the expressiveness of conceptual modelling (CM) languages and ontologies, many proposed tools have been based on UML, EER and ORM. Additionally, all of these tools support only one CM as visual language, reducing even more their modelling capabilities. In previous works, we have presented crowd as a Web architecture for graphical ontology designing in UML and logical reasoning to verify the relevant properties of these models. The aim of this tool is to extend the reasoning capabilities on top of visual representations as much as possible. In this paper, we present an extended crowd architecture and a new prototype focusing on an ontology-driven metamodel to enable different CMs visual languages for ontology modelling. Thus facilitating inter-model assertions across models represented in different languages, converting between modelling languages and reasoning on them. Finally, we detail the new architecture and demonstrate the usage of the prototype with simple examples

    A heuristic-based approach to code-smell detection

    Get PDF
    Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache

    A SPEMOntology for Software Processes Reusing

    Get PDF
    Reusing the best practices and know-how capitalized from existing software process models is a promising solution to model high quality software processes. This paper presents a part of AoSP (Architecture oriented Software Process) for software processes reuse based on software architectures. The solution is proposed after the study of existing works on software process reusing. AoSP approach deals with the engineering "for" and "by" reusing software processes, it exploits the progress of two research fields that promote reusing in order to improve the software process reusing: domain ontologies and software architectures. AoSP exploits a domain ontology to reuse software process know-how, it allows retrieving, describing and deploring software process architectures. This article details the engineering "for" reusing SPs step of AoSP, it explains how the software process architectures are described and discusses the software process ontology conceptualization and software process knowledge acquisition
    • …
    corecore