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