External Coupling Overview
External coupling in ADOxx enables the realisation of additional functionality on platform level that is not covered by core of configurable functionality. ADOxx provides the scripting language AdoScript to realise external coupling functionality.
What is AdoScript?
AdoScript is the macro language of ADOxx. It is based on LEO and is build procedural. Through AdoScript the user has access to a rich number of ADOxx functionalities.
AdoScript is a language that allows huge extension possibilities with low programming effort.
- New menu entries
- Integration of new tools
- Realisation of specific model checking
- Realisation of new interfaces
- Additional add-on-programming
How is AdoScript used?
AdoScript can be executed on different ways, so it can be used where it is needed:
As menu entry
For manual execution (e.g. transformation procedures, evaluation scenarios)
If specific actions are executed, an AdoScript can be automatically called. (e.g. a special dialogue replaces the standard dialogue window)
In the Notebook via Programmcall
Similar as for menu entries, but triggered from within the notebook
Automatically over Command Prompt
Trigger during startup of ADOxx and handover of AdoScript through the command prompt
ECHO CC "AdoScript" FREAD file:("batchupd.adoscript") EXECUTE (text)
CC "Application" EXIT | areena -ubatchupd -pbatchupd -dADOxxdb -ssqlserver -e
As a debugging and development facilities to test code snipplets
Integration of AdoScript
AdoScript builds on the so-called "Message Port-Concept" - messages are sent to specific ports and return result messages for further usage and application
AdoScript can be integrated with „External coupling" or „Programm call".
AdoScript Message Port Example
Programmable through scripting APIs
Method-specific development of functionalities is possible through scripting techniques. Function calls/APIs of the platform (realized in C++) are possible through scripting language AdoScript. AdoScript "Messageports"/APIs are categorized according to components:
|Component APIs||UI APIs||Manipulation APIs||Application APIs|
|Messageport Acquisition||Messageport AdoScript||Messageport Core||Messageport Drawing|
|Messageport Modeling||Messageport CoreUI||Messageport DB||Messageport Application|
|Messageport Analysis||Messageport Explorer||Messageport UsrMgt|
About 400 APIs calls are provided through the "Messageports" above.
Documentation of Messageports and AdoScript Call Signatures
AdoScript Messageports and call signatures are documented in the helpfile of the ADOxx Development Toolkit. To start the help file, press "F1" within the ADOxx Development Toolkit.
ADOxx Development Toolkit Help
- Every Command Call stores the result in global variables
- Right after the CC store the required global variables in local variable to avoid overwriting them during the next CC
Tracking the global variables with "debug"
- Use the keyword debug during CC to track the status of variables: "CC "xxx" debug" COMMAND
- Variables are allocated with values, distinguish if you manipulate the variable v1, or the value of the variable (v1)
- Use VAL and STR to convert strings to integer and vice versa
- Use tokcnt to count tokens in a result list
- Use () to get the value of a variable
- Use CM to convert into centimeters
Commands are available to convert between datatypes in AdoScript
|STR val||Converts a value into a string.|
|VAL str||Parses the string and returns that value.|
|CM realVal||Converts a real value in centimetres into a centimetre.|
|PT realVal||Converts a real value in points into a measure value.|
|uistr (val, digits)||Converts a real value in a string.|
|uival (str)||Converts a string value in a real value.|
|CHR intVal||Returns the character of for the character code provided in intVal. Return type is str. For example: CHR 65 = "A".|
|ASC str||Returns the character code for the character passed in str. For example: ASC "A" = 65.|
|INT realVal||Returns the an intVal. The realVal is converted to integer by truncating digits after the decimal point.|