The Future of Simulation, Growing with You

Utilize Advanced Programming Features: Extend Functionality

team conference picture

Simio provides an open .NET-based architecture for advanced users that want to use programming to extend the core functionality of the system. You can use this powerful and unique capability to extend Simio in many different ways.

You can program these extensions in the .NET programming language of your choice, including Visual Basic, C#, F#, Java (J#), Pearl, Prolog, or any of more than 50 other .NET languages.

For example:

  • Write add-ins to automatically build Simio models – e.g. write a Visual Basic program that reads a description of your system from an Excel spreadsheet and then automatically creates a corresponding Simio model.
  • Write new custom data integration extensions that allow you to automatically import and bind to any type of external data (Simio already includes functionality for importing and binding to common data sources including Excel and CSV files). Your custom data integration extensions will automatically appear as a new import/bind options on the data ribbon in Simio.
  • Write custom dynamic selection rules for searching queues and selecting the next item to process on a resource. For example implement custom scheduling rules for selecting the next call to process at a call center. Your new custom rules will automatically appear in the drop down list of choices for dynamic selections throughout your models.
  • Add custom algorithms for automatically creating a specific design of experiments, interpreting simulation results, or dynamically adding scenarios to execute as part of an optimization strategy.
  • Add new base modeling constructs including user defined process steps and elements – e.g. add a new process step to Simio that directly interacts with a hardware device in your facility.

You can write your own user extensions for Simio, or leverage add-ins that are developed by third parties. Simio ships with a number of example add-ins, including a very useful add-in based on an algorithm by Professors Kim and Nelson for automatically selecting the best system from a set of candidate systems.

Employ Multiple Modeling Paradigms

Computer mouse picture

Simio seamlessly integrates the object and process modeling paradigms to combine the ease of use of pre-built objects with the flexibility of processes to give you a more accurate portrayal of your system. This patent-pending architecture lets you gain the benefits of object-based modeling without giving up the flexibility of processes. You can augment an object model with processes that interact with your objects and you can also pass “add-on” processes into objects to execute at specific times (e.g. just before an entity departs the object). Note that this is significantly more powerful than executing a Java/C++ method since a process can span time and wait for resources, events, etc.

The Agile Development Process

We are following an agile methodology in which we develop in three week cycles called sprints. At the end of each sprint we have tested, documented, distributable software including new functionality. The following pages describe the enhancements added during each sprint. A quick review will give you an idea how the product is evolving and what has recently changed. It is generally not necessary that you download and install every Sprint unless you are waiting for a particular feature or issue to be addressed. But we encourage you to do so when convenient so that you are always working with the best software, documentation and examples we can deliver.

To see a list of sprints and read our release notes, click here.

What's Next?

  • Learning Simio
    Find out how to attend a private demonstration, training class, watch an on-demand webinar, and more.
  • Whitepapers
    Required reading for current and future Simio users.
  • Applications Areas
    See how Simio is used.