OOPSLA '04

Program
Technical Program
  Invited Speakers
  Technical Papers
  Onward!
  Panels
  Practitioner Reports
  Tutorials
Workshops
DesignFest
Educators' Symposium
Demonstrations
Posters
Doctoral Symposium
Exhibits
Student Research Comp.
FlashBoF
 
Turing Lecture
 
Social Events
 
Week at a Glance
 
Final Program (1.5M .pdf)

Find in Program
 

Page
Printer-friendly

Basket
view, help

"Meta-Programming for the Real World"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
 


 : All Demonstrations : Wednesday : Wednesday Demonstrations

Meta-Programming for the Real World

Courtyard, Demo room 1
Wednesday, 10:30, 45 minutes
 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

This event is also being given Thursday at 12:30.

Matthew Fowler, New Technology / enterprise Ltd

Demonstration number: 8

JeeWiz is a commercial tool for model-driven development of enterprise-level systems. It can describe and generate any technology, and has been used for system-level generation (multi-tier J2EE, .NET, SOA systems) and model transformations (XMI to WSDL/XML Schema, and back).

The most difficult problem we have confronted is the complexity of mapping from rich, high-level logical models to the detailed artifacts required in real-life systems. JeeWiz provides reusable architecture and technology layers, local flexibility and cross-tier patterns, which makes JeeWiz meta-programming particularly complex; each major version of JeeWiz has been driven by the need to manage this complexity.

This process has resulted in a number of new elements - our "sub-atomic particles" of model-driven development - to allow us to partition the technology, domain and skill spaces into independently-changeable areas. These are then reassembled using a synergistic combination of meta-models, patterns, a framework for generation, and large-scale build techniques. The assembly process applies classic O-O techniques - inheritance, polymorphism, logical/physical management, encapsulation and patterns - to improve the effectiveness of JeeWiz meta-programming.

The demonstration will show

  • the process of specifying a model based on a meta-model
  • the transformations to build a real system
  • the process of meta-program maintenance, showing how the new elements are developed in isolation and then combined.