Input/Output

Database Loader

io.load_db() ModelDatabase

Loads a database from file (Excel).

Parameters

db_file (BinaryIO) – the database file object

Returns

the model database

Return type

ModelDatabase

Database Model

pydantic model spacenet.io.ModelDatabase[source]

Database stores models for nodes, edges, resources, demand models, and elements.

Show JSON schema
{
   "title": "ModelDatabase",
   "description": "Database stores models for nodes, edges, resources, demand models, and elements.",
   "type": "object",
   "properties": {
      "nodes": {
         "title": "Nodes",
         "description": "List of nodes",
         "default": [],
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/LagrangeNode"
               },
               {
                  "$ref": "#/definitions/OrbitalNode"
               },
               {
                  "$ref": "#/definitions/SurfaceNode"
               }
            ]
         }
      },
      "edges": {
         "title": "Edges",
         "description": "List of edges",
         "default": [],
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/FlightEdge"
               },
               {
                  "$ref": "#/definitions/SpaceEdge"
               },
               {
                  "$ref": "#/definitions/SurfaceEdge"
               }
            ]
         }
      },
      "resources": {
         "title": "Resources",
         "description": "List of resources",
         "default": [],
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/ContinuousResource"
               },
               {
                  "$ref": "#/definitions/DiscreteResource"
               }
            ]
         }
      },
      "demandModels": {
         "title": "Demandmodels",
         "description": "List of demand models",
         "default": [],
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/TimedImpulseDemandModel"
               },
               {
                  "$ref": "#/definitions/RatedDemandModel"
               },
               {
                  "$ref": "#/definitions/SparingByMassDemandModel"
               }
            ]
         }
      },
      "elements": {
         "title": "Elements",
         "description": "List of elements",
         "default": [],
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/Element"
               },
               {
                  "$ref": "#/definitions/ResourceContainer"
               },
               {
                  "$ref": "#/definitions/ElementCarrier"
               },
               {
                  "$ref": "#/definitions/SurfaceVehicle"
               },
               {
                  "$ref": "#/definitions/PropulsiveVehicle"
               },
               {
                  "$ref": "#/definitions/HumanAgent"
               },
               {
                  "$ref": "#/definitions/RoboticAgent"
               }
            ]
         }
      }
   },
   "definitions": {
      "InstElementUUID": {
         "title": "InstElementUUID",
         "description": "Instantiated element referenced by unique identifier.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            }
         }
      },
      "Body": {
         "title": "Body",
         "description": "An enumeration of planetary bodies.",
         "enum": [
            "Sun",
            "Earth",
            "Moon",
            "Mars"
         ],
         "type": "string"
      },
      "LagrangeNode": {
         "title": "LagrangeNode",
         "description": "Stable location at a Lagrange point between two bodies.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Location name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description of this location.",
               "type": "string"
            },
            "contents": {
               "title": "Contents",
               "description": "List of elements (by unique identifiers) located at this location.",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementUUID"
               }
            },
            "type": {
               "title": "Type",
               "description": "Node type",
               "default": "Lagrange Node",
               "enum": [
                  "Lagrange Node"
               ],
               "type": "string"
            },
            "body1": {
               "title": "Body 1",
               "description": "Primary planetary body",
               "default": "Earth",
               "allOf": [
                  {
                     "$ref": "#/definitions/Body"
                  }
               ]
            },
            "body2": {
               "title": "Body 2",
               "description": "Secondary Lagrange point body",
               "allOf": [
                  {
                     "$ref": "#/definitions/Body"
                  }
               ]
            },
            "lpNumber": {
               "title": "LP Number",
               "description": "Lagrange point number (1 to 5)",
               "minimum": 1,
               "maximum": 5,
               "type": "integer"
            }
         },
         "required": [
            "name",
            "body2",
            "lpNumber"
         ]
      },
      "OrbitalNode": {
         "title": "OrbitalNode",
         "description": "Stable location orbiting a planetary body.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Location name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description of this location.",
               "type": "string"
            },
            "contents": {
               "title": "Contents",
               "description": "List of elements (by unique identifiers) located at this location.",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementUUID"
               }
            },
            "type": {
               "title": "Type",
               "description": "Node type",
               "default": "Orbital Node",
               "enum": [
                  "Orbital Node"
               ],
               "type": "string"
            },
            "body1": {
               "title": "Body 1",
               "description": "Primary planetary body",
               "default": "Earth",
               "allOf": [
                  {
                     "$ref": "#/definitions/Body"
                  }
               ]
            },
            "apoapsis": {
               "title": "Apoapsis",
               "description": "Major orbit radius (m)",
               "minimum": 0,
               "type": "number"
            },
            "periapsis": {
               "title": "Periapsis",
               "description": "Minor orbit radius (m)",
               "minimum": 0,
               "type": "number"
            },
            "inclination": {
               "title": "Inclination",
               "description": "Orbit inclination (decimal degrees, 0 to 180 inclusive)",
               "minimum": 0,
               "maximum": 180,
               "type": "number"
            }
         },
         "required": [
            "name",
            "apoapsis",
            "periapsis",
            "inclination"
         ]
      },
      "SurfaceNode": {
         "title": "SurfaceNode",
         "description": "Stable location on the surface of a planetary body.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Location name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description of this location.",
               "type": "string"
            },
            "contents": {
               "title": "Contents",
               "description": "List of elements (by unique identifiers) located at this location.",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementUUID"
               }
            },
            "type": {
               "title": "Type",
               "description": "Node type",
               "default": "Surface Node",
               "enum": [
                  "Surface Node"
               ],
               "type": "string"
            },
            "body1": {
               "title": "Body 1",
               "description": "Primary planetary body",
               "default": "Earth",
               "allOf": [
                  {
                     "$ref": "#/definitions/Body"
                  }
               ]
            },
            "latitude": {
               "title": "Latitude",
               "description": "Latitude (decimal degrees, -90 to 90 inclusive)",
               "minimum": -90,
               "maximum": 90,
               "type": "number"
            },
            "longitude": {
               "title": "Longitude",
               "description": "Longitude (decimal degrees, -180 to 180 inclusive)",
               "minimum": -180,
               "maximum": 180,
               "type": "number"
            }
         },
         "required": [
            "name",
            "latitude",
            "longitude"
         ]
      },
      "FlightEdge": {
         "title": "FlightEdge",
         "description": "A trajectory between two nodes that is known to be feasible for a given\ncargo (mass) and crew capacity under a specified flight architecture.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Location name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description of this location.",
               "type": "string"
            },
            "contents": {
               "title": "Contents",
               "description": "List of elements (by unique identifiers) located at this location.",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementUUID"
               }
            },
            "type": {
               "title": "Type",
               "description": "Edge type",
               "default": "Flight Edge",
               "enum": [
                  "Flight Edge"
               ],
               "type": "string"
            },
            "origin": {
               "title": "Origin Node",
               "description": "Origin node unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "destination": {
               "title": "Destination Node",
               "description": "Destination node unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "duration": {
               "title": "duration",
               "description": "Duration of traversal between nodes",
               "type": "number",
               "format": "time-delta"
            },
            "maxCrew": {
               "title": "Max Crew",
               "description": "Maximum number of crew to be transported",
               "minimum": 0,
               "type": "integer"
            },
            "maxCargo": {
               "title": "Max Cargo",
               "description": "Maximum cargo (kg) to be transported",
               "minimum": 0,
               "type": "number"
            }
         },
         "required": [
            "name",
            "origin",
            "destination",
            "duration",
            "maxCrew",
            "maxCargo"
         ]
      },
      "Burn": {
         "title": "Burn",
         "description": "Impulsive propulsive burn triggered at a designated time during a space\ntransport to generate a target change in velocity (delta-V).",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "time": {
               "title": "Time",
               "description": "Time relative to the start of the space transport",
               "type": "number",
               "format": "time-delta"
            },
            "deltaV": {
               "title": "Deltav",
               "description": "Change in velocity (m/s) to be achieved",
               "minimum": 0,
               "type": "number"
            }
         },
         "required": [
            "time",
            "deltaV"
         ]
      },
      "SpaceEdge": {
         "title": "SpaceEdge",
         "description": "An in-space trajectory between two nodes using a propulsive burn sequence.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Location name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description of this location.",
               "type": "string"
            },
            "contents": {
               "title": "Contents",
               "description": "List of elements (by unique identifiers) located at this location.",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementUUID"
               }
            },
            "type": {
               "title": "Type",
               "description": "Edge type",
               "default": "Space Edge",
               "enum": [
                  "Space Edge"
               ],
               "type": "string"
            },
            "origin": {
               "title": "Origin Node",
               "description": "Origin node unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "destination": {
               "title": "Destination Node",
               "description": "Destination node unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "duration": {
               "title": "Duration",
               "description": "Duration of space edge",
               "type": "number",
               "format": "time-delta"
            },
            "burns": {
               "title": "Burns",
               "description": "List of propulsive burns required to traverse the edge",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Burn"
               }
            }
         },
         "required": [
            "name",
            "origin",
            "destination",
            "duration"
         ]
      },
      "SurfaceEdge": {
         "title": "SurfaceEdge",
         "description": "Surface trajectory between two surface nodes.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Location name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description of this location.",
               "type": "string"
            },
            "contents": {
               "title": "Contents",
               "description": "List of elements (by unique identifiers) located at this location.",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementUUID"
               }
            },
            "type": {
               "title": "Type",
               "description": "Edge type",
               "default": "Surface Edge",
               "enum": [
                  "Surface Edge"
               ],
               "type": "string"
            },
            "origin": {
               "title": "Origin Node",
               "description": "Origin node unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "destination": {
               "title": "Destination Node",
               "description": "Destination node unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "distance": {
               "title": "Distance",
               "description": "Distance (m) of surface trajectory",
               "minimum": 0,
               "type": "number"
            }
         },
         "required": [
            "name",
            "origin",
            "destination",
            "distance"
         ]
      },
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "ContinuousResource": {
         "title": "ContinuousResource",
         "description": "A resource instantiated in continuous (floating point) amounts.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Resource name",
               "type": "string"
            },
            "classOfSupply": {
               "title": "Class of Supply",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "packingFactor": {
               "title": "Packing Factor",
               "description": "Mass (kg) of packing material (generic COS 5) required per unit",
               "minimum": 0,
               "type": "number"
            },
            "units": {
               "title": "Units",
               "description": "Unit resource label (default: kg)",
               "default": "kg",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "unitMass": {
               "title": "Unit Mass",
               "description": "Mass (kg) of 1.0 units",
               "exclusiveMinimum": 0,
               "type": "number"
            },
            "unitVolume": {
               "title": "Unit Volume",
               "description": "Volume (m^3) of 1.0 units",
               "minimum": 0,
               "type": "number"
            },
            "type": {
               "title": "Type",
               "description": "Resource type",
               "default": "Continuous",
               "enum": [
                  "Continuous"
               ],
               "type": "string"
            }
         },
         "required": [
            "name",
            "classOfSupply",
            "environment",
            "packingFactor",
            "unitMass",
            "unitVolume"
         ]
      },
      "DiscreteResource": {
         "title": "DiscreteResource",
         "description": "A resource instantiated in discrete (integer) amounts.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Resource name",
               "type": "string"
            },
            "classOfSupply": {
               "title": "Class of Supply",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "packingFactor": {
               "title": "Packing Factor",
               "description": "Mass (kg) of packing material (generic COS 5) required per unit",
               "minimum": 0,
               "type": "number"
            },
            "units": {
               "title": "Units",
               "description": "Unit resource label (default: kg)",
               "default": "kg",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "unitMass": {
               "title": "Unit Mass",
               "description": "Mass (kg) of 1.0 units",
               "exclusiveMinimum": 0,
               "type": "number"
            },
            "unitVolume": {
               "title": "Unit Volume",
               "description": "Volume (m^3) of 1.0 units",
               "minimum": 0,
               "type": "number"
            },
            "type": {
               "title": "Type",
               "description": "Resource type",
               "default": "Discrete",
               "enum": [
                  "Discrete"
               ],
               "type": "string"
            }
         },
         "required": [
            "name",
            "classOfSupply",
            "environment",
            "packingFactor",
            "unitMass",
            "unitVolume"
         ]
      },
      "ResourceAmount": {
         "title": "ResourceAmount",
         "description": "A specified amount of a resource.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource UUID",
               "description": "Resource unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (units)",
               "type": "number"
            }
         },
         "required": [
            "resource",
            "amount"
         ]
      },
      "GenericResourceAmount": {
         "title": "GenericResourceAmount",
         "description": "A specified amount of a generic resource.",
         "type": "object",
         "properties": {
            "classOfSupply": {
               "title": "Class of Suppoly",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (kg)",
               "type": "number"
            }
         },
         "required": [
            "classOfSupply",
            "environment",
            "amount"
         ]
      },
      "TimedImpulseDemandModel": {
         "title": "TimedImpulseDemandModel",
         "description": "Demand model that generates an impulsive demand for resources.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "Demand model type",
               "default": "Timed Impulse",
               "enum": [
                  "Timed Impulse"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "demands": {
               "title": "Demands",
               "description": "List of resource amounts to be demanded",
               "type": "array",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/definitions/ResourceAmount"
                     },
                     {
                        "$ref": "#/definitions/GenericResourceAmount"
                     }
                  ]
               }
            }
         },
         "required": [
            "name",
            "demands"
         ]
      },
      "ResourceAmountRate": {
         "title": "ResourceAmountRate",
         "description": "A specified amount of a resource type.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource UUID",
               "description": "Resource unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "rate": {
               "title": "Rate",
               "description": "Time-rate of resource (units/day)",
               "type": "number"
            }
         },
         "required": [
            "resource",
            "rate"
         ]
      },
      "GenericResourceAmountRate": {
         "title": "GenericResourceAmountRate",
         "description": "A specified amount of a generic resource.",
         "type": "object",
         "properties": {
            "classOfSupply": {
               "title": "Class of Suppoly",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "rate": {
               "title": "Rate",
               "description": "Time-rate of resource (kg/day)",
               "type": "number"
            }
         },
         "required": [
            "classOfSupply",
            "environment",
            "rate"
         ]
      },
      "RatedDemandModel": {
         "title": "RatedDemandModel",
         "description": "Demand model that generates a constant time rate demand for resources.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "Demand model type",
               "default": "Rated",
               "enum": [
                  "Rated"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "demands": {
               "title": "Demands",
               "description": "List of resource amount rates to be demanded",
               "type": "array",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/definitions/ResourceAmountRate"
                     },
                     {
                        "$ref": "#/definitions/GenericResourceAmountRate"
                     }
                  ]
               }
            }
         },
         "required": [
            "name",
            "demands"
         ]
      },
      "SparingByMassDemandModel": {
         "title": "SparingByMassDemandModel",
         "description": "Element demand model that generates demands for spares based on mass fraction.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "Demand model type",
               "default": "Sparing By Mass",
               "enum": [
                  "Sparing By Mass"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "unpressurizedSparesRate": {
               "title": "Unpressurized Spares Rate",
               "description": "fraction of an element mass demanded per year as unpressurized spares (generic COS 4)",
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            },
            "pressurizedSparesRate": {
               "title": "Pressurized Spares Rate",
               "description": "fraction of an element mass demanded per year as pressurized spares (generic COS 4)",
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            },
            "partsListEnabled": {
               "title": "Parts List Enabled",
               "description": "True, if the element part list identifies specific (non-generic) demands",
               "type": "boolean"
            }
         },
         "required": [
            "name",
            "unpressurizedSparesRate",
            "pressurizedSparesRate",
            "partsListEnabled"
         ]
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "Part": {
         "title": "Part",
         "description": "Piece part of an element with attributes to describe failure and/or maintenance.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource",
               "description": "Unique identifier of resource",
               "type": "string",
               "format": "uuid"
            },
            "meanTimeToFailure": {
               "title": "Meantimetofailure",
               "description": "Mean operating time to failure.",
               "type": "number",
               "format": "time-delta"
            },
            "meanTimeToRepair": {
               "title": "Meantimetorepair",
               "description": "Mean crew time to repair.",
               "type": "number",
               "format": "time-delta"
            },
            "massToRepair": {
               "title": "Masstorepair",
               "description": "Mass (kg, generic COS 4) required to perform a repair.",
               "minimum": 0,
               "type": "number"
            },
            "quantity": {
               "title": "Quantity",
               "description": "Quantity of this part.",
               "default": 1,
               "minimum": 1,
               "type": "number"
            },
            "dutyCycle": {
               "title": "Dutycycle",
               "description": "Fraction of time this part is in use.",
               "default": 1,
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "resource"
         ]
      },
      "Element": {
         "title": "Element",
         "description": "Generic entity that persists over time.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Element name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "Element type",
               "default": "Element",
               "enum": [
                  "Element"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "classOfSupply": {
               "title": "Class of Supply",
               "description": "Class of supply",
               "default": 0,
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "accommodationMass": {
               "title": "Accommodation Mass",
               "description": "Amount of COS 5 (kg) required for stowage.",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "mass": {
               "title": "Mass",
               "description": "Mass (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "volume": {
               "title": "Volume",
               "description": "Volume (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "states": {
               "title": "States",
               "description": "List of operational states",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/State"
               }
            },
            "currentStateIndex": {
               "title": "Current State",
               "description": "Index of the current operational state",
               "minimum": -1,
               "type": "integer"
            },
            "parts": {
               "title": "Parts",
               "description": "List of constituent parts",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Part"
               }
            },
            "icon": {
               "title": "Icon",
               "type": "string"
            }
         },
         "required": [
            "name"
         ]
      },
      "ResourceContainer": {
         "title": "ResourceContainer",
         "description": "Container for resources.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Element name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "Element type",
               "default": "Resource Container",
               "enum": [
                  "Resource Container"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "classOfSupply": {
               "title": "Class of Supply",
               "description": "Class of supply",
               "default": 0,
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "accommodationMass": {
               "title": "Accommodation Mass",
               "description": "Amount of COS 5 (kg) required for stowage.",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "mass": {
               "title": "Mass",
               "description": "Mass (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "volume": {
               "title": "Volume",
               "description": "Volume (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "states": {
               "title": "States",
               "description": "List of operational states",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/State"
               }
            },
            "currentStateIndex": {
               "title": "Current State",
               "description": "Index of the current operational state",
               "minimum": -1,
               "type": "integer"
            },
            "parts": {
               "title": "Parts",
               "description": "List of constituent parts",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Part"
               }
            },
            "icon": {
               "title": "Icon",
               "type": "string"
            },
            "maxCargoMass": {
               "title": "Max Cargo Mass",
               "description": "Cargo mass capacity constraint (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "maxCargoVolume": {
               "title": "Maximum Cargo Volume",
               "description": "Cargo volume capacity constraint (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "cargoEnvironment": {
               "title": "Cargo Environment",
               "description": "Cargo stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "contents": {
               "title": "Resource Amount",
               "description": "List of contained resource amounts",
               "default": [],
               "type": "array",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/definitions/ResourceAmount"
                     },
                     {
                        "$ref": "#/definitions/GenericResourceAmount"
                     }
                  ]
               }
            }
         },
         "required": [
            "name"
         ]
      },
      "ElementCarrier": {
         "title": "ElementCarrier",
         "description": "Carrier of other elements.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Element name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "Element type",
               "default": "Element Carrier",
               "enum": [
                  "Element Carrier"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "classOfSupply": {
               "title": "Class of Supply",
               "description": "Class of supply",
               "default": 0,
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "accommodationMass": {
               "title": "Accommodation Mass",
               "description": "Amount of COS 5 (kg) required for stowage.",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "mass": {
               "title": "Mass",
               "description": "Mass (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "volume": {
               "title": "Volume",
               "description": "Volume (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "states": {
               "title": "States",
               "description": "List of operational states",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/State"
               }
            },
            "currentStateIndex": {
               "title": "Current State",
               "description": "Index of the current operational state",
               "minimum": -1,
               "type": "integer"
            },
            "parts": {
               "title": "Parts",
               "description": "List of constituent parts",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Part"
               }
            },
            "icon": {
               "title": "Icon",
               "type": "string"
            },
            "maxCargoMass": {
               "title": "Max Cargo Mass",
               "description": "Cargo mass capacity constraint (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "maxCargoVolume": {
               "title": "Maximum Cargo Volume",
               "description": "Cargo volume capacity constraint (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "cargoEnvironment": {
               "title": "Cargo Environment",
               "description": "Cargo stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "contents": {
               "title": "Contents",
               "description": "List of elements (by unique identifiers) inside the carrier",
               "default": [],
               "type": "array",
               "items": {
                  "type": "string",
                  "format": "uuid"
               }
            },
            "maxCrew": {
               "title": "Maximum Crew Count",
               "description": "Maximum number of human agents (crew)",
               "minimum": 0,
               "type": "integer"
            }
         },
         "required": [
            "name",
            "maxCrew"
         ]
      },
      "SurfaceVehicle": {
         "title": "SurfaceVehicle",
         "description": "Surface vehicle that can traverse surface edges.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Element name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "the element's type",
               "default": "Surface Vehicle",
               "enum": [
                  "Surface Vehicle"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "classOfSupply": {
               "title": "Class of Supply",
               "description": "Class of supply",
               "default": 0,
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "accommodationMass": {
               "title": "Accommodation Mass",
               "description": "Amount of COS 5 (kg) required for stowage.",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "mass": {
               "title": "Mass",
               "description": "Mass (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "volume": {
               "title": "Volume",
               "description": "Volume (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "states": {
               "title": "States",
               "description": "List of operational states",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/State"
               }
            },
            "currentStateIndex": {
               "title": "Current State",
               "description": "Index of the current operational state",
               "minimum": -1,
               "type": "integer"
            },
            "parts": {
               "title": "Parts",
               "description": "List of constituent parts",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Part"
               }
            },
            "icon": {
               "title": "Icon",
               "type": "string"
            },
            "maxCargoMass": {
               "title": "Max Cargo Mass",
               "description": "Cargo mass capacity constraint (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "maxCargoVolume": {
               "title": "Maximum Cargo Volume",
               "description": "Cargo volume capacity constraint (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "cargoEnvironment": {
               "title": "Cargo Environment",
               "description": "Cargo stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "contents": {
               "title": "Contents",
               "description": "List of elements (by unique identifiers) inside the carrier",
               "default": [],
               "type": "array",
               "items": {
                  "type": "string",
                  "format": "uuid"
               }
            },
            "maxCrew": {
               "title": "Maximum Crew Count",
               "description": "Maximum number of human agents (crew)",
               "minimum": 0,
               "type": "integer"
            },
            "maxSpeed": {
               "title": "Maximum Speed",
               "description": "Maximum speed (km/hr)",
               "minimum": 0,
               "type": "number"
            },
            "maxFuel": {
               "title": "Maximum Fuel",
               "description": "Maximum fuel amount (units)",
               "minimum": 0,
               "type": "number"
            },
            "fuel": {
               "title": "Fuel",
               "description": "Type and amount of fuel",
               "anyOf": [
                  {
                     "$ref": "#/definitions/ResourceAmount"
                  },
                  {
                     "$ref": "#/definitions/GenericResourceAmount"
                  }
               ]
            }
         },
         "required": [
            "name",
            "maxCrew",
            "maxSpeed",
            "maxFuel",
            "fuel"
         ]
      },
      "PropulsiveVehicle": {
         "title": "PropulsiveVehicle",
         "description": "Space vehicle with impulsive propulsion that can traverse space edges.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Element name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "Element type",
               "default": "Propulsive Vehicle",
               "enum": [
                  "Propulsive Vehicle"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "classOfSupply": {
               "title": "Class of Supply",
               "description": "Class of supply",
               "default": 0,
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "accommodationMass": {
               "title": "Accommodation Mass",
               "description": "Amount of COS 5 (kg) required for stowage.",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "mass": {
               "title": "Mass",
               "description": "Mass (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "volume": {
               "title": "Volume",
               "description": "Volume (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "states": {
               "title": "States",
               "description": "List of operational states",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/State"
               }
            },
            "currentStateIndex": {
               "title": "Current State",
               "description": "Index of the current operational state",
               "minimum": -1,
               "type": "integer"
            },
            "parts": {
               "title": "Parts",
               "description": "List of constituent parts",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Part"
               }
            },
            "icon": {
               "title": "Icon",
               "type": "string"
            },
            "maxCargoMass": {
               "title": "Max Cargo Mass",
               "description": "Cargo mass capacity constraint (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "maxCargoVolume": {
               "title": "Maximum Cargo Volume",
               "description": "Cargo volume capacity constraint (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "cargoEnvironment": {
               "title": "Cargo Environment",
               "description": "Cargo stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "contents": {
               "title": "Contents",
               "description": "List of elements (by unique identifiers) inside the carrier",
               "default": [],
               "type": "array",
               "items": {
                  "type": "string",
                  "format": "uuid"
               }
            },
            "maxCrew": {
               "title": "Maximum Crew Count",
               "description": "Maximum number of human agents (crew)",
               "minimum": 0,
               "type": "integer"
            },
            "isp": {
               "title": "Specific Impulse",
               "description": "Specific impulse (s)",
               "minimum": 0,
               "type": "number"
            },
            "maxFuel": {
               "title": "Maximum Fuel",
               "description": "Maximum propellant amount (units)",
               "minimum": 0,
               "type": "number"
            },
            "fuel": {
               "title": "Fuel",
               "description": "Type and amount of propellant",
               "anyOf": [
                  {
                     "$ref": "#/definitions/ResourceAmount"
                  },
                  {
                     "$ref": "#/definitions/GenericResourceAmount"
                  }
               ]
            }
         },
         "required": [
            "name",
            "maxCrew",
            "isp",
            "maxFuel",
            "fuel"
         ]
      },
      "HumanAgent": {
         "title": "HumanAgent",
         "description": "Human agent, i.e., a crew member.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Element name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "Element type",
               "default": "Human Agent",
               "enum": [
                  "Human Agent"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "classOfSupply": {
               "title": "Class of Supply",
               "description": "Class of supply",
               "default": 0,
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "accommodationMass": {
               "title": "Accommodation Mass",
               "description": "Amount of COS 5 (kg) required for stowage.",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "mass": {
               "title": "Mass",
               "description": "Mass (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "volume": {
               "title": "Volume",
               "description": "Volume (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "states": {
               "title": "States",
               "description": "List of operational states",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/State"
               }
            },
            "currentStateIndex": {
               "title": "Current State",
               "description": "Index of the current operational state",
               "minimum": -1,
               "type": "integer"
            },
            "parts": {
               "title": "Parts",
               "description": "List of constituent parts",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Part"
               }
            },
            "icon": {
               "title": "Icon",
               "type": "string"
            },
            "activeTimeFraction": {
               "title": "Active Time Fraction",
               "description": "fraction time an agent is available (0 to 1 inclusive)",
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "name",
            "activeTimeFraction"
         ]
      },
      "RoboticAgent": {
         "title": "RoboticAgent",
         "description": "Robotic agent.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "Element name",
               "type": "string"
            },
            "type": {
               "title": "Type",
               "description": "Element type",
               "default": "Robotic Agent",
               "enum": [
                  "Robotic Agent"
               ],
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "classOfSupply": {
               "title": "Class of Supply",
               "description": "Class of supply",
               "default": 0,
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "default": "Unpressurized",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "accommodationMass": {
               "title": "Accommodation Mass",
               "description": "Amount of COS 5 (kg) required for stowage.",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "mass": {
               "title": "Mass",
               "description": "Mass (kg)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "volume": {
               "title": "Volume",
               "description": "Volume (m^3)",
               "default": 0,
               "minimum": 0,
               "type": "number"
            },
            "states": {
               "title": "States",
               "description": "List of operational states",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/State"
               }
            },
            "currentStateIndex": {
               "title": "Current State",
               "description": "Index of the current operational state",
               "minimum": -1,
               "type": "integer"
            },
            "parts": {
               "title": "Parts",
               "description": "List of constituent parts",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Part"
               }
            },
            "icon": {
               "title": "Icon",
               "type": "string"
            },
            "activeTimeFraction": {
               "title": "Active Time Fraction",
               "description": "fraction time an agent is available (0 to 1 inclusive)",
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "name",
            "activeTimeFraction"
         ]
      }
   }
}

