Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

ManPy: an open-source software tool for building discrete event simulation models of manufacturing systems

Published: 01 July 2016 Publication History

Abstract

In this paper, we present a new open-source OS software library for building discrete event simulation objects with focus on manufacturing environments. ManPy stands for 'Manufacturing in Python' but employs a generic approach that can be extended to other types of business processes such as services, logistics and supply chain management. It is written in Python and makes use of the SimPy library to implement a process interaction world view. The goal in developing ManPy is to provide an expandable OS layer of well-defined manufacturing objects, which can be used by users with multiple levels of expertise in discrete event simulation, namely, a super user and an industrial engineer. This object repository follows a structured architecture, allowing developers to extend it, exchange ideas and methodologies, with the goal of forming an OS community. We explain how ManPy is developed on SimPy, present its architecture and give examples of its utilization. We also give insight of how this work is planned to progress in order to attract software developers, modellers and practitioners in an OS community. Copyright © 2015 John Wiley & Sons, Ltd.

References

[1]
Shannon RE. Introduction to the art and science of simulation. In Proceedings of the 30th Conference on Winter Simulation, 1998; pp.7-14.
[2]
Karabuk S, Grant FH. A common medium for programming operations-research models. IEEE Software 2007; Volume 24 Issue 5: pp.29-47.
[3]
Tako AA, Robinson S. Model development in discrete-event simulation and system dynamics: an empirical study of expert modellers. European Journal of Operational Research 2010; Volume 207 Issue 2: pp.784-794.
[4]
Fujimoto R. Parallel discrete event simulation. Communications of the ACM 1990; Volume 33 Issue 10: pp.30-53.
[5]
Can B, Beham A, Heavey C. A comparative study of genetic algorithm components in simulation-based optimisation. In Proceedings of the 40th Conference on Winter Simulation, 2008; pp.1829-1837.
[6]
Seila AF. Introduction to simulation. In Proceedings of the 27th Conference on Winter Simulation, 1995; pp.7-15.
[7]
Banks J. Introduction to simulation. Proceedings of the Winter Simulation Conference 2000; Volume 1: pp.9-16.
[8]
Tako AA, Robinson S. The application of discrete event simulation and system dynamics in the logistics and supply chain context. Decision Support Systems 2012; Volume 52 Issue 4: pp.802-815.
[9]
Jahangirian M, Eldabi T, Naseer A, Stergioulas LK, Young T. Simulation in manufacturing and business: a review. European Journal of Operational Research 2010; Volume 203 Issue 1: pp.1-13.
[10]
Hlupic V. Simulation software: an Operational Research Society survey of academic and industrial users. In Proceedings of the 32nd Conference on Winter Simulation, 2000; pp.1676-1683.
[11]
Pidd M, Carvalho A. Simulation software: not the same yesterday, today or forever. Journal of Simulation 2006; Volume 1 Issue 1: pp.7-20.
[12]
McLean C, Leong S. The expanding role of simulation in future manufacturing. In Proceedings of the 33rd Conference on Winter Simulation, 2001; pp.1478-1486.
[13]
King D, Harrison H. Discrete-event simulation in Java: a practitioner's experience. In Proceedings of the 2010 Conference on Grand Challenges in Modeling & Simulation, 2010; pp.436-441.
[14]
Dagkakis G, Heavey C. A review of open source discrete event simulation software for operations research. Accepted for publication in the Journal of Simulation 2015.
[15]
Millman KJ, Aivazis M. Python for scientists and engineers. Computing in Science & Engineering 2011; Volume 13 Issue 2: pp.9-12.
[16]
Varga A, Hornig R. An overview of the OMNeT++ simulation environment. In Proceedings of the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and Systems & Workshops, 2008.
[17]
Henderson TR, Lacage M, Riley GF, Dowell C, Kopena JB. Network simulations with the ns-3 simulator. SIGCOMM demonstration, 2008.
[18]
Munoz-Gea JP, Malgosa-Sanahuja J, Manzanares-Lopez P, Manzanares-Lopez P, Sanchez-Aarnoutse JC, Martinez-Rojo AM. Simulation of a P2P application using OverSim. First International Conference on Advances in Future Internet, 2009; pp.53-60.
[19]
Sarkar NI, Member S, Halim SA. A review of simulation of telecommunication networks: simulators, classification, comparison, methodologies, and recommendations. Cyber Journals: Multidisciplinary Journals in Science and Technology-Journal of Selected Areas in Telecommunications JSAT 2011; Volume 2 Issue 3: pp.10-17.
[20]
Weingartner E, Lehn VH, Wehrle K. A performance comparison of recent network simulators. In IEEE International Conference on Communications, 2009. ICC '09:1-5.
[21]
Raymond E 1999. The cathedral and the bazaar. Knowledge, Technology & Policy Volume 12 Issue 3: pp.23-49.
[22]
Varga A. The OMNeT++ discrete event simulation system. In Proceedings of the European Simulation Multiconference ESM'2001 9, 2001.
[23]
King D, Harrison H. JaamSim open-source simulation software. In Proceedings of the 2013 Grand Challenges on Modeling and Simulation Conference, 2013; pp.1-6.
[24]
Matloff N. Introduction to discrete-event simulation and the SimPy language. Davis, CA. Dept of Computer Science. University of California at Davis, 2008.
[25]
Núñez A, Fernández J, Filgueira R, García F, Carretero J. SIMCAN: a flexible, scalable and expandable simulation platform for modelling and simulating distributed architectures and applications. Simulation Modelling Practice and Theory 2012; Volume 20 Issue 1: pp.12-32.
[26]
Bause F, Buchholz P, Kriege J, Vastag S. Simulating process chain models with OMNeT++. In Proceedings of the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and Systems & Workshops 19, 2008; pp.1-10.
[27]
Kriege J, Vastag S. ProC/B goes OMNeT++: efficient simulation of process chains. In Proceedings of the 14th I/ITG Conference on Measuring, Modelling and Evaluation of Computer and Communication Systems MMB, 2008; pp.1-3.
[28]
Bause F, Buchholz P, Kriege J, Vastag S. A simulation environment for hierarchical process chains based on OMNeT++. Simulation 2010; Volume 86 Issue 5-6: pp.291-309.
[29]
Ueda M. Licenses of open source software and their economic values. In The 2005 Symposium on Applications and the Internet Workshops, 2005. Saint Workshops, 2005; pp.381-383.
[30]
Rozel B, Viziteu M, Caire R, Hadjsaid N, Rognon JP. Towards a common model for studying critical infrastructure interdependencies. In Power and Energy Society General Meeting - Conversion and Delivery of Electrical Energy in the 21st Century, 2009; pp.1-6.
[31]
Margo MW, Yoshimoto K, Kovatch P, Andrews P. Impact of reservations on production job scheduling. In Job Scheduling Strategies for Parallel Processing. Springer Berlin Heidelberg: Berlin, 2008; pp.116-131.
[32]
Kuljis J, Paul RJ. An appraisal of web-based simulation: whither we wander? Simulation Practice and Theory 2001; Volume 9 Issue 1-2: pp.37-54.
[33]
Grandell L, Peltomäki M, Back RJ, Salakoski T. Why complicate things? Introducing programming in high school using Python. In Proceedings of the 8th Australasian Conference on Computing Education 52, 2006; pp.71-80.
[34]
Fangohr H. A comparison of C, MATLAB, and Python as teaching languages in engineering. In Computational Science-ICCS 2004. Springer Berlin Heidelberg: Berlin, 2004; pp.1210-1217.
[35]
Oliver M. Introduction to the SciPy Stack - scientific computing tools for Python, 2013.
[36]
Pedregosa F, Varoquaux G, Gramfort A, Michel V, Thirion B, Grisel O, Blondel M, Prettenhofer P, Weiss R, Dubourg V, Vanderplas J, Passos A, Cournapeau D, Brucher M, Perrot M, Duchesnay É. Scikit-learn: machine learning in Python. The Journal of Machine Learning Research 2011; Volume 12: pp.2825-2830.
[37]
McInnes A, Thorne B. ScipySim: towards distributed heterogeneous system simulation for the SciPy platform work-in-progress. In Proceedings of the 2011 Symposium on Theory of Modeling & Simulation: DEVS Integrative M&S Symposium, 2011; pp.89-94.
[38]
Pfeiffer A, Hellerer M, Hartweg S, Otter M, Reiner M. PySimulator: a simulation and analysis environment in Python with plugin infrastructure. In Proceedings of the 9th International Modelica Conference, September 3-5, 2012.
[39]
Dawson B. Game scripting in Python. In Proceedings of the Game Developers Conference GDC, 2002.
[40]
Tabba F. Adding concurrency in python using a commercial processor's hardware transactional memory support. ACM SIGARCH Computer Architecture News 2010; Volume 38 Issue 5: pp.12.
[41]
Lavrijsen WT. Optimizing Python-based ROOT I/O with PyPy's tracing just-in-time compiler. Journal of Physics: Conference Series 2012; Volume 396 Issue 5.
[42]
Bahouth A, Crites S, Matloff N, Williamson T. Revisiting the issue of performance enhancement of discrete event simulation software. Proceedings of the 40th Annual Simulation Symposium 2007; Volume 26 Issue 28: pp.114-122.
[43]
Liu X, He Q, Qiu X, Chen B, Huang K. Cloud-based computer simulation: towards planting existing simulation software into the cloud. Simulation Modelling Practice and Theory 2012; Volume 26: pp.135-150.
[44]
Matloff N. Advanced features of the SimPy language. Davis, CA. Dept of Computer Science. University of California at Davis, 2008.
[45]
Pegden CD. Advanced tutorial: overview of simulation world views. In Proceedings of the Winter Simulation Conference, 2010; pp.210-215.
[46]
Schriber T, Brunner D, Smith J. How discrete-event simulation software works and why it matters. In Proceedings of the Winter Simulation Conference, 2012; pp.1-15.
[47]
Bangsow S. Manufacturing Simulation With Plant Simulation and Simtalk: Usage and Programming With Examples and Solutions. Springer Berlin Heidelberg: Berlin, 2010.
[48]
Bischak D, Roberts S. Object-oriented simulation. In Proceedings of the 23rd Conference on Winter Simulation, 1991; pp.194-203.
[49]
Rentsch T. Object oriented programming. ACM SIGPLAN Notices 1982; Volume 17 Issue 9: pp.51-57.
[50]
Matsumoto M, Nishimura T. Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. Journal of ACM Transactions on Modeling and Computer Simulation TOMACS 1998; Volume 8 Issue 1: pp.3-30.
[51]
Dagkakis G, Rotondo A, Papagiannopoulos I, Heavy C, Geraghty J, Young P. From COTS simulation software to an open-source platform: a use case in the medical device industry. In Proceedings of the 8th International Conference on Digital Enterprise Technology DET 2014, 2014.
[52]
Zhu H, Hall PAV, May JHR. Software unit test coverage and adequacy. Journal of ACM Computing Surveys CSUR 1997; Volume 29 Issue 4: pp.366-427.
[53]
Kelton W, Law A. Simulation Modeling and Analysis. McGraw-Hill: Boston, 2000.
[54]
Fu MC. Optimization for simulation: theory vs. practice. INFORMS Journal on Computing 2002; Volume 14 Issue 3: pp.192-215.
[55]
Mitchell S. An introduction to pulp for Python programmers. Python Papers Monograph 2009; Volume 1: pp.1-12.
[56]
Ye Y, Kishida K. Toward an understanding of the motivation of open source software developers. In Proceedings of the 25th International Conference on Software Engineering, 2003; pp.419-429.
[57]
Di Bella E, Sillitti A, Succi G. A multivariate classification of open source developers. Information Sciences 2013; Volume 221: pp.72-83.
[58]
Lakhani KR, Von Hippel E. How open source software works: "free" user-to-user assistance. Research Policy 2003; Volume 32 Issue 6: pp.923-943.
[59]
Hertel G Niedner S, Herrmann S. Motivation of software developers in open source projects: an Internet-based survey of contributors to the Linux kernel. Research Policy 2003; Volume 32 Issue 7: pp.1159-1177.
[60]
Von Krogh G, Haefliger S, Spaeth S, Wallin MW. Carrots and rainbows: motivation and social practice in open source software development. MIS Quarterly 2012; Volume 36 Issue 2: pp.649-676.
[61]
Fitzgerald B, Agerfalk PJ. Outsourcing to an unknown workforce: exploring opensourcing as a global sourcing strategy. MIS Quarterly 2010; Volume 32 Issue 2: pp.385-409.
[62]
Fogel K. Producing Open Source Software: How to Run a Successful Free Software Project. O'Reilly Media, Inc: Sebastopol, CA, United States of America, 2005.
[63]
Oliphant TE. A Guide to NumPy. Trelgol Publishing USA, 2006.
[64]
Smets-Solanes JP, Cerin C, Courteaud R. Slapos: a multi-purpose distributed cloud operating system based on an ERP billing model. In Proceedings of the IEEE International Conference on Services Computing SCC, 2011; pp.765-766.
[65]
Heavey C, Dagkakis G, Barlas P, Papagiannopoulos I, Robin S, Mariani M, Perrin J. Development of an open-source discrete event simulation cloud enabled platform. In Proceedings of the Winter Simulation Conference, 2014; pp.2824-2835.
[66]
Valentin EC, Verbraeck A. Requirements for domain specific discrete event simulation environments. In Proceedings of the 2005 Winter Simulation Conference, 2005; pp.654-663.

