ATTENTION

This FlexSim Community Forum is read-only. Please post any new questions, ideas, or discussions to our new community (we call it Answers) at https://answers.flexsim.com/. Our new Question & Answer site brings a modern, mobile-friendly interface and more focus on getting answers quickly. There are a few differences between how our new Q&A community works vs. a classic, threaded-conversation-style forum like the one below, so be sure to read our Answers Best Practices.


flexsim.com

Go Back   FlexSim Community Forum > FlexSim Software > Product Announcements
Downloads

Product Announcements New releases of the software

  #41  
Old 02-29-2012
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

Start of Scenario has been removed from the experimenter GUI, but the code is kept in the tree. Shouldn't we be calling this if the scenario number is changed from the last scenario that was run? (and also on the GoTo Scenario selection).
The Following User Says Thank You to Jason Lightfoot For This Useful Post:
mgiubilato (02-29-2012)
  #42  
Old 02-29-2012
mgiubilato mgiubilato is offline
Flexcon, Flexsim Distributor, Italy
 
Join Date: Aug 2007
Location: Pecetto Torinese (IT)
Posts: 24
Downloads: 24
Uploads: 0
Thanks: 93
Thanked 22 Times in 11 Posts
Rep Power: 169
mgiubilato will become famous soon enough
Default Flexsim v 6.0 Experimenter

