| < M B > |
Attribute Enabled Software Development (AESD) |
<<< |
 Latest software videos!
|
Attribute Enabled Software Development
Illustrated with mobile software applications
<<back
Table of Contents
Acknowledgments
1 Introduction
1.1 Mobile Software in a Ubiquitous Computing World
1.2 Automating Mobile Software Development
1.2.1 Programming Models for Mobile Software
1.2.2 Variation Mechanisms for Mobile Application Product-Lines
1.3 Attribute Enabled Software Development
1.3.1 Mobile Containers
1.3.2 Lightweight Domain-Specific Abstractions
1.3.3 Attribute-Driven Transformations
1.4 Contributions of this Book
1.5 The Structure of the Book
2 Organizing Mobile Product-Lines with Mobile Containers
2.1 Reusability with Product-Lines
2.1.1 Two Views of Product-Line Development
2.1.2 Variation Mechanisms for Mobile Product-Lines
2.1.3 Object-Oriented Libraries and Frameworks
2.1.4 Visual Domain-Specific Modeling
2.1.5 Domain-Specific Modeling with Language Abstractions
2.2 Software Containers
2.2.1 Microsoft COM+
2.2.2 Java EE and Enterprise Java Beans
2.2.3 Using Containers Beyond the Enterprise Domain
2.2.4 Mobile Containers
2.3 Container Implementation Techniques
2.3.1 Non-Invasive Container Implementation Techniques
2.3.2 Invasive Implementation Techniques
2.3.3 Non-Invasive versus Invasive Techniques
2.4 Aspect-Oriented Programming and Product-Lines
2.4.1 Introduction to AOP Techniques
2.4.2 AOP as a Generic Invasive Transformation Technique
2.5 Chapter Summary
3 Attribute Enabled Software Development
3.1 Supporting DSA with Attributes
3.1.1 Supporting Domain Variability with Attribute Families
3.1.2 Attribute Parameters
3.1.3 Connecting Attribute DSA with Product-Line Assets
3.2 Advantages of Attribute Programming
3.2.1 Mapping Marked PIMs to Marking Interfaces
3.2.2 Mapping Marked PIMs to Pseudo-Syntactic Elements
3.2.3 Mapping Marked PIMs to Attribute-Enabled Languages
3.3 Representing Explicit Attributes in UML
3.3.1 UML Alternatives for Explicit Attributes
3.3.2 Discussion of the UML Alternatives
3.4 Languages with Generalized and Annotated Abstract Syntax Trees
3.4.1 Attribute Language Support Example: .NET Languages
3.4.2 GAAST-Based Language Technology
3.4.3 Implementing GAAST on Top of .NET
3.5 Comparison to other DSL Approaches
3.5.1 GAAST Languages and Extensible Grammars
3.5.2 Meta-Programming Approaches
3.5.3 AOP and DSA
3.6 Proper Usage of Explicit Attributes
3.6.1 When to Annotate?
3.6.2 What can be Annotated?
3.7 Chapter Summary
4 Building Modular Attribute-Driven Transformers
4.1 Attribute-Driven Transformations
4.1.1 AST Representation
4.1.2 Class Transformations
4.1.3 Mapping Transformation Logic to Attribute Families
4.1.4 Controlling Composition Semantics with Inner Tags
4.1.5 The Transformation Workflow
4.1.6 Layering the Transformation Strategy
4.1.7 Code-Snippet Templates
4.1.8 Termination
4.1.9 Transformation Traceability
4.2 Automating Attribute Transformation Concerns
4.2.1 Expressing Cross-Cutting Concerns with Meta-Attributes
4.2.2 The Attribute Dependency Model
4.2.3 The [DependencyAttribute] Class
4.2.4 The Attribute Dependency Checker (ADC) Tool
4.3 Related Work
4.4 Chapter Summary
5 MobCon: A Generative Middleware Framework for J2ME
5.1 Automating Cross-Cutting Concerns of J2ME MIDP Applications
5.1.1 The Domain: Automating J2ME MIDP Applications
5.1.2 A GAAST-like Representation for MIDP
5.1.3 Modeling MIDP Attribute Families
5.1.4 The MobCon Transformation Engine
5.1.5 The Mobile Container Architecture
5.2 MIDP Programming with MobCon
5.2.1 Data Persistence
5.2.2 Screen Management
5.2.3 Session and Context Management
5.2.4 Image Adaptation
5.2.5 Data Encryption
5.2.6 Network Communication
5.2.7 Traceability
5.2.8 Case-Study: The MobRay Application
5.3 Extending the MobCon Framework
5.3.1 Workflow and Plug-in Metadata
5.3.2 Transformation Details
5.4 Related Work
5.5 Chapter Summary
6 Summary and Outlook
6.1 Summary
6.2 Limitations and Outlook
A. MobCon Generated Code for "Hello World" MIDP Example
Bibliography
<<back
|
|
|
|
|
|
|
|
|
|