Simio User Code Appendix - User Code.

Slides:



Advertisements
Similar presentations
Tutorial 12: Enhancing Excel with Visual Basic for Applications
Advertisements

© by Pearson Education, Inc. All Rights Reserved.
Copyright © 2008 Pearson Prentice Hall. All rights reserved. 1 1 Committed to Shaping the Next Generation of IT Experts. Chapter 2: Relational Databases.
Chapter 12: Using ADO.NET 2.0 Programming with Microsoft Visual Basic 2005, Third Edition.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
1 Chapter 12 Working With Access 2000 on the Internet.
Chapter 12: ADO.NET and ASP.NET Programming with Microsoft Visual Basic.NET, Second Edition.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Mark Rees Microsoft Consulting Services OFC409 Windows Workflow Foundation (WF) Primer Creating WF programs in Visual Studio Creating workflow templates.
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Introduction to ADO.Net, VB.Net Database Tools and Data Binding ISYS 512.
ASP.NET Programming with C# and SQL Server First Edition
Textbook: Applied Simulation, modeling and Analysis using FlexSim
DB Audit Expert v1.1 for Oracle Copyright © SoftTree Technologies, Inc. This presentation is for DB Audit Expert for Oracle version 1.1 which.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Project Implementation for COSC 5050 Distributed Database Applications Lab2.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Workflow and SharePoint Presented by Ben Geers. Overview What is workflow? Windows Workflow Foundation How does workflow apply to SharePoint? WSS v3 vs.
INSERT BOOK COVER 1Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall. Exploring Microsoft Office Access 2010 by Robert Grauer, Keith.
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
Using Visual Basic 6.0 to Create Web-Based Database Applications
Chapter 11: Introduction to the Visual Basic Environment Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University.
Data-mining & Data As we used Excel that has capability to analyze data to find important information, the data-mining helps us to extract information.
Chapter 1: An Introduction to Visual Basic 2005 Programming with Microsoft Visual Basic 2005, Third Edition.
Developing Reporting Solutions with SQL Server
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
1 Data Bound Controls II Chapter Objectives You will be able to Use a Data Source control to get data from a SQL database and make it available.
Domain 3 Understanding the Adobe Dreamweaver CS5 Interface.
Project Implementation for COSC 4120 Database Applications Lab 3.
© 2009 Bentley Systems, Incorporated Chris Collins D&C Manager Quantities.
Oracle Data Integrator Procedures, Advanced Workflows.
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
SQL Reporting Services From a Developers Perspective Adam Calderon Principal Engineer Interknowlogy LLC
Tutorial 91 Databases A database is an organized collection of related information stored in a file on a disk A database allows companies to store information.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Introduction to ADO.Net and VS Database Tools and Data Binding ISYS 350.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 25.1 Test-Driving the ATM Application 25.2.
Separating the Interface from the Engine: Creating Custom Add-in Tasks for SAS Enterprise Guide ® Peter Eberhardt Fernwood Consulting Group Inc.
BlackBerry Applications using Microsoft Visual Studio and Database Handling.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
1 How to Install OpenGL u Software running under Microsoft Windows makes extensive use of "dynamic link libraries." A dynamic link library (DLL) is a set.
23 Copyright © 2009, Oracle. All rights reserved. Oracle Business Intelligence Answers: Advanced Features.
21 Copyright © 2009, Oracle. All rights reserved. Working with Oracle Business Intelligence Answers.
CSCI 3327 Visual Basic Chapter 13: Databases and LINQ UTPA – Fall 2011.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Appendix I: Getting Started with Web Servers, PHP and the.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Physical Layer of a Repository. March 6, 2009 Agenda – What is a Repository? –What is meant by Physical Layer? –Data Source, Connection Pool, Tables and.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
COMPREHENSIVE Excel Tutorial 12 Expanding Excel with Visual Basic for Applications.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
Agenda for Today  DATABASE Definition What is DBMS? Types Of Database Most Popular Primary Database  SQL Definition What is SQL Server? Versions Of SQL.
2 Copyright © 2008, Oracle. All rights reserved. Building the Physical Layer of a Repository.
Produce the help package
Visual Basic 2010 How to Program
Forms Concepts Triggers Fired when Internal/External events occur
, MS-Access, QBE, Access/Oracle
Working in the Forms Developer Environment
Data Virtualization Demoette… Custom Java Procedures
Exploring Microsoft Office Access
Database Applications
These slides are for reference only. They are not "lecture notes"
Chapter 10 Accessing Database Files
Exploring Microsoft Office Access
Presentation transcript:

Simio User Code Appendix - User Code

Types of User Code Steps and Elements Dynamic Selection Rules Design Time Add-Ins Table Import/Binding Design or Run Experiments We install the source code to all of our extensions C:\Users\Public\Documents\Simio\Examples\UserExtensions in Vista C:\Documents and Settings\All Users\Documents\Simio\Examples\UserExtensions in XP

