ABSE Logo
Atom-Based Software Engineering

Variable Transmission

Variables are set on Atom Instances, and each variable corresponds to an Atom Template parameter.

Any variable from an Atom is automatically available to all branch children. This way, any Atom Instance can work “in context” with its ancestors.

ABSE Variable Transmission

In this example you can see that the cpp_class Atom Instance defines two variables named class_name and instance. These two variables are also available to its child atoms. So, all child Atom Instances here can refer to and use any of these variables.

For instance, the cpp_function Atom Instance would usually generate the corresponding function header as something like:

$class_name::$func_name()

where func_name is locally defined, but class_name was acquired from an ancestor Atom.

With this mechanism you can create branches with local contexts, where each Atom Instance can access all the variables that were defined upwards on the tree. It is therefore implicit that any variable that is defined on the model's root will be available to all Atom Instances in that model.

 

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