field demand_models: List[Union[TimedImpulseDemandModel, RatedDemandModel, SparingByMassDemandModel]] = [] (alias 'demandModels')

List of demand models

field edges: List[Union[FlightEdge, SpaceEdge, SurfaceEdge]] = []

List of edges

field elements: List[Union[Element, ResourceContainer, ElementCarrier, SurfaceVehicle, PropulsiveVehicle, HumanAgent, RoboticAgent]] = []

List of elements

field nodes: List[Union[LagrangeNode, OrbitalNode, SurfaceNode]] = []

List of nodes

field resources: List[Union[ContinuousResource, DiscreteResource]] = []

List of resources

get_edge(name: str) Union[FlightEdge, SpaceEdge, SurfaceEdge][source]

Gets the edge matching a given name.

Parameters

name (str) – the edge name

Returns

The matchine edge if it exsits, otherwise None.

Return type

str

get_node(name: str) Union[LagrangeNode, OrbitalNode, SurfaceNode][source]

Gets the node matching a given name.

Parameters

name (str) – the node name

Returns

The matchine node if it exsits, otherwise None.

Return type

str

get_resource(name)[source]

Gets the resource matching a given name.

Parameters

name (str) – the resource name

Returns

The matchine resource if it exsits, otherwise None.

Return type

str

instantiate_element(cls, template_name: str, prefix: Optional[str] = None, suffix: Optional[str] = None) Union[InstElement, InstResourceContainer, InstElementCarrier, InstPropulsiveVehicle, InstSurfaceVehicle, InstHumanAgent, InstRoboticAgent][source]

Instantiates an element for a given template.

Parameters
  • cls – the element class

  • template_name (str) – the template name

  • prefix (str, Optional) – the prefix to apply before the instance name

  • suffix (str, Optional) – the suffix to apply after the instance name

Returns

An instantiated element.

Return type

s.AllInstElements