Code Monkey home page Code Monkey logo

xtmf's People

Contributors

amitsandhel avatar bilalyusuf avatar brendanreilly avatar dependabot[bot] avatar jamesvaughan avatar lunaxi7 avatar mattaustin222 avatar nasterska avatar peterlai1 avatar trajcenikolov avatar wdiogu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xtmf's Issues

Clone model system / copy should allow pasting into other projects

Perhaps update the bevaiour of clone model system on the projects page into a more standard copy / paste behaviour. Only when you paste back into a project should you be asked for what the new name should be (and perhaps have a default suffix already filled in).

Allow plug-ins to add GUI Elements

One of the most lacking features of XTMF is the extensibility of the graphical user interface. Looking at issue #13 we have an instance of somewhere that could really be enhanced with a new dialog that could understand a multi-run file without forcing that knowledge into the XTMF core or graphical interface.

Close option disables

In XTMF.GUI if you edit a model system and try to close it you will be prompted by a dialog to see if you want to save. If you select cancel, you will no longer be able to close the dialog and it will be disabled in the menu.

Import model system to project from file

Currently you can only import a model system that has already been imported into XTMF already. Often people only wish to import a model system directly into a project, making this a two step process. We can circumvent this use-case by modifying the Import UX to have an option to instead import from file.

Open Project shouldn't be opened more than once

Currently when you go to Open Project a new window is created. In extended use cases which open multiple projects people end up with multiple tabs for open project and it clutters the tab space.

To correct this, if a Open Project page already exists it should just be moved into focus.

Crashing on pasting modules

When attempting to paste modules (specifically any file output modules - DirectorySeparatedPath, etc.), the program crashes.

Module Reordering

Add drag and drop functionality for module reordering as an alternative to the keyboard shortcuts already present.

Provide a drop down menu for Enum typed parameters

Currently users need to type in a specific string for their parameters if the type is an enumeration. This could be far more user friendly if an alternative input was used for these specific cases.

Model system deletion not clear/complete in project view

