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.
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.).
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.
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.
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.
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.
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.