Transcript MetaEdit+

Domain-Specific Modeling
Languages and Generators
Examples
4.11.2002
Juha-Pekka Tolvanen
MetaCase Consulting
1
Selected samples
 Financial products
– Java
 Notes apps
– Notes definitions, checkings and documentation
 Web-application
– XML, Java, stylesheets
 Voicemenu for micro controller systems
– Assembler-like
 Embedded product
– Java, MIDP
2
Case: Insurance products & eCommerce
 Developing portal for insurances and financial products
– Marketplace and broker
 Need to specify several hundred financial products
 Insurance experts specify visually insurance products and
generate code to the portal
 Basic data structures and engine reflect the architecture
– Capture insurance knowledge in the graphical form
– Reusable component library for data structures and functionality
– Code generators produces running Java (100% of the code
needed)
 Comparison to writing directly Java after first 30 products
= DSVL at least 3 times faster
3
4
5
Case: Notes
 Modeling method for Notes applications
 Apply Notes concepts directly in designs
 Documentation generators according to company
standards for internal use and for customers
6
7
8
Case: Web application
 Web application for e-commerce; product catalogs, events,
press releases, and discussion forums
 Core components and basic functionality available for reuse
and customization needs
 Each customer can specify own data content, behavioral
logic and user interface
 Code generators produce running Java applets, stylesheets
and xml files
 Generation of documents for both internal and external use
9
10
11
Case: VoiceMenu for micro controller app
 VoiceMenu for micro controller based home automation
system
– Remote control for lights, heating, alarms, etc.
 VoiceMenus are programmed straight to the device with
assembler-like language (8bit)
 Modelling language to define overall menu structure and
individual voice prompts
 Code generator produces 100% of menu implementation
 Development time for a feature from a week to a day
12
13
14
Case: Wrist watches product family
 Product family
– Different watch models: Sport, Kid, Traveler, Diver, Luxery etc.
 Common architecture of time-based applications
– Time, Timer, LapTime, WorldTime, StopWatch, Alarm, etc.
 Family-specific language and generators
 New models specified with high-level watch concepts
– Alarms, buttons, displays, icons, states, etc.
 Code generators to produce 100% implementation in Java
from graphical models
15
16
17
Thank you, questions please
Juha-Pekka Tolvanen
MetaCase Consulting
Ylistönmäentie 31
FIN - 40500 Jyväskylä, Finland
Phone +358 14 4451 400, Fax +358 14 4451 405
email: [email protected] http://www.metacase.com
18