loadOBMandCreateAlloy - ontological-behavior-modeling/tester GitHub Wiki
flowchart TD
A((Start)) --> B(Create HashSet)
B --> C(Try Creating ResourceSet,\nCatch File not Found Exception)
C --> D(Load Resource with Dependencies)
D --> E(Try Creating SysMLUtil and SysML Adapter,\nCatch UML Model Error and File Not Found)
E --> F(Wait for Resource to finish loading)
F --> G(Get Named Element)
G --> H{{mainClass == null?}}
H -- yes --> I(Return False)
I --> En((End))
H -- no --> J(Create HashMap propetiesByClass)
J --> K{{mainClass instanceof Class?}}
K -- yes --> L(Get Class in Hierarchy)
L -- classInHierarchy--> M(Create Alloy Signatures)
M --> N{ }
K -- no --> N
N --> O(Create HashMap stepPropertiesBySig)
O --> P(Create all Classes Connected to Main Sig by Field)
P --> Q(Get Class in Hierarchy)
Q --> R(Get all Class Names)
R --> S(Add Classes to stepPropertiesBySig)
S --> T(Add Named Elements to stepPropertiesBySig)
T --> U(Create HashSet inputs)
U --> V(Create HashSet outputs)
V --> W(Process Class Connectors)
W --> X(Process Named Element Connectors)
X --> Y(Add Steps to Alloy)
Y --> Z(Handle No Inputs or Outputs)
Z --> AA(Return True)
AA --> BB((End))