These advantages have driven many organizations to seriously consider (and use) modeling tools for the functional modeling of individual subsystems. After the completion of the functional modeling, however, the modeling tools use custom code generators that materialize the requested functionality in a specific implementation language (e.g. C). To use this functionality, the container's Provided Interfaces need to be accessible from other APLCs (and the Required Interfaces of other APLCs must be callable).
For these calls to take place, information needs to be exchanged amongst the code generated for the ``communicating'' APLCs. Unfortunately, the generated code is, by definition, quite different amongst different tools; each modeling tool has a very specific way of generating data structures and operational primitives, and mapping these data structures between them is a tedious and very error prone process - since it has to deal with many low level details.
By using ASN.1 as the center of a ``star formation'' in this communication process, the problem is reduced to mapping the data structures of the exchanged messages between those generated by the modeling tools and those generated by an ASN.1 compiler2.2.
This process lends itself to a large degree of automation - and this is the task performed by the Data Modeling Toolchain: the automated (and error-proof) generation of the necessary mappings.