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))