27 research outputs found

    A modeling domain-specific language for IoT-enabled operating systems

    Get PDF
    With the increased complexity of low-end devices in the Internet of Things (IoT), mainly due to the connectivity and interoperability requirements, the development and configuration of embedded operating systems (OSes) for such devices is not straight forward. The complexity of the communication requirements is usually mitigated by the OS, e.g., the Contiki-OS, as it already incorporates an IoT-compliant network stack. Yet, the configuration of such stack requires major knowledge on the code structure, leading to additional development time, particularly when the network comprises several wireless nodes and individual configurations with subsequent firmware that needs to be generated. Based on a developed software modeling domain-specific language, this paper presents the EL4IoT framework. It aims to reduce and ease the development time by promoting a design automation tool that can configure, and automatically generate code (ready to compile) for low-end IoT devices running the Contiki-OS. Although leveraging the whole Contiki-OS modeling, this work only refactored and modeled the network stack while approaching the OS itself as one big building block or component. The proposed approach can be extended to other IoT-enabled OSes as well as integrated in other design automation tools.This work has been supported by COMPETE: POCI-01-0145-FEDER-007043 and FCT - Fundação para a Ciência e Tecnologia within the Project Scope: UID/CEC/00319/2013. Tiago Gomes is supported by FCT PhD grant SFRH/BD/90162/2012

    MODELA DBT: Model-driven elaboration language applied to dynamic binary translation

    Get PDF
    Industrial solutions design is a highly complex topic due to the challenge of integrating multiple technologies into a single solution, the inherent complexity of the problems to be solved and also because the proposed solutions often require a great level of interoperability among their components and also the outside world. Dynamic Binary Translation has been used as a tool to deal with such interoperability issues, e.g., legacy support, virtualization and secure execution, among others. However its integration in the industry as an end-product is hampered by the intricate variability management required in this subject. To address these issues and in an attempt to power DBT utilization as an interoperability-providing tool, we propose a model-driven DSL modeling language for DBT architectures. The developed DSL proved to be efficient to model an in-house DBT engine, and MODELA DBT, a framework for ready-to-use DBT solutions was obtained. MODELA DBT provides design validation, easy configuration of customizable DBT parameters and components, as well as code generation features.This work has been supported by COMPETE: POCI-Ol-0145-FEDER-007043 and FCT - Fundação para a Ciência e figuration granularity, code generation efficiency and design verification. Tecnologia within the Project Scope: UID/CEC/00319/2013. F. Salgado is supported by FCT (grant SFRH/BD/81681/2011)

    SEQUENCING DESIGN DNA: A SET OF METHODOLOGICAL ARTIFACTS FOR SEQUENCING SOCIO-TECHNICAL DESIGN ROUTINES

    Get PDF
    With the introduction of new digital and physical tools into the workplace, the process of design has dramatically changed over the past few decades. Thus, design processes have evolved into many forms which vary, not only between organizations, but within organizations, and even within teams over time. These myriad “mutations” of the design process call for a new method to identify patterns of design activity and their change in order to deeply understand the design process. In this paper we suggest a new method for identifying patterns of activity in design teams. Such activity involves composites of distributed interactions – both socially and across digital and physical artifacts. We argue that these identifiable patterns comprise the DNA of design routines. To capture these patterns, we extend the sequence analysis techniques that are commonly used in genetic research to capture a design team’s interactions with both digital and physical tools over time

    Common Metamodel of Component Diagram and Feature Diagram in Generative Programming

    Get PDF
    Component-based software engineering and generative programming are common approaches in software engineering. Each approach has some benefits and domain of usage. Component-based development is used to build autonomous components that can be further combined in different ways, while generative programming is more suitable when building systems that have different variants. Before a variable component based system can be build, it needs to be modeled. In this article, a new common metamodel that aims to enable modeling a system which combines both component-based development and generative programming is introduced. The introduced metamodel proposed in this paper combines the component diagram that is used to model systems in component-based development and the feature diagram that is employed in modeling systems in generative programming. The combined metamodel enables modeling of variable systems using components

    Reifying Concurrency for Executable Metamodeling

    Get PDF
    International audienceCurrent metamodeling techniques can be used to specify the syntax and semantics of domain specific modeling languages (DSMLs). However, there is currently very little support for explicitly specifying concurrency semantics using metamodels. Often, such semantics are provided through implicit concurrency models embedded in the underlying execution environment supported by the language workbench used to implement the DSMLs. The lack of an explicit concurrency model has several drawbacks: it not only prevents from developing a complete understanding of the behavioral semantics, it also prevents development of effective concurrency-aware analysis techniques, and effective techniques for producing semantic variants in the cases where the semantic base has variation points. This work reifies concurrency as a metamodeling facility, leveraging formalization work from the concurrency theory and models of computation (MoC) community. The essential contribution of this paper is a proposed language workbench for binding domain-specific concepts and models of computation through an explicit event structure at the metamodel level. We illustrate these novel metamodeling facilities for designing two variants of a concurrent and timed final state machine, and provide other experiments to validate the scope of our approach

    First European Workshop on Composition of Model Transformations - CMT 2006

    Get PDF

    PI163-6-Lityerses : transformador para generar aplicaciones mĂłviles con componentes adaptativos a partir de un modelo independiente de plataforma

    Get PDF
    El desarrollo de software para dispositivos móviles ha aumentado su demanda en la última década, forjando un mercado que exige aprovisionarse de este tipo de productos en el menor tiempo posible. Por tanto, este proyecto propone el desarrollo del transformador Lityerses, el cual combina los conceptos de MDE y software adaptativo que, a partir de un modelo expresado en el lenguaje ISML, puede generar una aplicación móvil funcional. De ser el caso, el desarrollador también podrá incluir componentes adaptativos generados junto al transformador, lo que permitirá mejorar la experiencia del usuario. El uso de dicho transformador, disminuirá el número de líneas de código que el desarrollador deberá programar, reduciendo así la duración de proyectos de desarrollo de aplicaciones móviles.Software development for mobile devices has increased demand over the past decade, creating a market that requires products in a shorter development time. This project proposes the development of transformer Lityerses, which combines the concepts of MDE and adaptive software, where from a model in the language model ISML can generate a functional mobile application and if necessary, the developer may include in the developed adaptive components together with the transformer, to improve the user experience. The use of this transformer will decrease the number of lines of code that developer must program, thus reducing the duration of projects mobile application development.Magíster en Ingeniería de Sistemas y ComputaciónMaestrí
    corecore