background preloader

Domain Specific Modeling

Facebook Twitter

ABSE - Atom-Based Software Engineering. AtomWeaver - Easy Model-Driven Software Development. JetBrains :: Meta Programming System — Language Oriented Programming environment and DSL creation tool. DSL Engineering. Actifsource - Actifsource. MetaCase - Domain-Specific Modeling with MetaEdit+ Actifsource: The DCI Architecture. In his new book "Lean Architecture: for Agile Software Development" James O. Coplien shows up with a new programming paradigm: The DCI Architecture. Before reading this blog I suggest to have a look a the DCI vision document: Let me try to explain DCI in a nutshell.

The idea of DCI is to separate data from business code for better readability while the business code is directly expressed as use case. DCI stands for Data, Context and Interaction. DataData means POD (plain old data) objects without any business relevant methods. ContextA context is a place to retrieve and/or setup a necessary data. InteractionAn interaction is a complex function applied on the data of the context. Implementing DCIImplementing DCI is not an easy task since traits are needed. The modified DCI ArchitectureMy goal is to realize the DCI architecture using actifsource. I decided to keep the DCI idea but modify the model a little bit.