Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full...
Transcript of Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full...
![Page 1: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/1.jpg)
Reusable Simio AssetsMichael-Anthony Tedesco & Bonnie Yue
Simio User Group MeetingMay 7, 2018
![Page 2: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/2.jpg)
Who Are We?
2,000+ self-driving robots in over
40 countries.
Flexible and intelligent self-driving
vehicles for industrial materials
handling.
Market-leading mobile robots for
advanced research and
development.
![Page 3: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/3.jpg)
Who Are We?
Flexible and intelligent self-driving
vehicles for industrial materials
handling.
![Page 4: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/4.jpg)
CLEARPATH CONFIDENTIAL
OTTO Industrial Simulation Services (ISS)
ISS was formed to provide customers with insight relating to the use of OTTOs in their facility
Can I achieve my
desired
throughput?
What are potential
issues with one way
vs two way traffic
How much do I need to
spend on material
transport vehicles?
What unit load
capacity optimizes
the flow?
![Page 5: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/5.jpg)
CLEARPATH CONFIDENTIAL
Value Simulation Brings
● Concept evaluation - Deeper insight into system workflow, early identification of risks
● Equipment sizing - Better understanding of business case
● Data driven decisions
● Concept visualization - promotes clear communication of concept, trigger concept ideas
● Marketing assets● Internal design analysis
How do design changes
impact our
competitiveness?
Do OTTOs make
business sense in this
use case?
We also use Simio for...
● Evaluation future use cases
![Page 6: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/6.jpg)
CLEARPATH CONFIDENTIAL
Reusable Assets
Our models need to be
● quick to build
● quick to provide 1st iteration results
How can we build flexible,
scalable and reusable assets?
![Page 7: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/7.jpg)
Why Do We Need Reusable Assets?
FASTER MODEL DEVELOPMENT
● Leverage work that has been done already
● Reduce Verification & Validation
LEARN LESSONS ONCE ONLY
● Knowledge sharing
● Quickly remember how to after long gaps
● Don’t need to sift through unrelated elements
ENABLE COLLABORATION
CONSISTENCY ACROSS PROJECTS
MANAGE CHANGES
![Page 8: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/8.jpg)
What Are Reusable Assets?
CUSTOM LIBRARY
TEMPLATES
DOCUMENTATION
/DELIVERABLES
MINI-SIMS/SIMBITS
![Page 9: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/9.jpg)
Where Should My Code Go?
USE CASE SPECIFIC ++ GENERIC
CO
MP
LE
XIT
Y +
MINI-SIMS
SIMBITS
CUSTOM
LIBRARY
TEMPLATE
PROJECT
MODEL
CUSTOM
STEPS (API)
![Page 10: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/10.jpg)
CAPTURE GENERAL BEHAVIOUR
● Common across different use cases
○ e.g. Vehicle with a Battery Discharge Model
AVOID MIXING MODIFIED OBJECTS FROM CUSTOM LIBRARY WITH STANDARD LIBRARY OBJECTS
Custom Library
LIBRARY IS SPFX FILE
● Import (Load) Library file into Project file
BUILD OFF SIMIO STANDARD LIBRARY
● 2 approaches
○ Copy Base objects
○ Subclass from Base objects
● Use objects, not models
![Page 11: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/11.jpg)
Custom Library
SIMIO BUILT ON OBJECT ORIENTED PROGRAMMING CONCEPTS
○ Subclass -> Inheritance
○ Processes -> Methods
○ Properties -> Constant/Static Fields
○ States -> Variables
CONFIGURE VS SUBCLASS
○ Configure
■ Different operation through setting different property values
■ All the process logic in 1 object class
■ Can make code more complex (lots of ifs, decides and/or exclusions)
○ Subclass
■ Different operation through separate object class definitions
■ Common behaviour through inheritance from common parent object class
![Page 12: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/12.jpg)
Custom Library
HIERARCHY & SUBCLASSING
● Subclass all objects from Simio Standard
Library (and then don’t use Standard
Library objects)
● Most general behaviour at highest levels
![Page 13: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/13.jpg)
Custom Library
HIERARCHY & SUBCLASSING
● Subclass all objects from Simio Standard
Library (and then don’t use Standard
Library objects)
● Most general behaviour at highest levels
● Reference objects at higher or same level
○ Reference dependency created
when casting used in process logic
○ e.g. Cart.refNextCartInTrain in
Tugger object process
![Page 14: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/14.jpg)
Custom Library
HIERARCHY & SUBCLASSING
● Subclass all objects from Simio Standard
Library (and then don’t use Standard
Library objects)
● Most general behaviour at highest levels
● Reference objects at higher or same level
○ Reference dependency created
when casting used in process logic
○ e.g. Cart.refNextCartInTrain in
Tugger object process
● Cast most general type possible
○ Don’t use Cart.CurrentNode when
Entity.CurrentNode is available
![Page 15: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/15.jpg)
Custom Library
HIERARCHY & SUBCLASSING
● Subclass all objects from Simio Standard
Library (and then don’t use Standard
Library objects)
● Most general behaviour at highest levels
● Reference objects at higher or same level
○ Reference dependency created
when casting used in process logic
○ e.g. Cart.refNextCartInTrain in
Tugger object process
● Cast most general type possible
○ Don’t use Cart.CurrentNode when
Entity.CurrentNode is available
![Page 16: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/16.jpg)
Custom Library
CHECKING REFERENCE DEPENDENCIES
● Right-click object definition in Navigation window
![Page 17: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/17.jpg)
Custom Library
HIERARCHY & SUBCLASSING (cont.)
● Beware Death Loop!
○ Parent object class references subclassed object
![Page 18: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/18.jpg)
Mini-Sims
Simple models meant to showcase a specific functionality• Test model for component development• Base model for verification • Starting point for future model development, for efficiency & reusability• How to use components to achieve functionality, for future training purposes
Example
CPR Entity Container
Loading
Node
Unloading
Node
![Page 19: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/19.jpg)
Template
Models that handle specific recurring use cases • Standardized mission types• Standardized parameter / tables (inputs)• Standardized experiments (outputs)
Ex. Fleet Estimation Template
Mission type
Assumptions
Metrics
Typical Development Time < half day
![Page 20: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/20.jpg)
Model Lifecycle Management
INTERACTIONS & DEPENDENCIESMODEL LIFECYCLE A topic onto itself!
(Next year?)
![Page 21: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/21.jpg)
Model Lifecycle Management
WHY?
● Consistency
● Traceability
○ Model History
○ Results <--Model
● Manage Dependencies
HOW?
● PDM Vault (SOLIDWORKS/DESSAULT)
○ Version Control
■ Full history with comments
■ Can roll back to previous versions
○ Manages collaboration & concurrent development
○ Only edits file properties (read-only, metadata) of Simio
■ Doesn’t corrupt SPFX files!
![Page 22: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/22.jpg)
Best Practices
COLOUR
● Where code is executed
○ Library
■ Overwritten process
■ New process
○ Model
■ Subclassed object
■ Model Process logic
● Certain step types
○ Excluded steps
○ Temporary Steps for debugging (find and remove later)
○ Assertions (Notify Steps)
LIBRARY OBJECTS
● Provide free (not used) properties and states for common types for undefined future use
● Provide Add-on processes
○ Empower model level custom code without needing to subclass library object in model
![Page 23: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/23.jpg)
Best Practices
ASSERTIONS
● Used to make implicit assumptions explicit
● Decide Step + Notify Step (RED)
● Steps that should never actually be reached
● Helps with model Verification
● Use Warning/Error (not Trace) in Notify Step to interrupt
execution
○ Warning will interrupt interactive run, message in
Experiment trace
○ Error will end interactive run, fail replication in
Experiment
NO MAGIC NUMBERS!!!
● Don’t hide numbers (except 1s & 0s) in step definition. Any
number should be a property, state or table value
● Properties should default to most permissive value
○ Exception: Common value that should be used
DEFINE AND DOCUMENT YOUR BEST PRACTICES
![Page 24: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/24.jpg)
Summary
● Reusable Assets
○ reduce model development time,
○ increase consistency between models
○ facilitate collaboration and changes
● Most general behaviour in Library. Use case specific behaviour at Model level
● Recurring use-cases can be generalized into a template
● Require structure, discipline and management through the entire Model Lifecycle
● Define, document and use best-practices
![Page 25: Simio User Group Meeting May 7, 2018 · PDM Vault (SOLIDWORKS/DESSAULT) Version Control Full history with comments Can roll back to previous versions Manages collaboration & concurrent](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f158554781b7a6b5b42bc2e/html5/thumbnails/25.jpg)