This project develops an integrated simulation for Orbital Federates, a simplified model of Federated Satellite Systems (FSS). It demonstrates a multi-actor system value model by mapping input design decisions to initial cost and total value measured by revenue accumulated over a system lifecycle.
This package requires two dependencies: Gurobi and Tkinter. The easiest way to use ofspy is via Anaconda, a Python distribution which bundles many of the most useful packages including Tkinter and makes it easy to install Gurobi.
Gurobi is a commercial optimization library with bindings for Python with a free license available for academic use. Download and install the Anaconda distribution for Python 2.7 for your machine. Follow the instructions above to install Gurobi into Anaconda and install a Gurobi license.
Once the dependencies are set, you can configure the path variables by running (from a command or terminal window) at the root of the project:
pip install -e .The main OFS executable ofs.py runs one Orbital Federates simulation. Its basic syntax is:
python ofs.py <DESIGN...> [OPTION...]
where DESIGN specifies one or more space system elements and OPTION sets zero or more options.
Standard outputs return a list of initial cost-final value pairs (: delimiter) for each player separated by newlines, e.g.
1150.0:1500.0
1100.0:1700.0
for a two-player game specified with designs 1.GroundSta@SUR1,pSGL 1.SmallSat@MEO6,pSGL,VIS 2.GroundSta@SUR2,pSGL 2.SmallSat@MEO1,pSGL,SAR and seed 0.
Each design is specified with the following syntax: P.SysType@LOC,SubType,... with
P= player number{1, 2, ...}SysType= system type:GroundSta: Ground station with capacity for 3 subsystem modules. Costs 500 to design and 0 to commission on the surface.SmallSat: Satellite with capacity for 2 subsystem modules. Costs 200 to design and 0 commission in LEO, 100 to commission in MEO, and 200 to commission in GEO.MediumSat: Satellite with capacity for 4 subsystem modules. Costs 300 to design and 0 commission in LEO, 150 to commission in MEO, and 300 to commission in GEO.LargeSat: Satellite with capacity for 6 subsystem modules. Costs 400 to design and 0 commission in LEO, 200 to commission in MEO, and 400 to commission in GEO.
LOC= location:SUR1-SUR6: Surface locations in sectors 1--6.LEO1-LEO6: Low-Earth orbital locations above sectors 1--6. Spacecraft propagate 2 sectors per turn.MEO1-MEO6: Medium-Earth orbital locations above sectors 1--6. Spacecraft propagate 1 sector per turn.GEO1-GEO6: Geostationary Earth orbital locations above sectors 1--6. Spacecraft propagate 0 sectors per turn.
SubType= subsystem type:pSGL: Proprietary space-to-ground link. Can transmit 1 bit of data between spacecraft and ground stations (same owner) per turn. Takes up 1 module and costs 50.oSGL: Open space-to-ground link. Can transmit 1 bit of data between spacecraft and ground stations (any owner) per turn. Takes up 1 module and costs 100.pISL: Proprietary inter-satellite link. Can transmit 1 bit of data between spacecraft (same owner) per turn. Takes up 1 module and costs 50.oISL: Open inter-satellite link. Can transmit 1 bit of data between spacecraft (any owner) per turn. Takes up 1 module and costs 100.VIS: Visual light sensor. Can sense and store 1 bit of visual light data per turn. Takes up 1 module and costs 250.SAR: Synthetic aperture radar. Can sense and store 1 bit of radar data per turn. Takes up 1 module and costs 250.DAT: Data storage unit. Can store 1 bit of data per turn. Takes up 1 module and costs 50.DEF: Debris defense. Protects a spacecraft from debris events. Takes up 1 module and costs 100.
Options include the following flags (view with python ofs.py --help):
-dor--numTurns: sets the simulation duration (number of turns), defaults to24-por--numPlayers: sets the number of players, defaults toNoneto interpret from designs-ior--initialCash: sets the initial cash amount, defaults toNoneto adapt to initial designs-sor--seed: sets the RNG seed, defaults to0-oor--ops: sets the federate operational strategy from{n,d}for none (n) or centralized (d), defaults tod6- Additional centralized options set
dHordH,s,iwhere:His the planning horizon (default6)sis the storage opportunity cost (default100;aestimates based on expected demand), andiis the ISL opportunity cost (default10)- Defaults to
d6,100,10
-for--fops: sets the federation operational strategy from{n,d,x}for none (n), centralized (d), or opportunistic fixed-cost federated (x), defaults ton- Additional centralized options set
dHordH,s,iwhere:His the planning horizon (default6),sis the storage opportunity cost (default100;aestimates based on expected demand), andiis the ISL opportunity cost (default10)- Defaults to
d6,100,10if selected
- Additional federated options set
xG,IorxG,I,H,s,iorxH,s,iwhere:Gis the fixed SGL service cost (default50),Iis the fixed ISL service cost (default20),His the planning horizon (default6),sis the storage opportunity cost (default100;aestimates based on expected demand), andiis the ISL opportunity cost (default10)- Defaults to
x50,20,6,100,10if selected
-lor--loggingsets the logging level among{debug, info, warning, error}, defaults toerror-gor--guilaunches the graphical user interface where the spacebar advances time and escape resets the simulation
This project was funded in part by a MIT-Skoltech Faculty Development Plan (FDP) grant on Federated Satellite Systems (FSS) with Massachusetts Institute of Technology. Source code is Copyright (c) 2015-2019 Paul T. Grogan.
For more information on the FSS project, please see the following publications:
- Grogan, P.T., K. Ho, A. Golkar, and O.L. de Weck, 2016. "Multi-actor Value Modeling for Federated Systems," IEEE Systems Journal, vol. 12, no. 2, pp. 1193-1202.
- Grogan, P.T., K. Ho, A. Golkar, and O.L. de Weck, 2015. "Bounding the Value of Collaboration in Federated Systems," IEEE Systems Conference, Orlando, FL.
- Grogan, P.T. and O.L. de Weck, 2015. "Interactive Simulation Games to Assess Federated Satellite System Concepts", 2015 IEEE Aerospace Conference, Big Sky, Montana.
- Grogan, P.T., S. Shirasaka, A. Golkar, and O.L. de Weck, 2014. "Multi-stakeholder Interactive Simulation for Federated Satellite Systems", 2014 IEEE Aerospace Conference, Big Sky, Montana.