Giter VIP home page Giter VIP logo

spacenet-java's Introduction

spacenet

This is a copy of the SpaceNet v2.5r2 source code previously hosted at spacenet.mit.edu.

Introduction

SpaceNet is a simulation-based software tool to design and analyze long-duration human space exploration missions. It is a product of several years of research and we hope its public release will simulate future research in this subject area and beyond.

SpaceNet 2.5r2 is research-grade code. As such, it has not received exhaustive testing during development. Though every available effort has been expended to eliminate bugs, there is a good chance that residual errors will inevitably occur.

Installation

SpaceNet requires a Java Runtime Environment (JRE) to run. The easiest way to get started is to download one of the binary releases which packages the executable Java Archive (JAR) file. Simply double-click on the JAR to launch SpaceNet.

Alternatively, building your own version of SpaceNet requires a Java Development Kit (JDK) and Apache Maven to manage dependencies. Common Integrated Development Environments (IDEs) such as Eclipse often provide these products in a user-friendly tool.

Documentation

A user's guide and quick start tutorial is available in the doc/ directory.

Version History

  • SpaceNet 1.1 (2005) - MATLAB prototype
  • SpaceNet 1.2 (2006-2007) - Established visualizations and database
  • SpaceNet 1.3 (2007) - Initial public release: lunar sortie scenarios
  • SpaceNet 1.4 (2007-2008) - Internal development for lunar campaign scenarios
  • SpaceNet 2.0 (2007-2008) - Code migration to Java, advanced visualizations, SQL database
  • SpaceNet 2.5 (2008-2009) - New scenarios (ISS, Moon, Mars), user-centric design, new object and demand models, "ilities" analysis
  • SpaceNet 2.5r2 (2009-2010) - Usability improvements, export options, usability study

Funding History

  • SpaceNet 1.3 was funded under NASA contract NNK05OA50C from May 2005 to January 2007
  • SpaceNet 2.5 was funded under NASA Strategic University Research Partnership (SURP) contract 1344341 from July 2008 to May 2009

SpaceNet References

  1. Shull, S., E. Gralla, O. de Weck. "A Modeling Framework for Interplanetary Supply Chains." In: AIAA Space 2006 Conference and Exposition. San Jose, CA. September 2006.
  2. Shull, S., E. Gralla, O. de Weck, R. Shishko. "Future of Asset Management for Human Space Exploration: Supply Classification and an Integrated Database." In: AIAA Space 2006 Conference and Exposition. San Jose, CA. September 2006.
  3. de Weck, O.L., D. Simchi-Levi, R. Shishko, J. Ahn, E.L. Gralla, D. Klabjan, J. Mellein, S.A. Shull, A. Siddiqi, B.K. Barstow, G.Y. Lee. "SpaceNet v1.3 User's Guide". NASA/TP-2007-214725. January 2007.
  4. Taylor, C., M. Song, D. Klabjan, O. de Weck, D. Simchi-Levi. "A Mathematical Model for Interplanetary Logistics." Logistics Spectrum 41 (1) 23-33. 2007.
  5. Shull, S. Integrated Modeling and Simulation of Lunar Exploration Campaign Logistics. S.M. Thesis. Massachusetts Institute of Technology. Cambridge, June 2007.
  6. Shull, S., O. de Weck. "Modeling and Simulation of Lunar Campaign Logistics." In: AIAA Space 2007 Conference and Exposition, Long Beach, CA. September 2007.
  7. Siddiqi, A., O. de Weck, G. Lee, S. Shull. "Matrix Modeling Methods for Spaceflight Campaign Logistics Analysis." Journal of Spacecraft and Rockets 46 (5) 1037-1048. 2009.
  8. de Weck, O., N. Armar, P. Grogan, A. Siddiqi, G. Lee, E. Jordan, R. Shishko. "A Flexible Architecture and Object-oriented Model for Space Logistics Simulation. In: AIAA Space 2009 Conference and Exposition. Pasadena, CA. September 2009.
  9. de Weck, O.L., P. Grogan, E.O. Jordan, G.Y. Lee. "SpaceNet v2.5 User's Guide". Online: http://spacenet.mit.edu. September 2009.
  10. Grogan, P.T. A Flexible, Modular Approach to Integrated Space Exploration Campaign Logistics Modeling, Simulation, and Analysis. S.M. Thesis. Massachusetts Institute of Technology. Cambridge. September 2010.
  11. Ferreira, I. and P.T. Grogan. "Data Management, Collaboration, and Model Integration for Space Exploration System Analysis and Design." In: AIAA Space 2010 Conference and Exposition. Anaheim, CA. August 2010.
  12. Ishimatsu, T., P. Grogan, O. de Weck. "Interplanetary Trajectory Analysis and Logistical Considerations of Human Mars Exploration." Journal of Cosmology 12 3588-3600. 2010.
  13. "SpaceNet v2.5r2 User's Guide". Online: http://spacenet.mit.edu. December 2010.
  14. Grogan, P.T., A. Siddiqi, O.L. de Weck. "Matrix Methods for Optimal Manifesting of Multinode Space Exploration Systems." Journal of Spacecraft and Rockets 48 (4) 679-690. 2011.
  15. Yue, H.K. Propulsive and Logistical Feasibility of Alternative Future Human-Robotic Mars Exploration Architectures. S.M. Thesis. Massachusetts Institute of Technology. Cambridge. June 2011.
  16. Grogan, P.T., C. Lee, and O.L. de Weck. "Comparative usability study of two space logistics analysis tools." In: AIAA Space 2011 Conference and Exposition. Long Beach, CA. September 2011.
  17. Grogan, P.T., H.K. Yue, and O.L. de Weck. "Space Logistics Modeling and Simulation Analysis using SpaceNet: Four Application Cases." In: AIAA Space 2011 Conference and Exposition. Long Beach, CA. September 2011.
  18. Lee, C., P.T. Grogan, O.L. de Weck. "Process-oriented Evaluation of User Interactions in Integrated Space Analysis Tools." In: 2012 IEEE International Conference on Systems, Man, and Cybernetics. Seoul, Korea. October 2012.
  19. Yue, H.K., O.L. de Weck, P.T. Grogan. "Logistical Analysis of a Flexible Human and Robotic Mars Exploration Campaign." Journal of Spacecraft and Rockets 51 (2) 640-645. 2014.