Cited By

View all
  • (2023)Introducing the Kotlin Simulation Library (KSL)Proceedings of the Winter Simulation Conference10.5555/3643142.3643418(3311-3322)Online publication date: 10-Dec-2023
  • (2019)Embedding optimization with deterministic discrete event simulation for assignment of cross-trained operatorsComputers and Operations Research10.1016/j.cor.2019.06.008111:C(99-115)Online publication date: 1-Nov-2019
  • (2018)A review of simulation-optimization methods with applications to semiconductor operational problemsProceedings of the 2018 Winter Simulation Conference10.5555/3320516.3320954(3672-3683)Online publication date: 9-Dec-2018

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Software
Software  Volume 46, Issue 7
July 2016
140 pages
ISSN:0038-0644
EISSN:1097-024X
Issue’s Table of Contents

Publisher

John Wiley & Sons, Inc.

United States

Publication History

Published: 01 July 2016

Author Tags

  1. ManPy
  2. Python
  3. SimPy
  4. discrete event simulation
  5. open source

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Introducing the Kotlin Simulation Library (KSL)Proceedings of the Winter Simulation Conference10.5555/3643142.3643418(3311-3322)Online publication date: 10-Dec-2023
  • (2019)Embedding optimization with deterministic discrete event simulation for assignment of cross-trained operatorsComputers and Operations Research10.1016/j.cor.2019.06.008111:C(99-115)Online publication date: 1-Nov-2019
  • (2018)A review of simulation-optimization methods with applications to semiconductor operational problemsProceedings of the 2018 Winter Simulation Conference10.5555/3320516.3320954(3672-3683)Online publication date: 9-Dec-2018

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media