ABSE Logo
Atom-Based Software Engineering

The Atom : ABSE's Meta-metamodel

The Atom represents a completely context-free unit. It does not represent anything specific. Instead, you instruct atoms to represent a portion of your logic: An idea, a feature, an object, a relation, a condition, anything. When you do that, you are in fact creating an Atom Template.

The Atom is ABSE's meta-metamodel: It describes how atoms are built and what they can do. The Atom is the smallest unit in an ABSE model.

When you model your application, you'll pick Atom Templates that represent your intent, and instantiate them. These instantiations of Atom Templates are named Atom Instances, and in these you will specify the template's variability: required input parameters and custom code.

The Atom meta-metamodel

You can further extend basic Atom Templates into more elaborate ones through template inheritance. Atom Templates can derive from other templates. Invariably, all Atom Templates will derive from root_default, the only pre-existing Atom Template in ABSE.

The Atom compared to an object

An Atom can also be compared to an object in an object-oriented programming language: The Atom is like the language specification; An Atom Template is like a class declaration; An Atom Instance is like an instance of a specified class; Atom Parameters are like the object's members; Atom Transformation Code is like the class' member functions; Generating code by executing an ABSE model is like running a program.

 

Quick Tour
Technical Details
For the Individual
In the Enterprise

Product Site

Twitter
ABSE & AtomWeaver Community
Development At Heart Blog

Isomeris Site
Technology Portfolio

Isomeris Logo