14 research outputs found

    Eugenia:towards disciplined and automated development of GMF-based graphical model editors

    Get PDF
    EMF and GMF are powerful frameworks for implementing tool support for modelling languages in Eclipse. However, with power comes complexity, implementing a graphical editor for a modelling language using EMF and GMF requires developers to handcraft and maintain several detailed interconnected models through a loosely guided, labour-intensive, and error-prone process. We demonstrate how the application of metamodel annotation and model transformation techniques can help to manage the complexity of GMF and EMF and deliver significant productivity, quality, and maintainability benefits. We present Eugenia, an open-source tool that implements the proposed approach, illustrate its functionality with an example, evaluate it through an empirical study, and report on the community’s response to the tool

    Language Interaction and Quality Issues: An Exploratory Study

    Get PDF
    Most software systems are complex and often composed of a large number of artifacts. To realize each different artifacts specific techniques are used resorting on different abstractions, languages and tools. Successful composition of different elements requires coherence among them. Unfortunately constraints between artifacts written in different languages are usually not formally expressed neither checked by supporting tools; as consequence they can be a source of problems. In this paper we explore the role of the relations between artifacts written in different languages by means of a case study on the Hadoop open source project. We present the problem introducing the related terminology, we quantify the phenomenon and investigate the relation with defect pronenes

    Kevoree Modeling Framework (KMF): Efficient modeling techniques for runtime use

    Get PDF
    The creation of Domain Specific Languages(DSL) counts as one of the main goals in the field of Model-Driven Software Engineering (MDSE). The main purpose of these DSLs is to facilitate the manipulation of domain specific concepts, by providing developers with specific tools for their domain of expertise. A natural approach to create DSLs is to reuse existing modeling standards and tools. In this area, the Eclipse Modeling Framework (EMF) has rapidly become the defacto standard in the MDSE for building Domain Specific Languages (DSL) and tools based on generative techniques. However, the use of EMF generated tools in domains like Internet of Things (IoT), Cloud Computing or Models@Runtime reaches several limitations. In this paper, we identify several properties the generated tools must comply with to be usable in other domains than desktop-based software systems. We then challenge EMF on these properties and describe our approach to overcome the limitations. Our approach, implemented in the Kevoree Modeling Framework (KMF), is finally evaluated according to the identified properties and compared to EMF.Comment: ISBN 978-2-87971-131-7; N° TR-SnT-2014-11 (2014

    Streamlining the Development of Hybrid Graphical-Textual Model Editors for Domain-Specific Languages

    Get PDF
    A domain-specific language (DSL) can have multiple syntaxes, that can be graphical or textual. When modelling the behaviour, complex expressions, and fine details of a domain, often it does not make sense to use a graphical syntax, as this can result in large, crowded diagrams, therefore in such cases, a textual syntax is often more appropriate. As such, the best of both worlds can be delivered by a DSL that has hybrid (part-graphical and part-textual) syntaxes. In this work, we address open challenges and apply model-driven engineering techniques to streamline the development of hybrid graphical-textual model editors for DSLs, by using as little hand-written code as possible

    Especificación de un metamodelo para apoyar y extender la propuesta TD - MBUID

    Get PDF
    Este trabajo de grado propone una nueva herramienta CASE, basada en trabajos anteriores, para la generación automática de interfaces gráficas de usuario -- La investigación realizada se centró, básicamente, sobre el trabajo de Giraldo[26] -- En este trabajo, Giraldo expone toda una integración de Procesos y Notaciones, y en lo que respecta a la presente investigación se retomó y continuó el tema de la integración de Notaciones, por lo que el resultado de este trabajo de grado es una herramienta CASE propuesta que integra las notaciones CIAN y UML logrando combinar el diseño, el prototipado (la generación) y la evaluación de las interfaces gráficas de usuario -- La manera en cómo se desarrolló este trabajo de grado y su resultado fue una dinámica sistemática -- Inicialmente, se estudiaron los metamodelos iniciales de Chico y CIAN, luego, se integraron estos dos metamodelos recibiendo nuevas funcionalidades, entre ellas: El diagrama de transformación y la gestión propia de los diagramas al interior del metamodelo resultante -- Una vez cumplido este primer objetivo, se procedió con la definición de la sintaxis concreta; en otras palabras: la construcción del DSL gráfico que soportara la generación de distintos tipos de diagramas y sus respectivos elementos y relaciones -- Teniendo ya la herramienta construida, el esfuerzo siguiente se centró en los algoritmos de transformación, tanto para transformar de modelo a modelo como para transformar de modelo a código -- Finalmente, se procedió a validar todo lo anteriormente realizado a través del planteamiento de un caso de estudi

    Model Driven Development of Sensor Web Networks Architecture

    No full text
    Primjena Internet protokola u uređajima sa ograničenim resursima, dovodi do radikalne promjene Interneta i pojave potpuno novog koncepta pod nazivom Internet stvâri – Internet of Things (IoT), čiji je jedan od osnovnih gradivnih elemenata Senzor Web (SW) čvor. SW čvor predstavlja elementarni “resurs” u SW mreži koja se po svojoj prirodi može posmatrati kao nestrukturirana kolekcija gradivnih elemenata koji se mogu dinamički orkestrirati u virtuelne klastere, odnosno u arhi-tekturu. Cilj disertacije predstavlja unapređenje procesa razvoja arhitekture sistema baziranih na SW mrežama uz oslonac na dinamičko generisanje servisnog sloja u svrhu povećanja produktivnosti, održivosti i smanjenja troškova razvoja. Pod unapređenjem procesa razvoja arhitekture smatra se analiza, integracija i prilagođavanje postojećih sistema i pristupa projektovanja arhitekture senzorskih mreža, kao i sistema baziranih na IoT konceptima. U tu svrhu definisana je arhitektura SW mreža, kreiran domenski specifičan jezik, interaktivni grafički editor i alat za automatsku transforma-ciju modela u implementacione klase. U sklopu teze izvršena je i eksperimentalna verifikacija predloženog modela i razvojnog okruženja, čime je dokazana njhova praktična primjena.The use of Internet protocols in limited resources devices contributes to radical changes in the Internet and the emergence of an entirely new concept called the Internet of Things (IoT), consisted of the Sensor Web (SW) nodes as one of the basic building blocks. SW node is the elementary "resource" in the SW Network, which by their nature can be seen as an unstructured collection of blocks that can be dynamically orchestrated into the virtual cluster, or in the architecture. The aim of this thesis is to improve the process of developing a system archite-cture based on SW networks, relying on the dynamic generation of the service layer in order to increase productivity, sustainability and cost of development. The improvement of the architecture development process includes analysis, integration and adaptation of existing systems and sensor network architecture design approaches, as well as systems based on the IoT concepts. For this purpose, the archite-cture of the SW Network is defined, a domain-specific language has been created as well as interactive graphics editor and a tool for automatic transformation of models into the implementation class. As part of the dissertation, the experimental verification of the proposed model and the development environment were carried out demonstra-ting their practical application

    System Dynamic Simulation in Eclipse RCP

    Get PDF
    Import 11/07/2012Práce se zabývá implementací aplikace pro návrh, editaci a simulaci modelů Systémové dynamiky v prostředí Eclipse Rich Client Platform (RCP) s využitím automatizovaného návrhu pomocí Graphical Modeling Framework (GMF). Nejprve je teoreticky vysvětlena problematika Systémové dynamiky, její využití při modelování reálných dějů a možnosti její praktické aplikace v procesu vývoje software. Následně jsou popsány frameworky RCP a GMF, principy práce s nimi a jejich použití pro efektivní návrh vlastních aplikací. Rovněž jsou představeny a na konkrétních částech aplikace názorně demonstrovány všechny zásadní technologie a postupy, které byly při návrhu a implementaci využity.The project deals with the implementation of application to design, edit and simulate System dynamics models within Eclipse Rich Client Platform (RCP) by means of an automated design using Graphical Modeling Framework (GMF). Initially, there is a theory of System dynamics being explained; its use when simulating real actions and its practical application in the process of software development. Subsequently, there are RCP and GMF frameworks being described; principles of working with them and their use to effectively design the actual applications. On the concrete parts of application there are also graphically illustrated all principal technologies and methods which had been used during the design and implementation.460 - Katedra informatikyvýborn

    Modelling And Reasoning About Trust Relationships In The Development Of Trustworthy Information Systems

    Get PDF
    Trustworthy information systems are information systems that fulfill all the functional and non-functional requirements. To this end, all the components of an information system, either human or technical, need to collaborate in order to meet its requirements and achieve its goals. This entails that system components will show the desired or expected behaviour once the system is put in operation. However, modern information systems include a great number of components that can behave in a very unpredictable way. This unpredictability of the behaviour of the system components is a major challenge to the development of trustworthy information systems and more particularly during the modelling stage. When a system component is modelled as part of a requirements engineering model it creates an uncertainty about its future behaviour, thus undermining the accuracy of the system model and eventually the system trustworthiness. Therefore, the addition of system components inevitably is based on assumptions of their future behaviour. Such assumptions are underlying the development of a system and usually are assumptions of trust by the system developer about her trust relationships with the system components, which are instantly formed when a component is inserted into a requirements engineering model of a system. However, despite the importance of such issues, a requirements engineering methodology that explicitly captures such trust relationships along with the entailing trust assumptions and trustworthiness requirements is still missing. For tackling the preceding problems, the thesis proposes a requirements engineering methodology, namely JTrust (Justifying Trust) for developing trustworthy information systems. The methodology is founded upon the notions of trust and control as the means of confidence achievement. In order to develop an information system the developer needs to consider her trust relationships with the system components that are formed with their addition in a system model, reason about them, and proceed to a justified decision about the design of the system. If the system component cannot be trusted to behave in a desired or expected way then the question of what are the alternatives in order to build confidence in the future behaviour of the system component raises. To answer this question we define a new class of requirements, namely trustworthiness requirements. Trustworthiness requirements prescribe the functionality of the software included in the information system that compels the rest of the information system components to behave in a desired or expected way. The proposed methodology consists of: (i) a modelling language which contains trust i and control abstractions; (ii) and a methodological process for capturing and reasoning about trust relationships, modelling and analysing trustworthiness requirements, and assessing the system trustworthiness at a requirements stage. The methodology is accompanied by a CASE tool to support it. To evaluate our proposal, we have applied our methodology to a case study, and we carried out a survey to get feedback from experts. The topic of the case study was the e-health care system of the National Health Service in England, which was used to reason about trust relationships with system components and identify trustworthiness requirements. Researchers from three academic institutions across Europe and from one industrial company, British Telecom, have participated in the survey in order to provide valuable feedback about the effectiveness and efficiency of the methodology. The results conclude that JTrust is useful and easy to use in modelling and reasoning about trust relationships, modelling and analysing trustworthiness requirements and assessing the system trustworthiness at a requirements level

    Security in Embedded Systems: A Model-Based Approach with Risk Metrics

    Full text link

    Polyglot software development

    Get PDF
    The languages we choose to design solutions influence the way we think about the problem, the words we use in discussing it with colleagues, the processes we adopt in developing the software which should solve that problem. Therefore we should strive to use the best language possible for depicting each facet of the system. To do that we have to solve two challenges: i) first of all to understand merits and issues brought by the languages we could adopt and their long reaching effects on the organizations, ii) combine them wisely, trying to reduce the overhead due to their assembling. In the first part of this dissertation we study the adoption of modeling and domain specific languages. On the basis of an industrial survey we individuate a list of benefits attainable through these languages, how frequently they can be reached and which techniques permit to improve the chances to obtain a particular benefit. In the same way we study also the common problems which either prevent or hinder the adoption of these languages. We then analyze the processes through which these languages are employed, studying the relative frequency of the usage of the different techniques and the factors influencing it. Finally we present two case-studies performed in a small and in a very large company, with the intent of presenting the peculiarities of the adoption in different contexts. As consequence of adopting specialized languages, many of them have to be employed to represent the complete solution. Therefore in the second part of the thesis we focus on the integration of these languages. Being this topic really new we performed preliminary studies to first understand the phenomenon, studying the different ways through which languages interact and their effects on defectivity. Later we present some prototypal solutions for i) the automatic spotting of cross-language relations, ii) the design of language integration tool support in language workbenches through the exploitation of common meta-metamodeling. This thesis wants to offer a contribution towards the productive adoption of multiple, specific languages in the same software development project, hence polyglot software development. From this approach we should be able to reduce the complexity due to misrepresentation of solutions, offer a better facilities to think about problems and, finally to be able to solve more difficult problems with our limited brain resources. Our results consists in a better understanding of MDD and DSLs adoption in companies. From that we can derive guidelines for practitioners, lesson learned for deploying in companies, depending on the size of the company, and implications for other actors involved in the process: company management and universities. Regarding cross-language relations our contribution is an initial definition of the problem, supported by some empirical evidence to sustain its importance. The solutions we propose are not yet mature but we believe that from them future work can stem
    corecore