Group 's Performance Measure are not returning any results.
(I' m guessing this is an already known problem)
The Following User Says Thank You to mgiubilato For This Useful Post:
Phil BoBo (02-29-2012)
  #43  
Old 02-29-2012
Flavio Brito Flavio Brito is offline
FlexSim Distributor
 
Join Date: Jan 2010
Posts: 42
Downloads: 109
Uploads: 0
Thanks: 47
Thanked 8 Times in 7 Posts
Rep Power: 132
Flavio Brito is on a distinguished road
Default

Quote:
Originally Posted by Flavio Brito View Post
Hi,

Here is a problem from the last version. If I try to choose other connection type between paths by right click in the arrow and choose the option, it works well. But if I try to change it by dropdown box in the properties of NN, it doesn't work. The same happen if I try to change it directly in the node "type" of which connection in tree!

Attached is the model.

Best Regards.

Flavio.
Hi Phil, this problem wasn't fixed yet!! Obs: Just change the Connection type to "No Connection" (do it by properties window, not by right click on arrow) and run the model.

I would apreciate if you check it please!!

Let me know if you didn't undesrtand the problem!!

Obs: The model was saved on FlexSim6.

Best Regards.

Flavio Brito
Attached Files
File Type: fsm NN Problem.fsm (60.4 KB, 115 views)
  #44  
Old 02-29-2012
Phil BoBo's Avatar
Phil BoBo Phil BoBo is offline
Flexsim Development
 
Join Date: Jan 2008
Posts: 756
Downloads: 109
Uploads: 18
Thanks: 385
Thanked 1,483 Times in 525 Posts
Rep Power: 1174
Phil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond repute
Default

Quote:
Originally Posted by Flavio Brito View Post
Hi Phil, this problem wasn't fixed yet!! Obs: Just change the Connection type to "No Connection" (do it by properties window, not by right click on arrow) and run the model.

I would apreciate if you check it please!!

Let me know if you didn't undesrtand the problem!!

Obs: The model was saved on FlexSim6.

Best Regards.

Flavio Brito
This appears to just be a caching problem on this particular model. It is working fine in a new model, and by slightly moving any of the network nodes in this model, then it starts working properly again.
  #45  
Old 02-29-2012
Phil BoBo's Avatar
Phil BoBo Phil BoBo is offline
Flexsim Development
 
Join Date: Jan 2008
Posts: 756
Downloads: 109
Uploads: 18
Thanks: 385
Thanked 1,483 Times in 525 Posts
Rep Power: 1174
Phil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond repute
Default

Quote:
Originally Posted by Jason Lightfoot View Post
Start of Scenario has been removed from the experimenter GUI, but the code is kept in the tree. Shouldn't we be calling this if the scenario number is changed from the last scenario that was run? (and also on the GoTo Scenario selection).
StartOfScenario code isn't added in a new model. It is preserved in the tree in upgraded models so that you don't lose any code you may have written in the prior version.

By making the experimenter asynchronous, Start of Scenario has no more meaning than Start of Replication where replication == 1.

What are you trying to do in the Start of Scenario code that requires a separate trigger from Start of Replication?
  #46  
Old 02-29-2012
Phil BoBo's Avatar
Phil BoBo Phil BoBo is offline
Flexsim Development
 
Join Date: Jan 2008
Posts: 756
Downloads: 109
Uploads: 18
Thanks: 385
Thanked 1,483 Times in 525 Posts
Rep Power: 1174
Phil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond repute
Default

Quote:
Originally Posted by Jason Lightfoot View Post
If you zoom far out with a 3Dmouse, click in the view and then click the window positioning top bar of the 3D view - then when you zoom back in into the model (without clicking the mouse in the view), the viewnear value can have higher value than normal (4metres) at ground level and close to the objects, causing too much clipping.
I was able to duplicate this issue once after much effort to do so. But then it resolved by panning and zooming around for a little bit with the normal mouse.

Do you experience the same resolution with a normal mouse? Can you duplicate this issue more easily than I can (by virtue of the type of 3d mouse you have)?
  #47  
Old 02-29-2012
Phil BoBo's Avatar
Phil BoBo Phil BoBo is offline
Flexsim Development
 
Join Date: Jan 2008
Posts: 756
Downloads: 109
Uploads: 18
Thanks: 385
Thanked 1,483 Times in 525 Posts
Rep Power: 1174
Phil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond repute
Default

Quote:
Originally Posted by mgiubilato View Post
Still in Beta 3 some issues on Experimenter :
- Perfomance Measure trigger is not accepting any flexscript code change (simply is not stored).
- Sometimes Performance Measure "Name" and "Label for Y Axis" are lost, mainly when the model is stored with Experimenter' s GUI open and a Performance Measure Selected and then re-opened.
- Same for any trigger on the "Advanced" tab : if available picklist are choosen, trigger code show the newly added flexscript, if you try to make manual modification on the code they' re are lost.
- "Run to Time" and "Warmup" parameters are inconsistent with model units : in the attached model they' re set to 36000 and 3600 (minutes), the model 's time unit is minutes, but if you run experimenter and print on the console the simulation data (with "Start Of Replication", "End Of Warmup", "End Of Replication" triggers) we got the following :
Start of Run
Current Time (mins)=
0.000000
Current Run of Scenario=1.000000
Current Scenario=10.000000
End of Warmup
Current Time (mins)=
60.000000
Current Run of Scenario=10.000000
Current Scenario=1.000000
End of replication run
Current Time (mins)=
600.000000
Current Run of Scenario=10.000000
Current Scenario=1.000000

The replication simulated time has been divided by time units.
Thanks for pointing out the issues above. We'll fix them.

Quote:
Originally Posted by mgiubilato View Post
- "Start Of Experiment" and "End Of Experiment" trigger are never called.
Yes they are. They are called in the main Flexsim window, not a child process.

Quote:
Originally Posted by mgiubilato View Post
- When using, as Experiment variable, "Number Of Taskexecuters" it seems that Flexsim renames some of these TE. It will create errors when the model' s logics will identifiy these TEs with their name. I didn' t check the other options, such us "Number Of Objects in Group". Automatic object name changes, in Experimenter, have to be avoided, IMHO.
If you are referencing TEs by name, then don't use that option. If you are using that option, then don't reference those TEs by name. This isn't a development problem. The current implementation is an excellent, simple solution for quickly changing the number of task executers connected to a dispatcher. You can see what it is doing exactly by setting the model to a specific scenario as well. I don't see any reason to change how this works. It is an excellent feature, and if you don't like how easy it is, then you can continue doing it the old, difficult way and not use this new feature.

Quote:
Originally Posted by mgiubilato View Post

- It is not possible stop Experimenter to a completed replication and then restart from that point, which is very useful when PC crashes and experimenter campaign last several hours, if not days.
This is a valid concern that was resolved previously using "save state after each replication," but which no longer has a great solution. I'll discuss this with Anthony and see what we should do about it.

You can currently break up an experiment into pieces and then merge the results. You should test around with the Export/Merge Results button to see how that works.

Quote:
Originally Posted by mgiubilato View Post

- It is not possible debug any of the experimenter trigger (out of printing console messages).

- It is not possible write back simulation data into a Global Table (for example for a summary report) or any treenode / data node.
Noted. Both of these issues are more feature-requests than bug-fixes and can be added in a future version. Reasonable workarounds are available right now using the existing functionality (print statements and storing information in the performance measures node). The time and effort required to develop solid solutions for these limitations isn't worth delaying the 6.0 release. We can implement simpler solutions in a future release and use the existing functionality in the mean time.


Thanks for the feedback.
The Following User Says Thank You to Phil BoBo For This Useful Post:
Flavio Brito (03-06-2012)
  #48  
Old 02-29-2012
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

Quote:
Originally Posted by Phil BoBo View Post
I was able to duplicate this issue once after much effort to do so. But then it resolved by panning and zooming around for a little bit with the normal mouse.

Do you experience the same resolution with a normal mouse? Can you duplicate this issue more easily than I can (by virtue of the type of 3d mouse you have)?
I have one model where it happens 75% of the time, but in a new model with only a few objects I'm also finding it difficult to reproduce.
  #49  
Old 02-29-2012
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

Quote:
Originally Posted by Phil BoBo View Post
StartOfScenario code isn't added in a new model. It is preserved in the tree in upgraded models so that you don't lose any code you may have written in the prior version.

By making the experimenter asynchronous, Start of Scenario has no more meaning than Start of Replication where replication == 1.

What are you trying to do in the Start of Scenario code that requires a separate trigger from Start of Replication?
Okay Phil we can record the last scenario run ourselves and if an action is needed when we change scenario we can detect it in the start of the run.

Btw. The experimenter parameters for the triggers are the reverse of the childstart parameters and give the wrong values. (replication is scenario, and scenario is replication).
Attached Files
File Type: fsm ExperimenterTriggerTest.fsm (57.4 KB, 116 views)
  #50  
Old 02-29-2012
Phil BoBo's Avatar
Phil BoBo Phil BoBo is offline
Flexsim Development
 
Join Date: Jan 2008
Posts: 756
Downloads: 109
Uploads: 18
Thanks: 385
Thanked 1,483 Times in 525 Posts
Rep Power: 1174
Phil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond repute
Default

Yeah, I noticed that as well. It's fixed now.
  #51  
Old 03-01-2012
mgiubilato mgiubilato is offline
Flexcon, Flexsim Distributor, Italy
 
Join Date: Aug 2007
Location: Pecetto Torinese (IT)
Posts: 24
Downloads: 24
Uploads: 0
Thanks: 93
Thanked 22 Times in 11 Posts
Rep Power: 169
mgiubilato will become famous soon enough
Default Embed Media with Models

- Take a simple media file and store a Flexsim model with "Embed Media with Models" checked.
- Move the Flexsim file into another PC and then open it.
- Uncheck "Embed Media with Models" : all embedded media are lost.

I 'm guessing that a embedded media export function is needed and missing, actually.
It should extract all the embedded files into a folder.

See Attached Example
Attached Files
File Type: fsm test model 02.fsm (4.95 MB, 120 views)
  #52  
Old 03-01-2012
mark.gormley mark.gormley is offline
Flexsim User
 
Join Date: Oct 2008
Posts: 58
Downloads: 12
Uploads: 0
Thanks: 32
Thanked 63 Times in 29 Posts
Rep Power: 181
mark.gormley has a spectacular aura aboutmark.gormley has a spectacular aura about
Default

Quote:
Originally Posted by mgiubilato View Post
It is not possible write back simulation data into a Global Table (for example for a summary report) or any treenode / data node.
Quote:
Originally Posted by Phil BoBo View Post

Noted. Both of these issues are more feature-requests than bug-fixes and can be added in a future version. Reasonable workarounds are available right now using the existing functionality (print statements and storing information in the performance measures node). The time and effort required to develop solid solutions for these limitations isn't worth delaying the 6.0 release. We can implement simpler solutions in a future release and use the existing functionality in the mean time.
Can you please provide us with some more information regarding collecting tabular data across multiple replications? We cannot see an obvious way to reproduce the current functionality (of writing to a global table) using the performance measures method you suggested.

We currently write out these tables (which contain results for all replications) using exportable at the end of a scenario. This could not be changed to write out results at the end of a replication without naming each file uniquely depending on the replication number. This would then make the results data much harder to process externally (e.g. importing into Excel to compare results across replications).

Thanks
The Following 2 Users Say Thank You to mark.gormley For This Useful Post:
mgiubilato (03-01-2012)
  #53  
Old 03-01-2012
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

Mark, look in the project/exec/replications/PerformanceMeasures node where it suggests that you need to place any other non-PFM data in the experiment folder, which gets passed back to the parent. Is that what you tried already? I think you then need to customize that PerformanceMeasures code in the second part in order to interpret the data structure you've created within the experiment folder. You could copy the whole globalTables folder and restore it from that code back into the model.

Phil, maybe we need a hook into a trigger in the model's experimenter to perform some custom data consolidation, which would save us from needing to overwrite the PerformanceMeasures node when the model is loaded? Or is one there already that I've missed?

Last edited by Jason Lightfoot; 03-01-2012 at 10:37 AM.
The Following 2 Users Say Thank You to Jason Lightfoot For This Useful Post:
Phil BoBo (03-09-2012)
  #54  
Old 03-01-2012
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

Here's an example of gathering global table information
Attached Files
File Type: fsm ExperimenterTriggerTest.fsm (82.0 KB, 125 views)
The Following 2 Users Say Thank You to Jason Lightfoot For This Useful Post:
mgiubilato (03-01-2012)
  #55  
Old 03-01-2012
Daniele Sasia Daniele Sasia is offline
Flexsim User
 
Join Date: Jan 2011
Posts: 4
Downloads: 1
Uploads: 0
Thanks: 3
Thanked 1 Time in 1 Post
Rep Power: 0
Daniele Sasia is on a distinguished road
Default Logic Builder Code Issues

Flexscript code X += 2; is properly block converted.
Statement X -= 2; gives a wrong block conversion result.
See image
Attached Thumbnails
Click image for larger version
Name:	Block_Code_Bug.jpg
Views:	142
Size:	19.5 KB
ID:	1714  
The Following User Says Thank You to Daniele Sasia For This Useful Post:
Phil BoBo (03-01-2012)
  #56  
Old 03-01-2012
Daniele Sasia Daniele Sasia is offline
Flexsim User
 
Join Date: Jan 2011
Posts: 4
Downloads: 1
Uploads: 0
Thanks: 3
Thanked 1 Time in 1 Post
Rep Power: 0
Daniele Sasia is on a distinguished road
Default New Pull Strategy and Multiple states Profile

Does anybody know how the new Pull Logic works and Multiple states profile work?
  #57  
Old 03-01-2012
mgiubilato mgiubilato is offline
Flexcon, Flexsim Distributor, Italy
 
Join Date: Aug 2007
Location: Pecetto Torinese (IT)
Posts: 24
Downloads: 24
Uploads: 0
Thanks: 93
Thanked 22 Times in 11 Posts
Rep Power: 169
mgiubilato will become famous soon enough
Default Set object' s label value a reset

Just a few questions :
- Is it possible disabling it as default ?
- Actually when this option is checked/unchecked all the object' s labels follow the same behaviour, is it possible have independent settings for labels ?
- When label' s reset value is set, after or before object' s OnReset ?

Regards
  #58  
Old 03-01-2012
mgiubilato mgiubilato is offline
Flexcon, Flexsim Distributor, Italy
 
Join Date: Aug 2007
Location: Pecetto Torinese (IT)
Posts: 24
Downloads: 24
Uploads: 0
Thanks: 93
Thanked 22 Times in 11 Posts
Rep Power: 169
mgiubilato will become famous soon enough
Default

Quote:
Originally Posted by Jason Lightfoot View Post
Here's an example of gathering global table information
Jason Excellent !!!
How does it work ?
  #59  
Old 03-01-2012
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

Quote:
Originally Posted by mgiubilato View Post
How does it work ?

It's already partially catered for in the exec/replications/PerformanceMeasures logic, but as that's standard Flexsim and outside the model we need to overwrite it (for now). So ModelOnLoad copies a custom PerformanceMeasures node from the /Tools folder into the exec location. I used the standard EndReplication to copy the data you want into the /Tools/Experiment folder which is passed into the PerformanceMeasures code. The custom code to interpret the table and move it is right at the end of the PerformanceMeasures code (one line).

Since we don't want to maintain copies of PerformanceMeasures in the model, it would be better if there was a trigger in the model experimenter that gets called from PerformanceMeasures when it's passed the experiment folder from a child replication. It would need to pass in a pointer to the returned experiment folder. Heck I should have just put that into this example in the first place!

Last edited by Jason Lightfoot; 03-01-2012 at 11:33 AM.
  #60  
Old 03-02-2012
mark.gormley mark.gormley is offline
Flexsim User
 
Join Date: Oct 2008
Posts: 58
Downloads: 12
Uploads: 0
Thanks: 32
Thanked 63 Times in 29 Posts
Rep Power: 181
mark.gormley has a spectacular aura aboutmark.gormley has a spectacular aura about
Default

Quote:
Originally Posted by Jason Lightfoot View Post
Here's an example of gathering global table information

Thanks for that Jason, really good.

I do however think that this functionality should be included by default.
It is a feature of the software that currently exists as standard and has now been removed.

Perhaps we could have some way of flagging tables that collect results and need to be merged at the end of an experiment to produce combined results?


Thread Thread Starter Forum Replies Last Post
Flexsim 5 Beta Anthony Johnson Product Announcements 47 10-26-2011 11:08 AM
Version 4.5 Beta Phil BoBo Product Announcements 19 12-26-2008 04:53 PM


All times are GMT -6.
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 1993-2018 FlexSim Software Products, Inc.