Git Product home page Git Product logo

oskopek / transporteditor Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 3.0 10.41 MB

Bachelor thesis and individual software project.

Home Page: https://oskopek.com/TransportEditor/

License: MIT License

Shell 2.51% Python 1.72% Prolog 0.86% Makefile 0.05% TeX 30.91% Java 55.90% HTML 6.73% CSS 0.05% FreeMarker 0.67% ANTLR 0.61%
antlr4 bachelor-project bachelor-thesis editor java javafx planning research research-project transport university-project xstream

transporteditor's People

Contributors

dependabot[bot] avatar oskopek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

transporteditor's Issues

Set up

  • Set up build, test and release pipeline
    • Add a script to auto-upload to GitHub releases
  • Set up weekly diaries in docs
    • Set up report
    • Include a did report of everything T - 1week ... did this week --bp --github
    • Include diary
  • Prune branches

Finish up spec

  • Ensure LFS is working
  • Add dennik.pdf to docs
  • un-do v nejake rozumne podobe pro editace. Jde o to, ze program se bude hodne pouzivat ve stylu what-if, takze uzivatel by se nemel bat, ze se nebude moci vratit.
  • Re-release

US: Creation of domain UI

  • Watch out for conflicts in domain creation
    • Don't allow user to create a conflict (pre-validation)
    • Select STRIPS/numeric as base and remove/add valid stuff
  • Problem creation (validate against a domain) .. just a button that draws a new empty graph with a node

US: Domain & Problem IO

After #11

  • Saving/loading:
    • Problem (PDDL + coords)
    • Domain (PDDL)
  • Autodetect?
  • I/O Tests
    • Original data
    • Custom formats
      • Create custom data sets for testing

Create maven pom files

  • thesis profile: call build.sh
  • releaseEditor profile: just the editor release + its internal docs
    • integration tests + normal tests + checkstyle
    • Make travis only run on editor with ITs
  • release profile: thesis + releaseEditor

US: Loading planner executables and planning

  • Create a view for that
  • Let user choose between strips, numeric, custom (ask user where to input the domain model)
  • Run the planner, wait and load output as a plan
    • Verify (call VAL? No, platform dependent)

Create a editor submodule

  • Create editor submodule, move the code
  • Create CI and CD webhooks and scripts
  • Create release & reports scripts ... did this week --bp --github
  • Populate weekly milestones

US: Design and implement the model

Take into account:

  • Simplicity, speed
  • Basic PDDL formulation
    • STRIPS
    • Numeric
    • Custom (add/remove things)
      • Conflicts?

Needs:

  • Focus on viewing, not planning
  • Do NOT overengineer

US: Step through and back in plan visualization

  • Manage state changes
  • Display/depict movement
  • Highlight current action
  • Changes
    • Drag'n'drop order prevalidation
    • If timeline: change start, prevalidation
  • Action List filtering (grey out others)

Figure out the flowchart of conditions for Transport domain variants

Basically:

  • Sequential
    • Minimize: total-cost
  • Temporal
    • Minimize: time
    • Adds a few technicalities (ready-loading vehicle temporal locking)
    • Adds duration to preconditions/effects

Bonus packages:

  • All distances equal
    • Not needed, can be simulated by changing the graph
      • Do we want it anyway, though?
  • Remove capacities
    • Removes upper limits on vehicle capacities
  • Add Fuel
    • Adds a few functions, predicates, preconditions, ...
    • Refuelling action
    • new thing to minimize: total-fuel

US: Graph drawing + toolbox + dragndrop

  • Drawing graphs? (just load the coords from file if available.. else drawing alg?)
    • Use JUNG visualization + SpringNode
  • Drag'n'drop GUI editor
    • Supported by JUNG automatically?
    • Create custom JUNG visualizer?
  • Detail edit dialogs
  • Toolbox
    • Lock
    • Add/edit/remove edge/vertex/package/vehicle

Design model classes

  • Check that all functionality can be done with model
    • Subclassing of conditions in domain
    • Reasonable drawing speed
    • Domain conflict validation
    • Problem validation againts domain
  • Aim for simplicity! Do not overengineer

US: Basic views and app design

  • Copy over code from StudyGuide
  • Adapt UI to match spec image
  • Do not implement graph drawing, only research UI elements and possibilities

US: Optional features

  • Gantt chart
  • Partially ordered action graph
  • Time-ordered multi-list
    • Concurrent actions side-by-side

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.