Skip to main content

MDA Book in German Language

My first book in German language about MDA (Model Driven Architecture) and VOFI (Visualization of Financial Implications) is now available:

Anwendungsentwicklung mit Model Driven Architecture
– dargestellt anhand vollständiger Finanzpläne
This book is my doctor dissertation from the year 2006 and is now published within the series of Advances in Information Systems and Management Science from Logos Verlag Berlin.

The good thing is that I will offer a free download for the PDF version - many thanks to Logos Verlag which makes this possible! So, if you can read German, you are welcome to download it ;-) For this purpose I'm searching some sponsors. As soon as I get some sponsors I'll put the PDF version somewhere in the internet. So, stay tuned!

If you want to buy it, just order from
Logos Verlag Berlin: ISBN 978-3-8325-1480-8
Or go directly to this order site:
Order MDA VOFI Book from Logos Verlag Berlin

Happy reading!

[updated 01.03.2007]


Anwendungsentwicklung mit Model Driven Architecture
– dargestellt anhand vollständiger Finanzpläne
Die modellgetriebene Anwendungsentwicklung, die von Object Management Group (OMG) als Model Driven Architecture (MDA) standardisiert wurde, nutzt Modelle als Hauptartefakte und zeichnet sich durch hohe Qualität und Produktivität gegenüber quellcodezentrierten Anwendungsentwicklungen aus.

Blasius Lofi Dewanto führt in der vorliegenden Arbeit eine umfassende Untersuchung durch, die die Nutzenpotenziale der MDA für eine anwendernahe und anforderungsgerechte Anwendungsentwicklung betrachtet. Es wird sowohl der Bedarf in der Anwendungsdomäne des Controllinginstrumentes VOFI (Vollständiger Finanzplan) erfasst als auch die Implementierung und Evaluation der Ergebnisse aus Sicht der Entwickler und Endanwender analysiert. Zudem werden die für Entscheider bedeutenden ökonomischen Konsequenzen durch die Verwendung von MDA systematisch aufgeführt.

Aus dem Inhalt

  • MDA: Grundlagen und Wiederverwendungsansätze
  • Investitionscontrolling: VOFI, SAP, Corporate Planner und Tabellenkalkulations-programme
  • mdaVOFI: Modellgetriebenes Konzept für VOFI, Entwicklung der VOFI-Produkt-familie
  • Evaluation: Entscheidersicht mit TCO-VOFI, Entwickler- und Anwendersicht

Application Development with Model Driven Architecture In the Domain of Visualization of Financial Implications
Application development using Model Driven Architecture (MDA), which is standardized by Object Management Group (OMG), uses models as its first class citizen artefacts and allows high quality result in comparison with source code centric application development.

Dr. Dewanto explains
in this book the potential of MDA for a user-oriented application development and explains how user requirements can be easily fullfilled by using MDA. He takes a real-world domain in investment planning with Visualization of Financial Implications (VOFI) and implements this domain step-by-step using the method of MDA. At the end of this book he summarizes the result of his research from user's and developer's perspective to show where the MDA potentials still need to be explored. Last but not least he shows an investment analysis using MDA in software development from a decision maker's view. He emphasizes in what cases it is financially worthwhile to utilize MDA in a small software development team.


  • MDA: Basics and Software Reuse (Reference Modelling, Productline Software Engineering, Architecture and Patterns, Component Based Software Engineering)
  • Investment Planning: VOFI, SAP, Corporate Planner and Spreadsheet Applications
  • mdaVOFI: Model Driven Concept for VOFI, Development of VOFI Product Family
  • Evaluation: decision maker's perspective with TCO-VOFI (Total Cost of Ownership with VOFI), developer's and user's perspective


Popular posts from this blog

Why "Polyglot Programming" or "Do It Yourself Programming Languages" or "Language Oriented Programming" sucks?

Last year we saw the launch of a new Web programming language Dart - Structured Web Programming from Google. A very interesting approach to support web application development. Not so long after Go, Groovy, Ruby, Scala, << name your DSL here >> ; we see Dart. Is it a good thing to have at least one programming language to solve one problem? The answer is, like we already know, it depends. Some important backgrounds you should know about the multi programming language paradigm are following: 1. You can read Martin Fowler article about language oriented programming with language workbenches which enables you to write small programming languages easily. In this article I see everyone writing their small languages, everywhere. In this concept we see DSL (Domain Specific Language) as the future of our programming activities. Source: 2. Neal Ford talked about Polyglot Programming, combining multiple programming language

Software Development Macro and Micro Process

If you think that in year 2012 all companies which produce software and IT divisions in our world have already their optimized software development process, you are wrong. It seems that we - software architects, software developers or whatever your title is - still need to optimize the software development process in many software companies and IT divisions. So what do you do if you enter a software company or IT division and you see following things: 1. There is a perfect project management process to handle all those development of software but it is a pure project management without a context to software development. So basically you only take care of cost, time, budget and quality factors. In the software development you still use the old fashioned waterfall process. 2. From the tooling point of view: you have a project management planning and controlling tool but you are still in the beginning of Wiki (almost no collaboration tool) and you don't use issues tracking sy

Creating Spring Bean dynamically in the Runtime

In my training someone asked me whether it is possible to create an object (a Spring Bean) dynamically so you can choose which implementation you want to have  in the runtime . So at the compile time you don't know what object actually should be created yet. The application should decide what object to be created based on a property file . 1. We create an annotation so we can mark the method which should be able to create the object dynamically: ... package your.package; ... @Retention(RetentionPolicy.RUNTIME) public @interface InjectDynamicObject { } ... 2. Use the new created annotation in your method which should be able to create the object dynamically: ... @Named("customerBo") public class CustomerBoImpl implements CustomerBo { ...     @Override   @InjectDynamicObject   public Customer getDynamicCustomer() {         return this.dynamicCustomer; } ... 3. Write an aspect with Pointcut and Advise which change the ob