Getting Started Visual C# (or Visual Basic) 2008 Express Edition can be used to create these DLLs Simio provides a Visual Studio template for a custom Step and a template for a custom Element Auto install or manual setup: Start Menu – Simio – Advanced – Install Visual Studio 2008 Templates Place zip files into directory MyDocuments\Visual Studio 2008\Item Templates\[language]\SimioUserExtensions MyDocuments\Visual Studio 2008\Project Templates\[language]\SimioUserExtensions Mention BUG in Visual Studio Express 2008 with our auto installer. Appendix - User Code

Using VS Templates

Getting Started Reference SimioAPI.dll and SimioAPI.Extensions.dll in the Visual Studio project Implement the appropriate interfaces from SimioAPI.Extensions.dll Copy your new DLL into the UserExtensions directory under the main Simio directory

Location of Files SimioAPI.dll and SimioAPI.Extensions.dll Program Files\Simio Source code of Custom Extensions (.cs files) C:\Users\Public\Documents\Simio\Examples\UserExtensions in Vista C:\Documents and Settings\All Users\Documents\Simio\Examples\UserExtensions in XP All custom .dll files (Simio provided and your files) Program Files\Simio\User Extensions PLACE YOUR CUSTOM .DLL FILES HERE SO THEY APPEAR IN THE SIMIO INTERFACE

Common Considerations Most User Code extensions have a Name and a UniqueID. The Name is human readable. Simio uses the UniqueID to identify each extension. Two extensions with the same Name but different UniqueIDs are treated as different extensions. The UniqueID is a GUID (Globally Unique IDentifier). You can create one by going to www.guidgen.com.

Steps and Elements Typically, you will implement one or more related elements and one or more steps that operate on those elements. For an element, create objects that implement the IElementDefinition and IElement interfaces For a step, create objects that implement the IStepDefinition and IStep interfaces IElementDefinition/IStepDefinition is where you describe the properties for the step or element. IElement/IStep is where you put the runtime behavior.

Creating a step definition Implement StepName, UniqueID, and NumberOfExits for the definition Implement DefineSchema, and make calls to the methods on propertyDefinitions to add properties for the step. Implement CreateStep to return a new instance of your implementation of IStep

Defining a step’s runtime behavior When Simio calls your implementation of Execute, you will: Retrieve the current values of your properties Act upon them Return a value indicating the exit for token departure, or that the token is blocked at the step. Typically, one of your properties would be an IElementProperty reference to a custom element that Execute manipulates See the OpenStep (and PassThruStep) implementation Appendix - User Code

Creating an element definition Implement ElementName and UniqueID for the definition Implement DefineSchema, and make calls to the routines on schema to add properties, states, or events for the element. Implement CreateElement to return a new instance of your implementation of IElement

Defining an element’s runtime behavior Typically an element stores state at runtime. The logic is determined by steps manipulating the element. Elements have Initialize and Shutdown routines, which Simio calls at the start and end of a simulation. Implementations could use these calls to open and close external resources for example. See FileElement Appendix - User Code

Dynamic Selection Rules Dynamic Selection Rules are used to select from a list of things at runtime using some criteria (Smallest Value First, Largest Value First, etc.) The ISelectionRuleDefinition is where you describe the properties for the rule The ISelectionRule defines runtime behavior for the rule

Creating a rule definition Implement RuleName and UniqueID for the definition Implement DefineSchema, and make calls to the methods on propertyDefinitions to add properties for the rule Implement CreateRule to return a new instance of your implementation of ISelectionRule

Defining a rule’s runtime behavior Simio calls your Select routine with a collection of IExecutionContext, which represent a series of objects from which you make your selection Return the IExecutionContext for the selected item See LargestValueFirst rule Appendix - User Code

Design Time Add-Ins Design Time Add-Ins are executed from the user interface via the “AddIn” button on the “Project Home” tab. They are used to produce model contents in code rather than using the user interface.

Creating a Design Time Add-In Create an object that implements the IDesignAddIn interface Implement Name, Description, and Icon for the add-in. These appear in Simio’s user interface. When Simio calls the Execute routine, you use the IModel passed in to create and modify things in the model. See SourceServerSink add-in Appendix - User Code

Table Import/Binding Table importers are used to connect Simio’s tables to external data sources They are executed under two conditions Interactively importing data for a table Automatically importing data for a bound table at simulation start We ship with two examples, one for Excel and one for CSV. See the CSVGridDataProvider Appendix - User Code

Links with DB connect info Oracle http://msdn.microsoft.com/en-us/library/system.data.oracleclient(v=VS.100).aspx SQL Server http://msdn.microsoft.com/en-us/library/system.data.sqlclient(v=VS.100).aspx ODBC http://msdn.microsoft.com/en-us/library/system.data.odbc(v=VS.100).aspx See the CSVGridDataProvider Appendix - User Code