
Software Language Engineering
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Title
- Preface
- Organization
- Table of Contents
- Keynote: Martin Erwig
- A Language for Software Variation Research
- References
- Grammarware
- Automated Selective Caching for Reference Attribute Grammars
- Introduction
- Reference Attribute Grammars
- The JastAdd Caching Scheme
- Attribute Instance Graphs
- An Example Grammar
- Computing a Cache Configuration
- The one Set
- Selecting a Good Profiling Input
- Choosing a Cache Configuration
- Combining Cache Configurations
- Evaluation
- Experimental Setup
- Experiment A: The Effects of No Caching
- Experiment B: The Effects of Profiling Using a Compiler Test Suite
- Experiment C: The Effects of Profiling Using a Benchmark Program
- Experiment D: The Effects of Combining B and C
- Related Work
- Conclusions and Future Work
- References
- Reference Attribute Grammars for Metamodel Semantics
- Introduction
- Motivation for Semantics-Integrated Metamodelling
- Metamodelling: Objectives, Transformations, Specifications
- Capabilities of Semantics-Integrated Metamodelling
- SiPLE-Statemachines: A Typical Modelling Language
- Foundations of Attribute Grammars for Metamodel Semantics
- Reference Attribute Grammars and Metamodel Semantics
- Common Metamodelling Languages and Abstract Syntax Trees
- Graphs and (Partial) Reference-Arrributed Models
- JastEMF: An Exemplary Attribute Grammar and Metamodelling Language Integration
- The Eclipse Modelling Framework
- The JastAdd Metacompiler
- Integrating EMF and JastAdd
- SiPLE-Statemachines Case Study
- Modelling Abstract Syntax with EMF
- Specifying Semantics with JastAdd
- Integration with Further Metamodelling Tools
- Evaluation
- Evaluating the Capabilities of IntegratedMetamodelling.
- Limitations and Further Issues
- Related Work
- Conclusion
- References
- Modelling GLL Parser Implementations
- The Interaction between Theory and Engineering
- General Context Free Parsing and the GLL Algorithm
- The LC Specification Language
- An Example GLL Parser
- The Impact of Language Size
- Process Management in GLL
- Modelling GLL Data Structure Refinement
- Address Calculation and Pointer Hopping
- The Modelling Process
- Conclusion: Prospects for Automatic Refinement
- References
- Metamodeling
- Metamodel Usage Analysis for Identifying Metamodel Improvements
- Introduction
- Metamodeling Formalism
- Metamodel Usage Analysis
- Templates for Defining Usage Analyses
- Towards a Catalog of Usage Analyses
- Prototypical Implementation
- Empirical Study
- Study Method
- Study Objects
- Study Results
- Discussion
- Related Work
- Conclusions and Future Work
- References
- Domain-Specific Modelling Languages with Algebraic Graph Transformations on RDF
- Introduction
- Application Scenario: IT Infrastucture DSML
- RDF Graphs: Abstract Syntax for DSMLs
- RDF Graph Transformation: Grammars and Editing
- Evolution of Languages and Migration of Models
- Integration of Languages
- Related Work
- Summary and Future Work
- References
- Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled
- Introduction
- Running Example: A Telematics Product Line
- Feature vs. Meta-modeling
- Clafer: Meta-modeling with First-Class Support for Feature Modeling
- Mixing via Quotes and References
- Specializing via Inheritance and Constraints
- Coupling via Constraints
- Evaluation
- Analytical Evaluation
- Experimental Evaluation
- Related Work
- Conclusion
- References
- Evolution
- Support for the Evolution of C++ Generic Functions
- Introduction
- Concepts for C++
- Requirement Extraction
- Evaluation of Expressions
- Evaluation of Declarations and Statements
- Evaluation of Class Instantiations
- Example
- From Requirements to Concepts
- Recovery from Repository
- Concept Kernel
- Concept Matching
- Algorithm Families
- Validation
- Related Work
- Conclusion and Future Work
- References
- Automated Co-evolution of GMF Editor Models
- Introduction
- GMF's Coordinated Editor Models
- GMF's Co-evolution Challenge
- A Compound Change Scenario
- Broken vs. Unsound GMF Models and Editors
- Changes and Co-changes
- Strategies for Co-changes
- Editor Soundness Related to Co-changes
- Specific Couples of Changes and Co-changes
- Automated Adaptation of GMF Models
- Proof-of-Concept Implementation of the GMF Adapters
- Model-Based Representation of Domain Model Differences
- ATL-Based Implementation of GMF Model Adapters
- Related Work
- Graphical Model Editors
- Model Consistency
- Co-evolution of Metamodels and Models
- Syntax Relationships for Textual Languages
- Concluding Remarks
- References
- An Extensive Catalog of Operators for the Coupled Evolution of Metamodels and Models
- Introduction
- Metamodeling Formalism
- Origins of Coupled Operators
- Classification of Coupled Operators
- Catalog of Coupled Operators
- Structural Primitives
- Non-structural Primitives
- Specialization / Generalization Operators
- Inheritance Operators
- Delegation Operators
- Replacement Operators
- Merge / Split Operators
- Discussion
- Conclusion
- References
- JTL: A Bidirectional and Change Propagating Transformation Languages
- Introduction
- Motivating Scenario
- Requirements for Bidirectionality and Change Propagation
- The Janus Transformation Language
- The Janus Transformation Engine
- Specifying Model Transformation with Janus
- ASP Semantic Anchoring
- JTL in Practice
- Modelling State Machines
- Specifying and Applying the HSM2NHSM Model Transformation
- Propagating Changes
- Related Work
- Conclusion and Future Work
- References
- Keynote: Abraham Bernstein
- Software Engineering and the Semantic Web: A Match Made in Heaven or in Hell?
- References
- Programming
- A Unified Format for Language Documents
- Introduction
- State of the Art in Language Documentation
- Background on Language Standardization
- The Language Documentation Challenge
- Language Documentation Approaches
- Concepts of Language Documentation
- Control Group for the Domain Model
- Identification of Concepts
- Example: The XPath Language Document
- A Unified Format for Language Documents
- Language Document Partitioning
- Top Sections
- Inner Sections
- Detailed Content
- Transformation of LDF Documents
- Additional Related Work
- Concluding Remarks
- References
- Canonical Method Names for Java Using Implementation Semantics to Identify Synonymous Verbs
- Introduction
- Problem Description
- Analysis of Methods
- Definitions
- Semantic Model
- Identifying Synonyms
- Software Corpus
- Source Code Generation
- Common Verbs
- Unnameable Cliches
- Addressing Synonyms
- Identifying Synonyms
- Eliminating Synonyms
- Canonicalisation
- Related Work
- Conclusion and Further Work
- References
- Subjective-C Bringing Context to Mobile Platform Programming
- Introduction
- Context-Oriented Programming in Subjective-C
- General System Architecture
- Contexts
- Contextual Behaviour
- Behaviour Reuse
- Context Relations
- Weak Inclusion Relation
- Strong Inclusion Relation
- Exclusion Relation
- Requirement Relation
- Context Declaration Language
- Implementation
- Method Translation
- Method Predispatch
- Super-Context Calls
- Validation
- Benchmarks
- Limitations and Future Work
- Related Work
- Conclusions
- References
- Short Papers and Demos: Modeling
- The Level-Agnostic Modeling Language
- Introduction
- Orthogonal Classification Architecture
- Clabjects
- Proximity Indication
- Attribute Value Specifications
- Domain Connections
- Logical Elements
- Conclusion
- References
- Debugging in Domain-Specific Modelling
- Introduction
- Related Work
- Debugging Code
- Debugging in DSM
- Debugging Transformations
- Creating Debuggable Artifacts
- Debugging Models and Artifacts
- Conclusion and Future Work
- References
- COPE - A Workbench for the Coupled Evolution of Metamodels and Models
- Introduction
- Related Work
- COPE - Coupled Evolution of Metamodels and Models
- Recording the Coupled Evolution
- Inspecting the Coupled Evolution
- Refactoring the Coupled Evolution
- Recovering the Coupled Evolution
- Evaluation
- Conclusion
- References
- Short Papers and Demos: Transformations and Translations
- DSLTrans: A Turing Incomplete Transformation Language
- Introduction
- Language Overview
- Formal Syntax and Semantics
- Transformation Language Syntax
- Transformation Language Semantics
- Conclusions and Future Work
- References
- Translator Generation Using ART
- Introduction
- Source Syntax, Modularity and Parsing
- Tear-Insert-Fold Annotations
- Some Source-to-Source Conversion Examples
- Concluding Remarks and Open Issues
- References
- Empirical Language Analysis in Software Linguistics
- Introduction
- Broader Research Context: Software Linguistics
- Towards a Survey on Empirical Language Analysis
- Paper Collection
- Research Questions
- Terminology
- Corpus Characteristics
- Objectives of the Papers
- Analyses of the Papers
- Outlook on Research Methodology
- Content vs. Meta-analysis
- Adoption of Content Analysis
- Concluding Remarks
- References
- Interactive Disambiguation of Meta Programs with Concrete Object Syntax
- Introduction
- Meta-programming with Concrete Object Syntax
- Interactive Disambiguation of Concrete Object Syntax
- Classes of Ambiguities
- Automatic Disambiguation Suggestions
- Presentation of Suggestions
- Discussion and Conclusions
- References
- Domain-Specific Languages
- Evaluating a Textual Feature Modelling Language: Four Industrial Case Studies
- Introduction
- Related Work
- Graphical Feature Models
- Textual Feature Models
- TVL
- Research Method
- Objectives
- Cases
- Experiment Protocol
- Results
- Findings
- Language Constructs
- Stakeholder Profiles
- Tool Support
- Threats to Validity
- Conclusion
- References
- Extending DMM Behavior Specifications for Visual Execution and Debugging
- Introduction
- Dynamic Meta Modeling
- Visual Model Execution
- Visualizing Runtime Information
- Defining the Steps of Executions
- Controlling Execution Paths
- Debugging Concepts
- Example: UML Statemachines
- Implementation
- Related Work
- Conclusions
- References
- Analysing the Cognitive Effectiveness of the BPMN 2.0 Visual Notation
- Introduction
- Previous Research
- Language Evaluation Frameworks
- The Physics of Notations
- Visual Aspects of Process Modelling Notations
- Analysis of BPMN 2.0 Process Diagrams
- Cognitive Fit
- Expert-Novice Differences.
- The Differences in Representational Media
- Semiotic Clarity
- Perceptual Discriminability
- Semantic Transparency
- Complexity Management
- Modularisation
- Hierarchic Structuring
- Cognitive Integration
- Visual Expressiveness
- Primary Notation.
- Secondary Notation
- Dual Coding
- Graphic Economy
- Discussion and Conclusions
- References
- Featherweight TEX and Parser Correctness
- Introduction
- Problem Statement
- Featherweight TeX
- Correctness of Syntactic Analyses
- Structure Constraints
- Constraint Generation
- Parser Correctness
- Towards Parsing TeX
- Parsing-Contrary Language Features
- Parsing FTeX Correctly
- Macro Usage in TeX and LaTeX
- Applications
- Conclusion
- 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.