Domain-Driven Development

Chairs:
Krzysztof Czarnecki, University of Waterloo, ddd@oopsla.acm.org
John Vlissides, IBM T. J. Watson Research Center, ddd@oopsla.acm.org

Object-orientation is recognized as an important advance in software technology, particularly in modeling complex phenomena more easily than its predecessors. But the progress in reusability, maintainability, reliability, and even expressiveness has fallen short of expectations. As units of reuse, objects have proven too small. Frameworks seem too large, and their development remains an art. Components offer reuse, but the more functional the component, the larger and less reusable it becomes. And patterns, while intrinsically reusable, are not an implementation medium. The time has come for a new one.

"Domain-Driven Development" covers a range of emerging technologies, including Model-Driven Architecture, Product-Line Engineering, Aspect-Oriented Modeling, Generative Programming, and Intentional Programming. All of these technologies focus on aligning code and problem domain more closely. Successful domain-driven development elevates the expression of design and implementation, removes extraneous detail, insulates software from technology drift, helps balance customization and genericity, and allows higher levels of automation.

This track features six papers, one panel, three workshops, four posters and seven tutorials. For listing of all events on Domain-Driven Development, please refer to Domain-Driven Development Track.

Sunday, 26 October

8:30-17:00 Full day

Tutorial 18: An Introduction to Software Product Lines
Workshop 9: The 3rd OOPSLA Workshop on Domain-Specific Modeling

8:30-12:00 Morning

Tutorial 3: Domain Analysis for Product-Line Architectures

Monday, 27 October

8:30-17:00 Full day

Workshop 1: Reuse in Constrained Environments
Workshop 3: Generative techniques in the context of MDA

13:30-17:00 Afternoon

Tutorial 32: Domain-Driven Design
Tutorial 33: From Component Reuse to Asset-Based Software Engineering

Tuesday, 28 October

12:00-12:45

Demonstration 9: The Generic Modeling Environment

13:30-17:00 Afternoon

Tutorial 21: Feature Oriented Programming and Product-Lines
Tutorial 43 Program Generation: Concepts and Techniques

15:00-15:45

Demonstration 12: Generative Model Transformer

16:00-16:45

Demonstration 14 MetaEdit+: Defining and using domain-specific modeling languages and code generators
Demonstration 26: Time Conscious Objects

Wednesday, 29 October

10:30-12:00

Domain-Driven Development: Vision

12:00-12:45

Demonstration 24 Variant Management for Embedded Software Product Lines with Pure::Consul and AspectC++

13:30-15:00

Domain-Driven Development: Technology

15:30-17:00

Panel Model Driven Architecture: How far have we come, how far can we go?

16:00-16:45

Demonstration 9: The Generic Modeling Environment

Thursday, 30 October

8:30-12:00 Morning

Tutorial 56: Model-Driven Architecture

11:00-11:45

Demonstration 14 MetaEdit+: Defining and using domain-specific modeling languages and code generators

12:00-12:45

Demonstration 12: Generative Model Transformer

13:00-13:45

Demonstration 24 Variant Management for Embedded Software Product Lines with Pure::Consul and AspectC++
Demonstration 26: Time Conscious Objects