Press 'Delete selected' button in options to delete selected shapes.
Activity markers are selected from "BPMN Activities->Markers" page.
Connections To connect, start dragging mouse from a port and drop into another. Connection type depends on the selection in Connections page.
Properties
Double click on shape, click on line handle to open properties.
The shape will have a green background.
You can show properties on diagram, see Options page.
Selection
Click and drag mouse on diagram to toggle shape and line selection.
You can use Ctrl and Shift keys to add or remove from current selection.
Short ABSL specification
Variable names must start with a type specification, then a name follows:
iCount // this is an integer variable
'i' is for integer types.
'r' is for floating point types.
'b' is for boolean types.
's' is for string types.
'a' is for array types.
'm' is for map types.
Global variables must start with 'g', e.g. giCount
Functions must start with 'f', return type follows it:
fiReturn_zero return 0 fend
There are only 'while', 'if', 'function call', and 'assignment' statements:
fDo_something iCount = 0 while iCount < 100 if iCount == 30 break elseif iCount > 200 break else // Do nothing. iend iCount ++ wend rIgnore_ret = frCall_something (iCount, "Hello!") fend
User defined types starts with 't'. You cannot nest user defined types. User defined types can only be defined at global scope, i.e. not in a function scope:
tPoint2d iMember_var1 rMember_var2 fPoint2dSum oPoint2dOther oPoint2dTmp.iMember_var1 = oPoint2dOther.iMember_var1 + iMember_var1 oPoint2dTmp.rMember_var2 = oPoint2dOther.rMember_var2 + rMember_var2 return oPoint2dTmp fend tend
tThis_is_error fNothing fend iError_member_variable_after_member_function tend
You can load an XML representation by pasting XML below
and clicking 'Load'.
#include <vector>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <stdarg.h>
#include "repast_hpc/SharedNetwork.h"
#include "repast_hpc/TDataSource.h"
#include "repast_hpc/SVDataSet.h"
#include "repast_hpc/SharedContext.h"
#include "repast_hpc/Schedule.h"
#include "repast_hpc/Edge.h"
#include "repast_hpc/Random.h"
#include "repast_hpc/Properties.h"
#include "repast_hpc/Utilities.h"
using namespace std;
static long globObjIds;
typedef repast::ScheduleRunner tRepast_schedule_runner;
typedef repast::Properties tRepast_properties;
struct tRepast_tdatasource_int : public repast::TDataSource<int> {
int fiGet_data ();
int getData () {
fiGet_data ();
}
};
struct tRepast_agent : public repast::Agent {
virtual repast::AgentId& getId () {
return id_;
}
virtual const repast::AgentId& getId () const {
return id_;
}
template<class Archive>
void serialize(Archive& ar, const unsigned int version) {
ar & boost::serialization::base_object<Agent>(*this);
ar & id_;
}
repast::AgentId id_;
};
struct {
double frSqrt(const double& v) {return sqrt (v);}
} lMath;
struct {
void fPrintf (const char* format, ...) {
va_list args;
va_start (args, format);
vprintf (format, args);
va_end (args);
}
} lIO;
struct {
// Interface for global settings
void fSet_variable (const string& varName, const string& varVal);
double frGet_variable (const string& varName);
long fiGet_variable (const string& varName);
string fsGet_variable (const string& varName);
bool fbGet_variable (const string& varName);
// Interface for event scheduler
long fiCreate_schedule ();
void fDestroy_schedule (const long& schedId);
long fiSchedule_event (const long& schedId, const double& at, void (*eventFunction)(void));
long fiSchedule_event (const long& schedId, const double& start, const double& interval, void (*eventFunction)(void));
void fSchedule_end_event (const long& schedId, void (*eventFunction)(void));
void fSchedule_stop (const long& schedId, const double& at);
double frSchedule_get_current_tick (const long& schedId);
void fSchedule_stop (const long& schedId);
void fSchedule_run (const long& schedId);
void fAbmn_init_settings ();
} lABS;
struct {
long fiGet_repastprocess_instance ();
} lRepast;
long fiMain (vector<string>&);
int main (int argc, char* argv[]) {
vector<string> args;
while (argc --) {
args.push_back (argv[args.size()]);
}
return fiMain (args);
}