515 research outputs found

    Statistical performance analysis with dynamic workload using S-NET

    Get PDF
    Volkmar Wieser, Philip K. F. Hölzenspies, Michael Roßbory, and Raimund Kirner, 'Statistical performance analysis with dynamic workload using S-NET'. Paper presented at the Workshop on Feedback-Directed Compiler Optimization for Multi-Core Architectures. Paris, France 23-25 January 2012In this paper the ADVANCE approach for engineering con- current software systems with well-balanced hardware ef- ficiency is adressed using the stream processing language S-Net. To obtain the cost information in the concurrent system the metrics throughput, latency, and jitter are evalu- ated by analyzing generated synthetical data as well as using an industrial related application in the future. As fall-out an Eclipse plugin for S-Net has been developed to provide sup- port for syntax highlighting, content assistance, hover help, and more, for easier and faster development. The presented results of the current work are on the one hand an indicator for the status quo of the ADVANCE vision and on the other hand used to improve the applied statistical analysis tech- niques within ADVANCE. Like the ADVANCE project, this work is still under development, but further improvements and speedups are expected in the near future

    A domain specific language for the automatic generation of parsers classes for text protocols

    Get PDF
    ABNF ist eine Sprache zur Definition einer formalen Syntax für technische Spezifikationen und wird häufig zur Beschreibung textueller Nachrichten von Internetprotokollen eingesetzt. Die Möglichkeiten der automatischen Generierung von Parser-Klassen aus ABNF-Spezifikationen sind derzeit sehr begrenzt, da ABNF lediglich die Transfersyntax und Produktionsregeln von Textnachrichten beschreibt. Die fehlende Definition von Variablennamen innerhalb einer ABNF-Spezifikation ermöglicht es nicht, sinnvollen und ausdrucksstarken Programmcode zu generieren, der von einem Programmierer verwendet werden kann. In diesem Artikel stellen wir X-ABNF vor, eine domänenspezifische Sprache (DSL) zur Definition von Variablennamen für ABNF-Regeln. Dies ermöglicht die Generierung von ausdrucksstarkem und lesbarem Programmcode aus ABNF-Spezifikationen. Des Weiteren zeigen wir, dass dieser Ansatz auch für Spracherweiterungen mithilfe von Makroprogrammierung genutzt werden kann. Dies ermöglicht die dynamische Instanziierung von ABNF-Textnachrichten im Programmcode. Wir verwenden Xtext und Xtend zur Implementierung der Sprachgrammatik von ABNF und XABNF, was eine gute Werkzeugunterstützung gewährleistet und Codegenerierung ermöglicht.ABNF is a language for the definition of the formal syntax of technical specifications and is widely used for the definition of textual protocol messages of many internet protocols. The automatic generation of parser classes for ABNF specifications is currently very limited, because ABNF only defines the transfer syntax of the text messages and does not define names for the set of production rules. The lack of name definitions within ABNF rules does not allow to automatically generate expressiveness and meaningful program code for ABNF specifications. In this paper we present X-ABNF, which is a domain-specific language (DSL) for the definition of name-bindings for ABNF rules. The name-bindings with X-ABNF facilitates to generate a concise and meaningful code for an ABNF specification. Additionally, we show that the name-binding can also be used for language extensions through macro programming to dynamically access ABNF encoded text data within source code. We have used Xtext and Xtend for the implementation of the language grammar of ABNF and X-ABNF, which provide good tool support and code generation capabilities

    Supporting Meta-model-based Language Evolution and Rapid Prototyping with Automated Grammar Optimization

    Full text link
    In model-driven engineering, developing a textual domain-specific language (DSL) involves constructing a meta-model, which defines an underlying abstract syntax, and a grammar, which defines the concrete syntax for the DSL. Language workbenches such as Xtext allow the grammar to be automatically generated from the meta-model, yet the generated grammar usually needs to be manually optimized to improve its usability. When the meta-model changes during rapid prototyping or language evolution, it can become necessary to re-generate the grammar and optimize it again, causing repeated effort and potential for errors. In this paper, we present GrammarOptimizer, an approach for optimizing generated grammars in the context of meta-model-based language evolution. To reduce the effort for language engineers during rapid prototyping and language evolution, it offers a catalog of configurable grammar optimization rules. Once configured, these rules can be automatically applied and re-applied after future evolution steps, greatly reducing redundant manual effort. In addition, some of the supported optimizations can globally change the style of concrete syntax elements, further significantly reducing the effort for manual optimizations. The grammar optimization rules were extracted from a comparison of generated and existing, expert-created grammars, based on seven available DSLs.Comment: 34 page

    Model-based Role Based Access Control for RESTful Spring applications

    Get PDF
    Mudelipõhine tarkvaraarendus on kaasaegse tarkvara arendamise metoodika, mille eesmärk on lahendada konkreetseid probleeme, luues domeeni mudelid ja pakkudes lahendust kontseptuaalsel viisil. Domeenipõhine keel (DSL) on arvuti keel, mis võimaldab lahendada probleeme konkreetses domeenis. Käesoleva lõputöö eesärgiks on arendada tarkvaraline vahend, mis aitab luua automaatselt tarkvarakoodi rolli-põhise ligipääsu kontrolli abil RESTful rakendustele. Selle jaoks soovime pakkuda spetsifikatsiooni, mis läbi DSL-i sisendi kirjeldaks andmebaasi kihtide komponente (näiteks klassid ja hoidlad), vahekihtide komponente (st Resources/Assemblers, Controllers), ja rolli-põhise ligipääsu kontrolli mudelit koos sihtrakendusega. Tuginedes reeglitele, genereerib meie vahend koodi, mis sisaldab RBAC autentimisega / autoriseerimisega seotud konfiguratsiooni ja abiklasse. See on kogu RESTful Spring Boot rakenduse tuumik koos kommentaaride ning baaskoodiga, mille sisendiks on etteantud RBAC mudel.Model-driven software development is the modern software development methodology that aims at solving a specific problem by creating the domain models and providing the solution in a conceptual way. Domain-Specific Language (DSL) is the computer language that allows solving a problem in a specific domain. The goal of this thesis is to develop a software tool that helps to generate the software codes automatically with Role Based Access Control for a RESTful application. In this context, we want to provide a resource specification as an input to the software tool through DSL for describing the database layer components (i.e. Entity classes and Repositories), the integration layer components (i.e. Resources/Assemblers, Controllers), and a Role-Based Access Control model to be associated with a target application. Based on the definitions, our tools will generate code, including RBAC authentication/authorization related configuration and helper classes. Thus, the skeleton for the RESTful Spring Boot application with the annotations and basic code to enforce the RBAC model provided as input
    corecore