spacenet-java's People

Contributors

ptgrogan avatar aucoindan avatar dependabot[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

aucoindan

spacenet-java's Issues

Consider Resource Generation during Manifesting

Currently, the auto-manifesting process does not consider mass of newly-generated resources (e.g., waste or ISRU) when evaluating mass/volume constraints on supply edges, resulting in some infeasible manifests which create errors during simulation.

Inconsistent Manifesting Behavior for Volume Constraints

Upon loading a saved scenario that has volume constraints enabled, the auto-manifesting process does not appear to adhere to volume constraints. However, after opening and closing the options dialog, the volume constraints appear to be enforced.

Inconsistent Use of Health Consumables Rate in Crew Consumables Demand Model

The GUI presents Health Consumables as a demand rate (kg/crew/day); however, the implementation treats it as a demand amount (kg/crew). This appears to be a problem with the implementation as the SpaceNet 1.3 user's guide includes the CHeCSConsumables (Crew Health and Care System Consumables) as a demand rate.

Resolve JSON scenario compatibility issues

  1. When saving new scenario to JSON, no content is written to file.
  2. When saving a scenario having (in-memory) element templates but no instantiated elements to JSON, no element templates are saved.
  3. When editing a scenario having (in-memory) element templates, instantiated elements reference the templates rather than creating a new instance.

Time zone (?) issue

I noticed that SpaceNet Java, when reading a JSON scenario file, seems to change the scenario start date/time by 5 hours. If the start date in JSON, for example, 2030-01-01T00:00:00.000000+00:00, then the date becomes Dec 31, 2029 instead of Jan 1, 2030. However, if the JSON date is 2030-01-01T05:00:00.000000+00:00 (i.e., 5 hours ahead), then the SpaceNet Java date becomes Jan 1, 2030. There is probably a time zone problem.

Customize environment for demands of generic resources

By default, demands for generic resources (e.g., from the consumables demand model) only generate unpressurized demands. This assumption aligns also with the default resource containers which only hold unpressurized resources. Consider adding the ability to customize the default resource environment to more accurately represent the nature of most demands.

Export Manifest to File

Interest to understand and track the "supply edge" cargo capacity (mass and volume) post-manifesting.

Edit Resource Container Dialog: Incompatible Resource Environment

Currently, there is no feedback if a user tries to add an incompatible resource (e.g., pressurized resource to unpressurized environment) to a resource container via the edit element dialog. It appears to work, but then does not save properly. Add some feedback to alert for incompatible resources.

Customize unit volume (i.e., density) for generic resources

Generic resources currently have the following hard-coded unit volumes:

  • COS 1: 1900 cm^3/kg
  • COS 201: 1000 cm^3/kg
  • COS 2: 7000 cm^3/kg
  • COS 3: 5000 cm^3/kg
  • COS 4: 3000 cm^3/kg
  • COS 5: 7000 cm^3/kg
  • COS 6: 5000 cm^3/kg
  • COS 7: 5000 cm^3/kg
  • COS 8: 3500 cm^3/kg
  • COS 9: 3500 cm^3/kg
  • COS 10: 7000 cm^3/kg
    It would make sense to allow them to be user-editable, for example, to reflect resource innovation.

Revisit Mission Duration Assumption for Demand Models

Currently, the mission duration is determined by slicing the entire scenario timeline and allocating to individual missions. However, this does not align with an intuitive assumption if there are intermediate missions, e.g., cargo resupply, during a longer crewed period. Consider making each mission duration the time between the first event start and last event end to help align with mission-level demand models based on time.

Headless Mode - Exporting Auto-Manifest

Add another headless functionality into the Java code that would, apart from computing demands, also run the Auto-Manifest algorithm and return the resulting manifest. If it is too cumbersome to have a separate JSON structure for the manifest, it can be returned in the same text format it is now exported in in the GUI (the Export Manifest block on the Manifest tab).

Also, I noticed that the Export Manifest block currently exports only items that were manifested but does not export any details for items that were packed but failed to be manifested. If it is not difficult, can those be extracted as well for the headless functionality? Either within the same manifest structure (e.g., with the flight ids empty) or as a separate block of data - whatever is simpler.

Excel interaction broken in 2.5.1467

Any interaction with an Excel database results in the following:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not initialize class org.apache.poi.hssf.usermodel.HSSFWorkbook

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.