
Software Language Engineering
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
The 18 papers presented together with 4 tool/language demonstration papers were carefully reviewed and selected from numerous submissions. SLE's foremost mission is to encourage and organize communication between communities that have traditionally looked at software languages from different, more specialized, and yet complementary perspectives. SLE emphasizes the fundamental notion of languages as opposed to any realization in specific technical spaces.
More details
Other editions
Additional editions

Content
- Title
- Preface
- Organization
- Table of Contents
- Towards a One-Stop-Shop for Analysis, Transformation and Visualization of Software
- Introduction
- Requirements, Design and Architecture
- Requirements
- Architecture
- Figures and Properties
- Figure Composition and Layout
- Scales of Measurement
- Figure Interaction
- Examples
- Bar Chart of File Name Extensions
- Search and Browse Files
- Conclusions
- References
- A Dedicated Language for Context Composition and Execution of True Black-Box Model Transformations
- Introduction
- Case Study
- Specification and Instantiation of Modules
- Specification of Modules
- Specification of Context Compositions
- Instantiation of Modules
- Specification of Data-Flow Compositions
- Execution of True Black-Box Model Transformations
- Data-Flow Execution Algorithm
- Context Execution Algorithm
- Instantiation Algorithm
- Technology Adapters
- Related Work
- Data-Flow Composition
- Context Composition
- Conclusions and Future Work
- References
- An Algorithm for Layout Preservation in Refactoring Transformations
- Introduction
- Layout Preservation in Refactoring
- Example
- Problem Analysis
- Origin Tracking
- Layout Preservation for Transformed AST
- Formalization
- Algorithm
- Correctness
- Layout Preservation
- Whitespace Adjustment and Comment Migration
- Comment Heuristics
- Evaluation
- Related Work
- AST Approaches
- HaRe
- Eclipse
- Text Patching
- Lenses
- Conclusion
- References
- Cloning in DSLs: Experiments with OCL
- Introduction
- Related Work
- Application Scenarios
- In-place Maintenance
- Pattern Detection and Suggestion
- Clone Detection Process
- Clone Detection Process in OCL
- Obtaining a Model or Models of OCL Expressions
- Clone Detection through Model Transformation
- OCL Expressions Clones Information
- Evaluation Results
- Summary of Evaluation Results
- Threats to Validity
- Conclusion and Future Work
- References
- Uniform Modularization of Workflow Concerns Using Unify
- Introduction
- Motivation
- Developing a Workflow Using Unify
- The Unify Base Language
- The Unify Connector Mechanism
- Discussion
- Interaction with the Control Flow Perspective
- Interaction with the Data Perspective
- Semantics
- Implementation
- Related Work
- Conclusions and Future Work
- References
- Design of Concept Libraries for C++
- Introduction
- Related Work
- Requirements for Concept Design
- Concepts = Constraints + Axioms
- Concepts for the STL
- Regular Types
- Type Abstractions
- Function Abstractions
- Iterators
- Constraints
- Implementation and Validation
- Conclusions
- References
- Join Token-Based Event Handling: A Comprehensive Framework for Game Programming
- Introduction
- Join Token: an Event Handling Framework Suitable for Games
- The Mogemoge Language
- Basic Features
- Join Token Feature
- Implementation
- Evaluation of the Join Token Framework
- ``Baloon'' Game
- ``Descender'' Game
- Comparison with Ruby
- Related Works
- Discussion
- Conclusion
- References
- Reusing Pattern Solutions in Modeling: A Generic Approach Based on a Role Language
- Introduction
- Motivating Examples
- Existence of Design Patterns in Any Design Language
- Requirements for a Generic Pattern Specification Language
- Requirements for Pattern Application
- Role Modeling for Patterns
- Our Approach of Design Patterns
- The Gipsie Language
- Role Model Validation
- Pattern Application with Role Modeling
- Our Approach of Pattern Application
- The Binding Metamodel
- The Application Process
- Capacities in the Application Process
- Tool Support
- Related Works
- Conclusion
- References
- An Architecture for Information Exchange Based on Reference Models
- Introduction
- Typical Deviations
- Related Work
- Reference Architecture
- Case Study
- Mapping Specification
- Template-Based Filtering for Data Exchange
- Non-intrusive Implementation
- Scalability and Performance Evaluation
- Conclusion and Future Work
- References
- MoScript: A DSL for Querying and Manipulating Model Repositories
- Introduction
- Motivation
- The MoScript Architecture
- Architecture Components
- Architecture Information Flow
- The MoScript Language
- MoScript Abstract and Concrete Syntax
- Operations without Side Effects
- Statements with Side Effects
- Putting All Together
- Change Propagation
- Inspecting and Combining Models Information
- Implementation
- Related Work
- Conclusions and Future Work
- References
- Reconstructing Complex Metamodel Evolution
- Introduction
- Modeling Metamodel Evolution
- Reconstructing Primitive Evolution Traces
- Reconstructing Complex Evolution Traces
- Reconstructing Masked Operator Instances
- Related Work
- Discussion
- References
- Designing Variability Modeling Languages
- Formalizing a Domain Specific Language Using SOS: An Industrial Case Study
- Introduction
- Related Work
- Formalizing Domain Notions
- Running Example
- Concrete Syntax Projection
- Formal Syntax Validation
- Formalizing Dynamic Semantics
- Semantic Preliminaries
- Abstract Syntax Projection
- Auxiliary Operational Semantics
- Formal Semantic Validation
- Evaluation
- Conclusions and Future Work
- References
- Semantics First!Rethinking the Language Design Process
- Introduction
- Haskell as a Language Design DSL
- Semantics-Driven Language Development
- Compositional Language Extensions
- Non-compositional Language Extensions
- Language Schemas and Families
- Language Operators
- Semantics Language Operators
- Syntax Language Operators
- Organizational Language Operators
- Semantics-Driven Language Design in Action
- Probabilistic Functional Programming
- Explaining Probabilistic Reasoning
- Choice Calculus
- Related Work
- Conclusions
- References
- Integrating Attribute Grammar and Functional Programming Language Features
- Introduction
- The AG Language
- The AG Type System
- The Type Inference Rules
- Polymorphic Attribute Access Problem
- Putting Types to Work
- Pattern Matching
- Adding Pattern Matching to AG
- Typing Pattern Matching Expressions
- Other Concerns
- Related Work
- Future Work
- Conclusion
- References
- Parse Forest Diagnostics with Dr. Ambiguity
- Introduction
- Solutions to Ambiguity
- Causes of Ambiguity
- Classes of Parse Tree Differences
- Diagnosing Ambiguity
- Architecture
- Algorithms
- Discussion on Correctness
- Demonstration
- Evaluation Method
- Results
- Discussion
- Conclusions
- References
- Ambiguity Detection: Scaling to Scannerless
- Introduction
- Background
- Contributions and Roadmap
- The Ambiguity Detection Framework
- The Framework
- Notational Preliminaries
- Character-Level Grammars
- Example
- Definition
- Baseline Algorithm
- Step 1: NFA Construction
- Step 2: Construct and Traverse Pair Graph
- Steps 3-4: NFA Filtering and Harmless Rules Identification
- Steps 5-7: NFA Reconstruction and Sentence Generation
- Ambiguity Detection for Character-Level Grammars
- Application of Baseline Algorithm on Example Grammar
- Changes to the Baseline Algorithm
- NFA Reconstruction
- Grammar Unfolding
- Experimental Results
- Experiment Setup
- Results and Analysis
- Validation
- Conclusion
- References
- Comparison of Context-Free Grammars Based on Parsing Generated Test Data
- Introduction
- Methodology
- Test Data Generation
- Grammars and Trees
- Coverage Criteria
- Generation Primitives
- Generation Algorithms
- Grammar Nonequivalence Study: Java 5
- Grammar Sources
- Grammar Extraction
- Test Set Generation
- Results
- Matching Algorithm
- Nonterminal Matching Study: Course Work
- Related Work
- Conclusion
- References
- RLSRunner: Linking Rascal with K for Program Analysis
- Introduction
- Supporting K Program Analysis in Rascal
- Rascal Support in K
- Linking Rascal with the SILF Analysis Framework
- Related Work
- Summary and Future Work
- References
- Metacompiling OWL Ontologies
- Introduction
- JastOwl, a Meta-compiler for OWL
- Generation Details and Limitations
- SIARAS Skillserver Example
- Ontology Structure
- Handling Knowledge
- Evaluation
- Related Work
- Conclusions
- References
- Towards Combinators for Bidirectional Model Transformations in Scala
- Introduction
- Lenses
- A Data Model for Lenses for Model Transformations
- Embedding Lenses in Scala
- Related Work
- Conclusions and Future Work
- References
- Typed First-Class Communication Channels and Mobility for Concurrent Scripting Languages
- Introduction
- Language Demonstration
- Typed Channels for Safe Communication
- Agents and Test & Send
- Distributed Bootstrapping
- Relocatable Computation
- Types for Input/Output Modalities
- Types for Variant Messages
- Types for Dynamic Messages
- Conclusions
- References
- Author Index
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.