Download presentation
Presentation is loading. Please wait.
Published byWillis Stephens Modified over 9 years ago
1
Advanced Software Development Karl Lieberherr CSG 260 Fall Semester 2003 https://lists.ccs.neu.edu/bin/listinfo/
2
Advanced? Advanced means to me –Thinking in families of software products –Good separation of concerns, shyness between concerns –Write code that writes code (active code generators: TPP: Tip 29) –Put Abstractions in Code, Details in Metadata (TPP: Tip 38) Information about TPP: CSG 260 Resources
3
Domain Specific Language (DSL) A domain-specific language is a specialized, problem-oriented language. Need several DSLs to specify a complete application. –General modeling DSLs (e.g., synchronization) –Application oriented DSL (e.g. authorization policy) From: GP 5.5
4
DSLs Fixed, Separate DSLs –SQL, TEX Embedded DSLs –Embedded in a general purpose language, e.g. embedded SQL Modularly composable DSLs (component) –Encapsulated DSLs (e.g., embedded SQL) –Aspectual DSLs (e.g., synchronization)
5
Aspectual DSLs An aspectual DSL specification influences the semantics of other DSL specifications. Implementation of modularly composable DSLs requires a common language implementation providing the necessary infrastructure for the language plug-ins (we will use AspectJ).
6
Advantages Of modularly composable over monolithic DSLs –Reusability –Scalability –Fast feature turnover Have to survive based on their merits
7
Generative Domain Model Problem Space Domain-specific Concepts and Features Configuration Knowledge Illegal feature combination Defaults Construction rules Optimizations Solution Space
8
AOP: separating concerns What are the important concerns we need to separate? What composition mechanisms? How to capture the concerns?
9
Aspect-Oriented Decomposition Approaches Subject-oriented Programming –A subject is a partial or complete object model. –Composition rules Correspondence rules Combination rules
10
Aspect-Oriented Decomposition Approaches Composition Filters –Message filters Input (for incoming messages) Output (for outgoing messages)
11
Aspect-Oriented Decomposition Approaches Demeter/Adaptive Programming –Originally: Better separation between behavior and structure. –Then: better separation between synchronization and the behavior –Then: better separation between data transfer concern and the behavior
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.