121 research outputs found

    Modeling of motion primitive architectures using domain-specific languages

    Get PDF
    Nordmann A. Modeling of motion primitive architectures using domain-specific languages. Bielefeld: Universität Bielefeld; 2016

    Specifying Software Languages: Grammars, Projectional Editors, and Unconventional Approaches

    Get PDF
    We discuss several approaches for defining software languages, together with Integrated Development Environments for them. Theoretical foundation is grammar-based models: they can be used where proven correctness of specifications is required. From a practical point of view, we discuss how language specification can be made more accessible by focusing on language workbenches and projectional editing, and discuss how it can be formalized. We also give a brief overview of unconventional ideas to language definition, and outline three open problems connected to the approaches we discuss

    Implementing Feature Variability for Models and Code with Projectional Language Workbenches

    Get PDF
    Abstract Product line engineering deals with managing and implementing the variability among a set of related products. We distinguish between two kinds of variability: configuration and customization. Customization variability can be described using programming language code or creative construction DSLs, whereas configuration variability is described using configuration based approaches, such as feature models. Many product lines have both kinds of variability, and they need to be integrated efficiently. This paper describes an approach for product line engineering using projectional language workbenches. These represent code and models with the same fundamental technology, enabling the mixing of models and code. They make the tight integration between several domain-specific languages possible and simple. Since they can store arbitrary information in models, it is possible to overlay configuration variability over customization variability (i.e. apply feature model-based configuration to code and models). Because of the projectional approach to editing, programs can be shown with or without the dependencies on feature models, they can even be rendered (and edited) for a specific variant. This approach leads to highly integrated and productive tools for product line development. The paper explains the approach, outlines the implementation of a prototype tool based on Jetbrains MPS and illustrates the benefits using a small product line for embedded systems

    Metamorphic Domain-Specific Languages: A Journey Into the Shapes of a Language

    Get PDF
    External or internal domain-specific languages (DSLs) or (fluent) APIs? Whoever you are -- a developer or a user of a DSL -- you usually have to choose your side; you should not! What about metamorphic DSLs that change their shape according to your needs? We report on our 4-years journey of providing the "right" support (in the domain of feature modeling), leading us to develop an external DSL, different shapes of an internal API, and maintain all these languages. A key insight is that there is no one-size-fits-all solution or no clear superiority of a solution compared to another. On the contrary, we found that it does make sense to continue the maintenance of an external and internal DSL. The vision that we foresee for the future of software languages is their ability to be self-adaptable to the most appropriate shape (including the corresponding integrated development environment) according to a particular usage or task. We call metamorphic DSL such a language, able to change from one shape to another shape

    Classification Algorithms Framework (CAF) to enable Intelligent Systems using JetBrains MPS domain-specific languages environment

    Get PDF
    This paper describes the design and development of a Classification Algorithms Framework (CAF) using the JetBrains MPS domain-specific languages (DSLs) development environment. It is increasingly recognized that the systems of the future will contain some form of adaptivity therefore making them intelligent systems as opposed to the static systems of the past. These intelligent systems can be extremely complex and difficult to maintain. Descriptions at higher-level of abstraction (system-level) have long been identified by industry and academia to reduce complexity. This research presents a Framework of Classification Algorithms at system-level that enables quick experimentation with several different algorithms from Naive Bayes to Logistic Regression. It has been developed as a tool to address the requirements of British Telecom’s (BT’s) data-science team. The tool has been presented at BT and JetBrains MPS and feedback has been collected and evaluated. Beyond the reduction in complexity through the system-level description, the most prominent advantage of this research is its potential applicability to many application contexts. It has been designed to be applicable for intelligent applications in several domains from business analytics, eLearning to eHealth, etc. Its wide applicability will contribute to enabling the larger vision of Artificial Intelligence (AI) adoption in context

    A Domain-Specific Language and Editor for Parallel Particle Methods

    Full text link
    Domain-specific languages (DSLs) are of increasing importance in scientific high-performance computing to reduce development costs, raise the level of abstraction and, thus, ease scientific programming. However, designing and implementing DSLs is not an easy task, as it requires knowledge of the application domain and experience in language engineering and compilers. Consequently, many DSLs follow a weak approach using macros or text generators, which lack many of the features that make a DSL a comfortable for programmers. Some of these features---e.g., syntax highlighting, type inference, error reporting, and code completion---are easily provided by language workbenches, which combine language engineering techniques and tools in a common ecosystem. In this paper, we present the Parallel Particle-Mesh Environment (PPME), a DSL and development environment for numerical simulations based on particle methods and hybrid particle-mesh methods. PPME uses the meta programming system (MPS), a projectional language workbench. PPME is the successor of the Parallel Particle-Mesh Language (PPML), a Fortran-based DSL that used conventional implementation strategies. We analyze and compare both languages and demonstrate how the programmer's experience can be improved using static analyses and projectional editing. Furthermore, we present an explicit domain model for particle abstractions and the first formal type system for particle methods.Comment: Submitted to ACM Transactions on Mathematical Software on Dec. 25, 201

    Domain-Specific Language Modularization Scheme Applied to a Multi-Arm Robotics Use-Case

    Get PDF
    Wigand DL, Nordmann A, Dehio N, Mistry M, Wrede S. Domain-Specific Language Modularization Scheme Applied to a Multi-Arm Robotics Use-Case. Journal of Software Engineering for Robotics. 2017;8(1):45-64

    A metamodel-based ASN.1 editor and compiler for the implementation of communication protocols

    Get PDF
    In der Software-Industrie sind viele metamodell-basierte Werkzeuge entwickelt worden, um die Erstellung von Programmiersprachen und insbesondere domänenspezifischen Sprachen (DSL ) zu unterstützen. Ein Beispiel für diese Werkzeuge ist Eclipse Xtext, welches eine große Popularität im Bereich der modellgetriebenen Softwareentwicklung (MDSE ) besitzt. In diesem Beitrag untersuchen wir, inwieweit Xtext und andere metamodell-basierte Ansätze zur Implementierung eines Editors und Compilers für die ASN.1 Spezifikation, welche von der ITU-T standardisiert wurde, verwendet werden können. Der metamodell-basierte Ansatz zur Implementierung der ASN.1 Spezifikation ermöglicht es, ASN.1-Dokumente softwaretechnisch wie ein Modell behandeln zu können, sodass dieses ASN.1-Modell mit anderen Softwaremodellen (z. B. Zustandsmaschinen)verknüpft werden kann. Unsere Ergebnisse zeigen, dass mit relativ geringem Aufwand eine Basisimplementierung von ASN.1 zu erreichen ist, die bereits eine gute Werkzeugunterstützung liefert. Bei einigen Details der Implementierung gerät man allerdings an die Grenze des Machbaren und diese sind daher sehr schwer zu realisieren. Dies betrifft insbesondere den Parser-Generator und das komplexe Metamodell.In the software industry many metamodel-based tools and approaches have been developed to support the creation of programming and especially domain specific languages (DSL). An example of these tools is eclipse Xtext, which has gained much popularity in the model-driven software engineering (MDSE) community. In this article we investigate whether Xtext and related metamodel-based approaches can also be used to implement the ASN.1 specification that was standardized by the ITU-T. The metamodel-based approach for the implementation of the ASN.1 specification allows to treat ASN.1 documents as software models, so that these ASN.1 models can be interrelated with other models (e.g. state machines). Our results show that relatively little efforts are required to create a basic implementation of this standard with good tool support. However, some details of the implementation are quite difficult to realize because they touch the limits of feasibility. This concerns in particular the parser generator and the complex metamodel
    • …
    corecore