Jeffrey G. Gray, J. Sprinkle, Juha-Pekka Tolvanen, M. Rossi
{"title":"Proceedings of the Workshop on Domain-Specific Modeling","authors":"Jeffrey G. Gray, J. Sprinkle, Juha-Pekka Tolvanen, M. Rossi","doi":"10.1145/2846696","DOIUrl":"https://doi.org/10.1145/2846696","url":null,"abstract":"","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"101 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128606502","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. Niessner, O. Kwoun, Belinda Randolph, Honghanh Nguyen
{"title":"Automating engineering with a domain-specific language and a code generator","authors":"A. Niessner, O. Kwoun, Belinda Randolph, Honghanh Nguyen","doi":"10.1145/2846696.2846699","DOIUrl":"https://doi.org/10.1145/2846696.2846699","url":null,"abstract":"The following is an industry experience on using well established concepts, domain-specific language and code generation, to automate the engineering process of sub-system interactions. A domain-specific language was used to improve the communication efficiency among several teams of engineers. A code generator transforms the models formed for communicating into executables that process data. While, the savings in terms of man-effort and schedule-time were high, the single point of failure is end-user adoption. Adoption failure was attributed to two factors: One, the distance between the end-user and the realized benefit. Two, the amount the end-user had to change (become proficient in skills outside of their discipline). In our experience, the lack of an appropriate editor was the dominate cause to both factors in adoption failure.","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125546253","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Subhav Pradhan, A. Dubey, A. Gokhale, Martin Lehofer
{"title":"CHARIOT: a domain specific language for extensible cyber-physical systems","authors":"Subhav Pradhan, A. Dubey, A. Gokhale, Martin Lehofer","doi":"10.1145/2846696.2846708","DOIUrl":"https://doi.org/10.1145/2846696.2846708","url":null,"abstract":"Wider adoption, availability and ubiquity of wireless networking technologies, integrated sensors, actuators, and edge computing devices is facilitating a paradigm shift by allowing us to transition from traditional statically configured vertical silos of Cyber-Physical Systems (CPS) to next generation CPS that are more open, dynamic and extensible. Fractionated spacecraft, smart cities computing architectures, Unmanned Aerial Vehicle (UAV) clusters are all examples of extensible CPS wherein extensibility is implied by the dynamic aggregation of physical resources, affect of physical dynamics on availability of computing resources, and various multi-domain applications hosted on these systems. However, realization of extensible CPS requires resolving design-time and runtime challenges emanating from properties specific to these systems. In this paper, we first describe different properties of extensible CPS - dynamism, extensibility, remote deployment, security, heterogeneity and resilience. Then we identify different design-time challenges stemming from heterogeneity and resilience requirements. We particularly focus on software heterogeneity arising from availability of various communication middleware. We then present appropriate solutions in the context of a novel domain specific language and describe how this language and its features have evolved from our past work.","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"86 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116217992","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Adaptable symbol table management by meta modeling and generation of symbol table infrastructures","authors":"Katrin Hölldobler, P. Nazari, Bernhard Rumpe","doi":"10.1145/2846696.2846700","DOIUrl":"https://doi.org/10.1145/2846696.2846700","url":null,"abstract":"Many textual software languages share common concepts such as defining and referencing elements, hierarchical structures constraining the visibility of names, and allowing for identical names for different element kinds. Symbol tables are useful to handle those reference and visibility concepts. However, developing a symbol table can be a tedious task that leads to an additional effort for the language engineer. This paper presents a symbol table meta model usable to define language-specific symbol tables. Furthermore, we integrate this symbol table meta model with a meta model of a grammar-based language definition. This enables the language engineer to switch between the model structure and the symbol table as needed. Finally, based on a grammar annotation mechanism, our approach is able to generate a symbol table infrastructure that can be used as is or serve as a basis for custom symbol tables.","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130514353","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Management of guided and unguided code generator customizations by using a symbol table","authors":"P. Nazari, Alexander Roth, Bernhard Rumpe","doi":"10.1145/2846696.2846702","DOIUrl":"https://doi.org/10.1145/2846696.2846702","url":null,"abstract":"An essential part of model-driven development to systematically generate concrete source code from abstract input models are code generators. Regardless of their importance, abstract input models are not always suited to describe the output in a concise and precise way. Hence, customizations and adaptations of the code generator and the generated products are needed. Existing approaches mainly regard the code generation process as their primary concern and require the set up of an additional infrastructure in order to manage the customizations and adaptations. Thus, the goal of this paper is to propose an extension for template-based code generators to enable customizations and adaptations within a code generator that also respects referential integrity and reuses existing data structures for efficient management. First, we present a classification of common code generator customization and adaptation approaches (guided and unguided approaches) to identify the main concepts and elements of the approaches. Then, using the derived information relevant to manage guided and unguided approaches, we reuse the existing data structure (symbol table) to manage the customizations and adaptations. We achieve this by associating all relevant information directly with a template. This approach enables dynamic management of customizations and adaptations at run-time of the code generator and allow for statically checking before code generation. Our main contribution is an approach to combine guided and unguided customization approaches with a symbol table for efficient management.","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"498 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114130654","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Juri Di Rocco, D. D. Ruscio, A. Pierantonio, Ludovico Iovino
{"title":"Supporting users to manage breaking and unresolvable changes in coupled evolution","authors":"Juri Di Rocco, D. D. Ruscio, A. Pierantonio, Ludovico Iovino","doi":"10.1145/2846696.2846703","DOIUrl":"https://doi.org/10.1145/2846696.2846703","url":null,"abstract":"In Model-Driven Engineering (MDE) metamodels play a key role since they underpin the specification of different kinds of modeling artifacts, and the development of a wide range of model management tools. Consequently, when a metamodel is changed modelers and developers have to deal with the induced coupled evolutions i.e., adapting all those artifacts that might have been affected by the operated metamodel changes. Over the last years, several approaches have been proposed to deal with the coupled evolution problem, even though the treatment of changes is still a time consuming and error-prone activity. In this paper we propose an approach supporting users during the adaptation steps that cannot be fully automated.~The approach has been implemented by extending the EMFMigrate language and by exploiting the user input facility of the Epsilon Object Language. The approach has been applied to cope with the coupled evolution of metamodels and model-to-text transformations","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115355018","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Kennon McKeever, Yegeta Zeleke, Matt Bunting, J. Sprinkle
{"title":"Experience report: constraint-based modeling of autonomous vehicle trajectories","authors":"Kennon McKeever, Yegeta Zeleke, Matt Bunting, J. Sprinkle","doi":"10.1145/2846696.2846706","DOIUrl":"https://doi.org/10.1145/2846696.2846706","url":null,"abstract":"Autonomous vehicles and other robotics systems are frequently implemented using a general-purpose programming language such as C++, and prototyped using domain-specific tool such as MATLAB/Simulink, and LabVIEW. Such an approach is not efficient when programming primitive motions of autonomous vehicles when considering important safety constraints, and when promoting the broad access to robotic systems through involvement of students and aspiring students who do not know conventional low-level programming languages. Aside from general-purpose programming languages, there are languages that are specifically designed to model autonomous vehicles, such as SHIFT, but these languages are typically for simulation purposes only. This experience report discusses the creation of a domain-specific language that allows for faster programming of autonomous vehicles while ensuring valid constraints will be met. This language generates code for multiple controllers that will operate alternatively to allow for fast and effective programming of vehicle trajectories using primitive motions. In addition to improving coding efficiency and reducing the number of programming errors, the language adds a level of abstraction so that autonomous vehicle behaviors may be generated by people with little knowledge of low-level details of the car's operation. Furthermore, this language ensures safe operation of the vehicle by enforcing a set of user-definable constraints on the output path. A main set of constraints that are applied to every generated path have been specifically chosen to enforce safe switching between controllers and prevent the planning of unsafe actions. A novel application of the language is its ability to permit users to add specific constraints for a particular path; these constraints are checked for validity after the main constraint check is performed.","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123288028","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Mixed generative and handcoded development of adaptable data-centric business applications","authors":"P. Nazari, Alexander Roth, Bernhard Rumpe","doi":"10.1145/2846696.2846707","DOIUrl":"https://doi.org/10.1145/2846696.2846707","url":null,"abstract":"Consistent management of structured information is the goal of data-centric business applications. Model-driven development helps to automatically generate such applications. Current approaches target full or one shot generation of business applications and often neglect simplicity and adaptability of the code generator and the generated code. Inspection of the generated code is required to add functionality. Thus, here we discuss mechanisms for a code generator to generate a lightweight and highly customizable data-centric business application that is targeted for a variety of users including generated application users, tool developers, and product developers. We achieve simplicity by reducing the mapping of the input model to the generated code to a minimal core of easily understandable concepts. High customizability is achieved by providing a variety of mechanisms to extend the generator and the generated code. These include template overriding and hook points to extend the code generator; and hot spots and additional manual extensions to extend the generated code. It is even possible to fully control the code generator and the entire generation process via a scripting language.","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128885954","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Extensible visual constraint language","authors":"B. Broll, Á. Lédeczi","doi":"10.1145/2846696.2846704","DOIUrl":"https://doi.org/10.1145/2846696.2846704","url":null,"abstract":"The paper presents a visual, imperative language for the specification of constraints corresponding to domain-specific modeling languages (DSML) in the new WebGME modeling environment. The language is based on the visual notation introduced by Scratch. The novel feature of the approach is that the constraint language is just another DSML defined through UML class diagram-based metamodels. As such, it is easily extensible via metamodel inheritance. The visual constraint programs are automatically translated into asynchronous JavaScript code that utilizes the native WebGME APIs for evaluation.","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122517568","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
J. Davies, J. Gibbons, A. Milward, D. Milward, Seyyed Shah, M. Solanki, James Welch
{"title":"Domain specific modelling for clinical research","authors":"J. Davies, J. Gibbons, A. Milward, D. Milward, Seyyed Shah, M. Solanki, James Welch","doi":"10.1145/2846696.2846701","DOIUrl":"https://doi.org/10.1145/2846696.2846701","url":null,"abstract":"The value of integrated data relies upon common data points having an accessible, consistent interpretation; to achieve this at scale requires appropriate informatics support. This paper explains how a model-driven approach to software engineering and data management, in which software artefacts are generated automatically from data models, and models are used as metadata, can achieve this. It introduces a simple data modelling language, consistent with standard object modelling notations, together with a set of tools for model creation,maintenance, and deployment. It reports upon the application of this approach in the provision of informatics support for two large-scale clinical research initiatives.","PeriodicalId":210646,"journal":{"name":"Proceedings of the Workshop on Domain-Specific Modeling","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129990925","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}