In a project, I attempted to delete a model system (both through the delete key and through the context menu), but the model system element does not disappear. Attempting to open the still-visible model system brings up an entirely different model system (I'm not sure what the pattern is for which comes up). I worry that repeated attempts to delete the single undeletable model system will cause others to be deleted. Once the project is closed and reopened, the model system is no longer visible.

Redirect modules

Add the ability to redirect a previous module name to a new module name using a new attribute tag at the code level of the new module. This will help with fixing spelling mistakes and moving modules between different DLLs without breaking older model systems.

Run Model System

Add the ability to run a model system from the graphical interface.

XTMF tabs

After enough tabs are opened in XTMF, they start to disappear. Although they are all still listed in the drop down menu on the side, there is no visual indication that a tab has disappeared, resulting in potential confusion about the seemingly lost tab. Would be nice to have some intuitive visual sign that there are additional hidden tabs.

Also, at some point tabs start opening on the left rather than the right. Would also be good to have consistency on this.

Parameter assignment fails if module is renamed

In the estimation framework a parameter will not be properly assigned if a non-in-list module has had it's name changed. The model system will currently throw an error that the path could not be found but this should work in any case.

Cannot Clone Model System

After saving a change to the model system, and returning to the project page, I am unable to clone that changed model system. The error I receive states that the model system does not exist in the project.

Module Cancellation & Timeouts

For XTMF 1.4 we should look at implementing a stronger cancellation interface for XTMF modules. At the moment only certain module interfaces expose an "exit request" function. I propose adding an ICancellableModule interface to allow fine tuned control around exiting / cancelling running modules while a run is active.

In some rare circumstances, modules that rely on IO or other conditions external to XTMF can prevent run completion, or worse -- completely prevent a run from being able to be cancelled at all.

Another addition that might be useful is adding a timeout interface on modules that should be expected to complete in reasonable time - or those that might be prone to problems related to problems outside the control of XTMF (e.g. Emme).

Refactorization of XTMF codebase

XTMF should be refactored to separate nondependent module code (GTAModel etc.) from the XTMF core functionality for both simplification and overall design purposes. This possibly involves introducing a new repository for the changes to place modules.

Indicate when modules are disabled.

I am a big fan of the disabling modules feature; however I sometimes forget whether my current ms has disabled modules or not, and have to dig through to check. It would be great to have some indicator, either in the root module, or some other visible area, that the model system contains disabled modules, as a warning to the user. Probably would be best if the number of disabled modules was indicated as well.

Expand All Button

Adding an expand all button (maybe when right clicking) so that it is is easy to see all the modules

Provide theme support

Right now a single dark blue theme is used. Providing the user with different customization options would improve the user experience.

XTMF doesn't raise any caution when Toolbox is Missing

I just had a problem in which the XTMF could not find the toolbox while it was running, and instead of raising any caution (or error), it kept on running without any suggestion that something was broken aside from the lengthy run time. I only stumbled onto the fact that I hadn't loaded in a toolbox once I tried to go do it manually.

Not sure if this can be fixed, but a small message box would be very helpful.

Deleting Linked Parameter does not update GUI properly

If you delete a linked parameter in the GUI an unrelated linked parameter gets removed from the interface. If you try to delete the linked parameter again it will inform you that it doesn't exist. Reloading the Linked Parameter window will show that it is no longer there.

Module deleted and then not recovered

I accidentally deleted my Zone Data module and then "undid" it by pressing control-z. The module was recovered and everything seemed fine, even the parameters themselves. I tried to run the model system, and it failed saying that it couldn't find a parameter from my Zone Data module. I went to look at it, and I couldn't find the problem because all of the parameters were correct. The problem kept on going until I closed XTMF and re-opened it. It is at that point that I saw that the Zone Data Module had "recovered" to all of it's default values - and hence wrong parameters.

Expanded module arrows hard to see.

The arrows for expanded modules are currently a dark grey and hard to see. This should be modified to be white like the initial state so it stands out from the background.

XTMF Project Settings

This may be more of a discussion than a request. I have noticed that if you have more than one XTMF, and you open one and change the project settings, they are automatically modified for all other XTMFs. Myabe it is better to have different settings for each XTMF? For example, one may have multiple versions of XTMF on one's computer, in case one has to rerun old projects and wants consistent results. In this scenario, it would be good to keep the projects of each version in separate directories, in order to ensure that the correct project is always run with the correct version, and there are no modifications made to the model system due to lack of backwards compatibility (missing modules, wrong number of parameters, etc). Thoughts?

Execute Runs in a separate process

Currently model runs are being executed within the current XTMF process. This can lead to issues with static variables and other resource allocation not being cleaned up between runs. Putting each run in its own process avoids this issue. It can also allow us to be smarter about NUMA systems and run multiple model systems at the same time on different CPU groups.

Right-click on previous run to open output

Currently when you right-click on a Previous run you load the model system. This behaviour should be modified to instead bring up a context menu, one option of which would be to open the run's output directory.

Export Boardings call function incomplete

The Export Boardings TMGToolbox tool contains an option to individually write routes that are not found in an aggregation file (this is the default state if there is no aggregation file). However, this option is not included in the XTMF call function. I would suggest adding it to the call function and to XTMF.
I've encountered many situations where an out-of-date aggregation file has been used unknowingly because there is no indication that any lines have been ignored; I would prefer the option to fully capture every line's boardings in some way each and every run.

Batch Model System Runs

We have been requested to look into creating a system that would allow multiple model system runs to be scheduled and executed in order.

Batch Multi Run File gets too large and confusing to read

Although I think the multi-run capability in XTMF is very much an incredibly useful feature, one problem that I have with it is that, when running a lot of runs, the "Batch File" gets too large and very confusing to read in its current format. More importantly, it becomes somewhat difficult to read through the paths when doing a QA before I launch a run. A more readable format would most definitely be welcomed.

Save Project

Add the ability to save the projects back to disk.

Mac support

Hi,

Very nice that the Toronto efforts are now available.

Was trying to compile it on mac. Am no C# expert, so I may be getting everything completely wrong. I installed Xamarin, and it seems to make halfway sense out of the code. But I have consistent problems with expressions of type
if((var oldType = RealModelSystemStructure.Type) != value)
; it is ok with
var oldType = RealModelSystemStructure.Type ;
if( oldType != value)
Presumably, my compiler is just not modern enough, but I don't think there is anything I can do about it. Any chance to convince you to stay at compiler levels that are available across many platforms?

(It looks like there will be additional problems beyond the above one, but I thought I could still ask.)

Thank you and best regards

Kai Nagel, TU Berlin

Create a way of easily comparing model systems

Currently model systems can be compared when they are copied out in text form. This will flag inconsequential differences, such as module index changes, making it difficult to sift through and determine what actual changes have been made to the model system. It would be especially useful for troubleshooting run results to have a way of easily obtaining a list of changes to both model system structure, as well as parameter values.

Error while running FullNetworkSetGenerator with .nup files

I have attempted to run Full Network Set Generator via XTMF with a .nup file assigned to one time period. I was able to set this up in Modeller, but the XTMF side is failing:

EMME Parameter Error: The module "tmg.network_editing.full_network_set_generator" was executed with the wrong number of arguments or of invalid types.
at TMG.Emme.ModellerController.WaitForEmmeResponce(String& returnValue, Action1 updateProgress) in C:\Documents\GITXTMF\Code\TMG.Emme\ModellerController.cs:line 274 at TMG.Emme.ModellerController.Run(String macroName, String arguments, Action1 progressUpdate, String& returnValue) in C:\Documents\GITXTMF\Code\TMG.Emme\ModellerController.cs:line 365
at TMG.Emme.ModellerController.Run(String macroName, String arguments) in C:\Documents\GITXTMF\Code\TMG.Emme\ModellerController.cs:line 338
at TMG.Emme.ExecuteToolsFromModellerResource.Start() in C:\Documents\GITXTMF\Code\TMG.Emme\ExecuteToolsFromModellerResource.cs:line 43
at Tasha.Utilities.BasicTravelDemandModel.Start() in C:\Documents\GITXTMF\Tasha\Utilities\BasicTravelDemandModel.cs:line 83
at XTMF.XTMFRun.OurRun() in C:\Documents\GITXTMF\Code\XTMF1.1\XTMFRun.cs:line 334

One possibility: the code does not like that I put a .nup file in only one of the time periods.

I've attached the model system I used.

NetworkGenSnippet08-22.txt

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.