17 research outputs found

    Die C# Schnittstelle der Referenzattributgrammatik-gesteuerten Graphersetzungsbibliothek RACR: Ăśbersicht, Anwendung und Implementierung: Entwicklerhandbuch

    Get PDF
    Dieser Bericht präsentiert RACR-NET, eine Schnittstelle der Referenzattributgrammatik-gesteuerten Graphersetzungsbibliothek RACR für C#. RACR-NET ermöglicht die Nutzung der deklarativen, dynamischen Sprachspezifikations-, Instanziierungs- und Auswertungsmeachanismen der RACR Scheme-Bibliothek in der objektorientierten Programmierung. Dies umfasst insbesondere die automatische inkrementelle Auswertung attributbasierter semantischer Analysen und somit das automatische Cachen parametrisierter Funktionsmethoden. Graphersetzungen entsprechen hierbei Zustandsänderungen von Objektinstanzen und der Invalidierung abgeleiteter Berechnungen. Schwerpunkt dieses Berichts ist die objektorientierte Programmierschnittstelle von RACR-NET, dessen praktische Anwendung und Implementierung. Der Bericht ist ein Referenzhandbuch für RACR-NET Anwender und Entwickler.:1. Einleitung 1.1. Aufgabenstellung 1.2. Struktur der Arbeit 2. Konzeptionelle und technische Voraussetzungen 2.1. Überblick der RAG-gesteuerten Graphersetzung 2.2. Scheme 2.3. Die RACR Scheme-Bibliothek 2.4. Das .NET-Framework und die Common Language Infrastructure 2.5. IronScheme 3. RACR-NET Implementierung: Prozedurale Schnittstelle 3.1. Scheme in C# 3.2. RACR in C# 3.3. Anforderungsanalyse 3.4. Implementierung der prozeduralen Schnittstelle 4. RACR-NET Implementierung: Objektorientierte Schnittstelle 4.1. Überblick über die objektorientierte Schnittstelle 4.2. Anwendungsbeispiel 4.3. Herausforderungen bei der Implementierung 4.4. Implementierung 5. Evaluation 5.1. Testen der Schnittstelle 5.2. Performance-Messungen und -Vergleiche 6. Zusammenfassung und Ausblick 6.1. Eine objektorientierte Bibliothek für RAG-gesteuerte Graphersetzung 6.2. Zukünftige Arbeiten A. Literaturverzeichnis B. MIT Lizen

    fUML Activity Diagrams with RAG-controlled Rewriting -A RACR Solution of The TTC 2015 Model Execution Case

    Get PDF
    This paper summarises a RACR solution of The TTC 2015 Model Execution Case. RACR is a metacompiler library for Scheme. Its most distinguished feature is the seamless combination of reference attribute grammars and graph rewriting combined with incremental evaluation semantics. The presented solution sketches how these integrated analyses and rewriting facilities are used to transform fUML Activity Diagrams to executable Petri nets. Of particular interest are (1) the exploitation of reference attribute grammar analyses for Petri net generation and (2) the efficient execution of generated nets based on the incremental evaluation semantics of RACR

    Towards Attribute Grammars for Metamodel Semantics

    Get PDF
    Of key importance for metamodelling are appropriate modelling formalisms. Most metamodelling languages permit the development of metamodels that specify tree-structured models enriched with semantics like constraints, references and operations, which extend the models to graphs. However, often the semantics of these semantic constructs is not part of the metamodel, i.e., it is unspeci ed. Therefore, we propose to reuse well-known compiler construction techniques to specify metamodel semantics. To be more precise, we present the application of reference attribute grammars (RAGs) for metamodel semantics and analyse commonalities and differences. Our focus is to pave the way for such a combination, by exemplifying why and how the metamodelling and attribute grammar (AG) world can be combined and by investigating a concrete example - the combination of the Eclipse Modelling Framework (EMF) and JastAdd, an AG evaluator generator

    Using Reference Attribute Grammar-Controlled Rewriting for Energy Auto-Tuning

    Get PDF
    Cyber-physical systems react on events reported by sensors and interact with objects of the real world according to their current state and their view of the world. This view is naturally represented by a model which is continuously analysed and updated at runtime. Model analyses should be ideally concise and efficient, requiring well-founded, comprehensible implementations with efficient reasoning mechanisms. In this paper, we apply reference attribute grammar controlled rewriting to concisely implement the runtime model of an auto-tuning case study for energy optimization. Attribute functions are used to interactively perform analyses. In case of an update, our system incrementally—and, thus, efficiently—recomputes depending analyses. Since reference attribute grammar controlled rewriting builds the required dependency graphs automatically, incremental analysis comes for free

    RACR: A Scheme Library for Reference Attribute Grammar Controlled Rewriting: Developer Manual

    No full text
    This report presents RACR, a reference attribute grammar library for the programming language Scheme. RACR supports incremental attribute evaluation in the presence of abstract syntax tree rewrites. It provides a set of functions that can be used to specify abstract syntax tree schemes and their attribution and construct respective trees, query their attributes and node information and annotate and rewrite them. Thereby, both, reference attribute grammars and rewriting, are seamlessly integrated, such that rewrites can reuse attributes and attribute values change depending on performed rewrites – a technique we call Reference Attribute Grammar Controlled Rewriting. To reevaluate attributes influenced by abstract syntax tree rewrites, a demand-driven, incremental evaluation strategy, which incorporates the actual execution paths selected at runtime for control-flows within attribute equations, is used. To realize this strategy, a dynamic attribute dependency graph is constructed throughout attribute evaluation – a technique we call Dynamic Attribute Dependency Analyses. The report illustrates RACR's motivation, features, instantiation and usage. In particular its application programming interface is documented and exemplified. The report is a reference manual for RACR developers. Further, it presents RACR’s complete implementation and therefore provides a good foundation for readers interested into the details of reference attribute grammar controlled rewriting and dynamic attribute dependency analyses.:1. Introduction 1.1. RACR is Expressive, Elegant, Ecient, Flexible and Reliable 1.2. Structure of the Manual 2. Library Overview 2.1. Architecture 2.2. Instantiation 2.3. API 3. Abstract Syntax Trees 3.1. Specification 3.2. Construction 3.3. Traversal 3.4. Node Information 4. Attribution 4.1. Specification 4.2. Evaluation and Querying 5. Rewriting 5.1. Primitive Rewrite Functions 5.2. Rewrite Strategies 6. AST Annotations 6.1. Attachment 6.2. Querying 7. Support API A. RACR Source Code B. MIT License API Inde

    fUML Activity Diagrams with RAG-controlled Rewriting: A RACR Solution of The TTC 2015 Model Execution Case

    No full text
    This paper summarises a RACR solution of The TTC 2015 Model Execution Case. RACR is a metacompiler library for Scheme. Its most distinguished feature is the seamless combination of reference attribute grammars and graph rewriting combined with incremental evaluation semantics. The presented solution sketches how these integrated analyses and rewriting facilities are used to transform fUML Activity Diagrams to executable Petri nets. Of particular interest are (1) the exploitation of reference attribute grammar analyses for Petri net generation and (2) the efficient execution of generated nets based on the incremental evaluation semantics of RACR

    Legislative Documents

    Get PDF
    Also, variously referred to as: House bills; House documents; House legislative documents; legislative documents; General Court documents

    Die C# Schnittstelle der Referenzattributgrammatik-gesteuerten Graphersetzungsbibliothek RACR: Ăśbersicht, Anwendung und Implementierung: Entwicklerhandbuch

    Get PDF
    Dieser Bericht präsentiert RACR-NET, eine Schnittstelle der Referenzattributgrammatik-gesteuerten Graphersetzungsbibliothek RACR für C#. RACR-NET ermöglicht die Nutzung der deklarativen, dynamischen Sprachspezifikations-, Instanziierungs- und Auswertungsmeachanismen der RACR Scheme-Bibliothek in der objektorientierten Programmierung. Dies umfasst insbesondere die automatische inkrementelle Auswertung attributbasierter semantischer Analysen und somit das automatische Cachen parametrisierter Funktionsmethoden. Graphersetzungen entsprechen hierbei Zustandsänderungen von Objektinstanzen und der Invalidierung abgeleiteter Berechnungen. Schwerpunkt dieses Berichts ist die objektorientierte Programmierschnittstelle von RACR-NET, dessen praktische Anwendung und Implementierung. Der Bericht ist ein Referenzhandbuch für RACR-NET Anwender und Entwickler.:1. Einleitung 1.1. Aufgabenstellung 1.2. Struktur der Arbeit 2. Konzeptionelle und technische Voraussetzungen 2.1. Überblick der RAG-gesteuerten Graphersetzung 2.2. Scheme 2.3. Die RACR Scheme-Bibliothek 2.4. Das .NET-Framework und die Common Language Infrastructure 2.5. IronScheme 3. RACR-NET Implementierung: Prozedurale Schnittstelle 3.1. Scheme in C# 3.2. RACR in C# 3.3. Anforderungsanalyse 3.4. Implementierung der prozeduralen Schnittstelle 4. RACR-NET Implementierung: Objektorientierte Schnittstelle 4.1. Überblick über die objektorientierte Schnittstelle 4.2. Anwendungsbeispiel 4.3. Herausforderungen bei der Implementierung 4.4. Implementierung 5. Evaluation 5.1. Testen der Schnittstelle 5.2. Performance-Messungen und -Vergleiche 6. Zusammenfassung und Ausblick 6.1. Eine objektorientierte Bibliothek für RAG-gesteuerte Graphersetzung 6.2. Zukünftige Arbeiten A. Literaturverzeichnis B. MIT Lizen

    Towards Attribute Grammars for Metamodel Semantics

    Get PDF
    Of key importance for metamodelling are appropriate modelling formalisms. Most metamodelling languages permit the development of metamodels that specify tree-structured models enriched with semantics like constraints, references and operations, which extend the models to graphs. However, often the semantics of these semantic constructs is not part of the metamodel, i.e., it is unspeci ed. Therefore, we propose to reuse well-known compiler construction techniques to specify metamodel semantics. To be more precise, we present the application of reference attribute grammars (RAGs) for metamodel semantics and analyse commonalities and differences. Our focus is to pave the way for such a combination, by exemplifying why and how the metamodelling and attribute grammar (AG) world can be combined and by investigating a concrete example - the combination of the Eclipse Modelling Framework (EMF) and JastAdd, an AG evaluator generator

    Towards Attribute Grammars for Metamodel Semantics

    No full text
    Of key importance for metamodelling are appropriate modelling formalisms. Most metamodelling languages permit the development of metamodels that specify tree-structured models enriched with semantics like constraints, references and operations, which extend the models to graphs. However, often the semantics of these semantic constructs is not part of the metamodel, i.e., it is unspeci ed. Therefore, we propose to reuse well-known compiler construction techniques to specify metamodel semantics. To be more precise, we present the application of reference attribute grammars (RAGs) for metamodel semantics and analyse commonalities and differences. Our focus is to pave the way for such a combination, by exemplifying why and how the metamodelling and attribute grammar (AG) world can be combined and by investigating a concrete example - the combination of the Eclipse Modelling Framework (EMF) and JastAdd, an AG evaluator generator
    corecore