Overview

Working with models

Actifsource is a comprehensive design and code generator tool, covering all aspects of domain-driven software development from domain analysis through to the design models, code generating, testing, refactoring and maintenance.

Actifsource allows you to define your domain-specific software specification.

image5 image5

This software specification is also called domain model, or specific model. The domain model shall be independent from any used technology (i.e. programming language, operating system, etc.).

image6 image6

As the domain model is domain-specific by definition, we need to specify the structure for every domain. This task is done in the so called meta-model.

image7 image7

The meta-model is built upon concepts of the Actifsource core model (aka Meta Meta-Model). Note that the core model is self-describing, i.e., it is the meta-model of itself.

image8 image8

To find an adequate meta-model, you need to analyze your business domain. If you like to create a Service Oriented Architecture (SAO), your meta-model might will contain services. If you like to model state machines, your meta-model will define states, event and transitions.

Note that the Meta-Model is an abstraction of your business domain, and defines the business classes and their relationships.

As we do not know your meta-model in advance, we cannot generate any suitable code for you. This means, that you have to define your own code templates according to the meta-model. Defining code templates is as easy as writing normal code.

image9 image9

Since everything depends on the meta-model you have to start by analyzing your business domain. Once the meta-model is defined, you are able to enter you domain specific software specification accordingly. Also template code is written along the meta-model. From this three models (meta-model, domain model, code template) your code is generated by the Actifsource code generator.

image10 image10

Resource

Every model consists of so called resources. A resource is like an object and the most abstract entity from the Actifsource core model. In fact, every model element is a resource.

Every resource is identified by a globally unique identifier (GUID) which is automatically assigned, if you create a new resource. Therefore changing resource names never affects any relation between resources.

Getting started

To get started with Actifsource, we suggest our tutorials on the Actifsource web site. Please visit www.actifsource.com/tutorials.

image11 image11