Academia.eduAcademia.edu

Towards Automated Simulation Input Data

Discrete Event Simulation (DES) has proved itself to be an effective tool for complex processes analysis. The drawback of using DES is the effort required and costs spent on collecting and processing the input data from different data sources. To address the problem of time consuming pre-coding for DES projects, a tool based on Core Manufacturing Simulation Data (CMSD) is currently being developed. The tool will read data from several resources of an organisation; analyse it using statistical analysis and output it in a format that is applicable to simulation purposes. The format that we adopted follows the CMSD standard in order to describe simulation related data. The CMSD specification is presented as simulation input, in order to achieve the efficient reuse of this data for future DES projects. We present a first prototype and a test implementation of this tool and we draw conclusions about the future steps of our project.

Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. TOWARDS AUTOMATED SIMULATION INPUT DATA Panagiotis Barlas Cathal Heavey Enterprise Research Centre University of Limerick Limerick, Ireland Panagiotis.Barlas@ul.ie Enterprise Research Centre University of Limerick Limerick, Ireland Cathal.Heavey@ul.ie ABSTRACT Discrete Event Simulation (DES) has proved itself to be an effective tool for complex processes analysis. The drawback of using DES is the effort required and costs spent on collecting and processing the input data from different data sources. To address the problem of time consuming pre-coding for DES projects, a tool based on Core Manufacturing Simulation Data (CMSD) is currently being developed. The tool will read data from several resources of an organisation; analyse it using statistical analysis and output it in a format that is applicable to simulation purposes. The format that we adopted follows the CMSD standard in order to describe simulation related data. The CMSD specification is presented as simulation input, in order to achieve the efficient reuse of this data for future DES projects. We present a first prototype and a test implementation of this tool and we draw conclusions about the future steps of our project. Keywords: Discrete Event Simulation, CMSD, RPy2 1 INTRODUCTION Manufacturing organisations, procedures, and data are growing and becoming more complicated. Manufacturing engineering, product design, production and industrial management decisions include the consideration of many co-dependent factors and variables, which create many complexities in decision making. Discrete Event Simulation (DES) is one of the most effective tools for planning, designing and improving material flows in production. DES can be used to study and compare alternative designs or to solve problems on existing systems (Fowler 2004). The widespread use of simulation technology is hindered in the manufacturing industry due to a number of technical and economic barriers. The cost of applying and using simulation technology is high. The cost of integrating simulation systems with other manufacturing applications is even higher. The cost of implementing DES is excessive owing to the cost of Commercial-Off-The-Shelf (COTS) DES packages and the time needed for companies to spent on learning how to use them. The users of commercial DES packages deal with problems when they want to customise the standard provided objects or even develop completely new ones (King and Harrison, 2010). For this reason organisations prefer to have specific, tailored to their own needs simulation based solutions. Large companies continuously record raw data, and are therefore able to collect large quantities of resource event information. However, usually it is difficult to extract and reuse data for future DES projects. The difficulty is based on the sharing between data files and simulation models. There is always a critical need to extract, analyse and input data from an organisation’s Enterprise Resource Planning (ERP) system, Manufacturing Execution Systems (MES), Material Requirement Planning (MRP) systems or other data sources to the simulation model. The development of a tool that covers the above needs and the use of reusable, neutral standard interfaces would facilitate to reduce the costs related to simulation model development and enable data exchange between simulation and other manufacturing applications. Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. That would make simulation technology more friendly and reachable to a larger range of industrial users and particularly Small and Medium Enterprises (SMEs). “Decision support in Real-time for Efficient Agile Manufacturing” (DREAM) is an FP7 project, which started in October of 2012. The scope of DREAM (http://dream-simulation.eu accessed 6 February 2014) is to increase the competitiveness of the European manufacturing sector through targeting the advancement of DES technology beyond the current state of the art. DREAM will produce an opensource simulation based platform, which shall provide the capability of developing tailored simulation based solutions for SMEs and other organisations. The DREAM platform will be based on simulation giving a new open-source, expandable and semantic free Simulation Engine (SE). Our work involved progressing the SimPy code (http://simpy.readthedocs.org/en/latest/ accessed 6 February 2014) developing above it a layer of manufacturing objects. We named this layer ManPy standing for “Manufacturing in Python” (Dagkakis et al. 2013). ManPy will co-operate with other modules such as Graphical User Interface (GUI), knowledge extraction tools, such as the tool described here, and optimisation. All the modules should be independent but facilitate collaboration. In this paper we present a methodology to automate simulation input data. Our approach is to demonstrate a tool for data extraction, analysis and output the outcome of the analysis using the CMSD format. The remainder of the paper is constructed as follows: in the next section we present the CMSD standard, describing the CMSD information model and the research related to this specification. Then we introduce the tool and present a methodology for automated simulation input data. A case study with the implementation of the tool is presented in the fourth section. We end the paper with conclusions and future work to be carried out to achieve the automation of input data into a simulation model. 2 CORE MANUFACTURING SIMULATION DATA As it is stated in the Introduction it is difficult to extract and reuse data for future DES projects, this difficulty is based around the sharing of information between data files and simulation models. Most of the time, the needed information can be found in various Information Technology systems (IT-systems). However, data is usually not in the right format required for DES and IT-systems do not have a standardized way of communicating with each other. A reusable, neutral, standardized interface should help reduce the effort and cost related to the input of data management in DES projects (Johansson et al. 2007). Researchers at the National Institute of Standards and Technology (NIST) in collaboration with industrial partners have developed the Core Manufacturing Simulation Data (CMSD) Product Development Group (PDG) under the guidelines and procedures of the Simulation Interoperability Standards Organization (SISO). The idea of the CMSD effort is to facilitate data exchange and sharing by using neutral, reusable data structures for managing actual production operations and for simulating the performance of the manufacturing systems. According to “Standard for: Core Manufacturing Simulation Data – UML Model” (SISO, 2010) published in September 2010, the purpose of this standard include: • enabling data exchange between simulation applications and other software applications, • supporting the construction of manufacturing simulators, • supporting the testing and evaluation of manufacturing software, • enabling greater manufacturing software application interoperability. Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. 2.1 CMSD Information Model The CMSD information model is a standard representation for core manufacturing simulation data. It describes the essential entities in the manufacturing field and the relationship between those entities that are needed to create manufacturing simulations. The CMSD information model is given in two different modeling languages: (1) the information model defined using the Unified Modeling Language (UML) and (2) the information model defined using the eXtensible Modeling Language (XML) (Leong et al. 2006). The exchange of data between simulations will be enabled through the exchange of XML instance documents that follow the CMSD XML Schemas. The UML diagram and XML schemas are intended to be equivalent representations of the same CMSD model. The CMSD model is designed as a suite of interconnected information modeled as UML classes contained within UML packages, presented as a series of UML class and package diagrams (Riddick and Lee, 2008). The manufacturing concepts within each package are modeled as UML classes and the characteristics related to each entity are modeled as UML class attributes. Operation specifications are not used in defining classes and the availability of all class attributes is public (SISO, 2010). 2.2 Research related to CMSD An Application Programming Interface (API) was created for abstracting away the implementation details of reading and writing CMSD files to/from computer memory (Fournier 2011). Several translators were created to test the applicability of the CMSD effort and the implementation of the CMSD API in different simulation software like Arena, QUEST, FlexSim and others. FACTS is a research project that finished in March 2008 (Ng et al. 2007). The project purpose was to design and evaluate methods and IT-tools for efficient development of new and modified factories. The project resulted in two acknowledged tools; one of them is the GDM-Tool (Skoogh et al. 2012). The GDM-Tool aim is to allow the automatic integration of production data into the DES models stored in different IT-systems at companies (Bengtsson et al. 2009). In the Simulation-based Manufacturing Interoperability Standards and Testing (SBIT) project was carried out at the National Institute of Standards and Technology (NIST), an aspect of this work is to simulate the production line of an automotive company (Kibira and McLean, 2007). They used the CMSD and they focus on the development of a data driven simulation model of the automotive manufacturing plant. Another approach of model generation using the CMSD information model was illustrated by Bergmann et al. (2011). They developed a so called CMSD based model generator. The model generator itself serves as a transformation layer between CMSD and the used simulation environment. Other work came from the collaboration of researchers at Chalmers University and NIST (Lee et al. 2011), they developed generic and reusable interfaces for CMSD-file communication in two commercial simulation packages, which are Plant Simulation and Enterprise Dynamics. 3 METHODOLOGY FOR INPUT SIMULATION DATA – INTRODUCTION OF THE TOOL A widely quoted rule in the simulation literature is the “40-20-40” rule, which states that 40% of the time in a simulation project is spent at the “pre-coding stage”, 20% coding and 40% on the analysis phase. To address the issue of efficient implementation of simulation technology in manufacturing companies, research and development is required at the “pre-coding” phase. In our effort we address this issue by advancing and developing further methods for modelling and capturing systems knowledge. In this direction, we are building a tool that facilitates the extraction of required simulation data, the analysis of this data and finally the output in a format that is readable by simulation software. The tool is aimed to link production data stored in different IT-systems at companies with the simulation software. The philosophy of our project is to use and expand explicitly open-source tools. For Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. this reason, a review of open-source data mining tools, statistical computing packages and business intelligence suites was conducted. Searching both the World Wide Web and academic publications revealed 55 open-source tools. We evaluated these tools under certain criteria on four different groups; these groups were General characteristics, Project activity, Operational characteristics and Data Mining characteristics. From this evaluation we selected the R project. R (http://www.r-project.org/ accessed 6 February 2014) is a free software suite for statistical computing, graphics and tasks associated with data mining. Having in mind the above tool and that the Python programming language is the core of the DREAM project, since ManPy is by nature a Python library, we build the first prototype of the tool using RPy2. RPy2 (http://rpy.sourceforge.net/rpy2.html accessed 6 February 2014) is an interface between Python, which is a popular all-purpose scripting language, and R, which is a scripting language mostly popular for data analysis, statistics and graphics. This interface gives us the ability to have full access in R functions from Python script. It is well developed and quite active as a project retaining a mailing list and providing thorough documentation. It can be used under the GNU Lesser General Public License (LGPL) which makes it is feasible to be also used in proprietary project (Fogel, 2005). RPy2 built on Python offers many convenient features for building code such as efficient list processing and flexible type casting (Hetland, 2008). The drawback is that Python as a scripting language is slower than static languages such as C++ or Java (Dawson, 2002). Data is divided into three categories based on availability and collectability (Robinson and Bhatia 1995). The first data category is already available in company IT resources, for instance ERP, or MES, or other database. The second category data requires effort because it has to be gathered during the simulation project and the third category, which is data neither available nor collectable. In the first category data can be found as raw data, automatically gathered scrap quantity or process time in a station. These type of data samples are extracted in XLS files (see Figure 1) from a company’s ERP, or MES, or database. After the initial extraction, some process may be needed to transform the samples into a useful form. For instance, to obtain process time of a station in a production line, the stop time has to be subtracted from the start time. Additionally, after having the actual process time data points, this data should be analysed in order to fit a distribution. These calculations and the distribution fitting will be one part of the tool, “Data process” (Figure 1). The other part is “Output preparation”, this tool should provide Extensible Markup Language (XML) files that follow the CMSD standard and can be used as input for the ManPy (Barlas et al. 2013) simulation tool. As it is stated above the tool is being implemented, as shown in Figure 1. Figure 1 Data flow diagram in ManPy At the time of writing this paper basic statistical functionalities have been developed and linked to CMSD output. It currently can calculate with the use of RPy2 library basic statistical measures like mean value, median, standard deviation, variance, range, interquartile range. Also, it can identify and fit data using the following distribution functions: Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. • Normal • Exponential • Poisson • Gamma • Logistic • Geometric • Cauchy • Log-Normal • Negative binomial The distribution identification is based on the Kolmogorov-Smirnov test statistics, Calculation of Pvalue and Maximum Likelihood Estimation, all of which are proven statistical methods. The CMSD information model is implemented in XML with the use of XML.ETREE Python library (http://docs.python.org/2/library/xml.etree.elementtree.html# accessed 6 February 2014), so it can be easily integrated in a script with the output of the above RPy2 functions. 4 4.1 TEST IMPLEMENTATION OF THE TOOL Description of case study Several production lines operate in the medical device fabrication facility involved in the DREAM project. The pilot line chosen as a use case for supporting the expansion and validation of the DREAM platform is located in a clean room where other lines also operate; the selection of the pilot line was based on the relatively uncomplicated variations between the different product types. Even though there are dimensional variations in the products fabricated on this line, the pilot line can be considered to be product dedicated, which means the production flow is the same for all products. The product in question is a medical device for use in operating theatres. The line can be considered as an assembly line and different tasks can be assigned to each station for balancing purposes. The process flow consists of four main sections (see Figure 2). As happens for most of the lines in the plant, the process is labour intensive; each station requires one or more operators. The presence of more than one operator per station is mandatory in the last section where three operators are required to run the two parallel stations. In some sections, the presence of a number of operators greater than the number of stations enables processing time reductions whenever work division is possible. The medical device industry, realizing the importance of simulation technology, has conducted several simulation based projects in the past. However, none of the simulation models developed could be easily integrated with IT systems used to operate the pilot line to facilitate continuous use of the simulation model. This provided motivation for this company to become involved in the DREAM project. For input data to the DES model, the medical device company has various manufacturing information, in different formats, stored in databases, ERP system and MES within their organisation. The company in general is data rich and wants to improve the interaction with the stored data. To prepare the input data for the DES model, extraction and processing of the relevant manufacturing information from these databases will be required. This input data process will be both time-consuming and workintensive. By using the tool to extract and process the data from the organisation IT systems, it is simple to provide updated data with the latest production information in the simulation model. 4.2 The CMSD implementation In the CMSD standard are offered a variety of classes or categories of manufacturing information which can be used for representing data. In our case we built the CMSD information model of the production Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. line using the most important classes for entering data in a simulation model. The classes that have been used are Resource information, Part information, Process definition and Process Plan information. Resource information describes the people and equipment that perform manufacturing activities. CMSD resource types include machines, stations and employees of the production line. Process plan information specifies the set of production activities needed to transform materials and subcomponents into finished products. Consequently, process plans are intended to specify part routing information. Process definition contains information about the processes in the process plans, information such as indication of each task that will be performed to create a part and resources either machines or employees that are to be used to execute these tasks. The data section in the CMSD file begins with a list of Part types and Resources, followed by Process Plan and Process definitions. The information model for this line is written using XML and it was completed with 723 lines of XML. In Figure 2 is presented the process flow diagram of the production line. The process flow consists of four sections, for the building of CMSD document these sections are denoted in Figure 2 as PA, PB, PC and PD. The first section PA has two lines (PA1, PA2) operating in parallel in series (see Figure 2), each one of these lines has three stations in series (P1, P2, P3 and P4, P5, P6). Initial processing of the product occurs here before it proceeds in section PB. Section PA stations must operate in sequence on the product. Section PB has just one station and it follows section PC, which consists of two stations (P8, P9) that operate in parallel. The final section of the line contains two stations (P10, P11) that also operate in parallel. Each one of these eleven processes contains information related to processing times, scrap quantity, buffer capacity and operation details. Figure 2 Process flow diagram of the line A process plan object contains one or more process objects (see right part of Figure 3). Each process object may denote either an individual process or a process group. The process plan indicates which process executes first. A process group indicates that a group of processes either executes in a sequence (sequence group), only one process in the group executes (decision group), or all processes in the group execute concurrently. The CMSD standard having these instructions provides flexibility to define most complex manufacturing relationships. In the left part of Figure 3 is depicted part of process plan definition. The XML shows the four different sections (PA, PB, PC, PD) of the line (see Figure 2) and defines that these sections are executed in a sequence. It also defines that the PA section consists of two sub processes that is executed in parallel (decision group). The right part of Figure 3 shows the process definition in one of the line’s stations. They depict the required resources for this operation, first the employee performing the operation and then the resource either station or machine where the operation is being performed. Moreover, the process definition shows the operation time and as a property the scrap quantity of this station; properties used to define characteristics and capabilities of equipment and employees. Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. Figure 3 Part of process plan (left) and process definition (right) in XML-based CMSD 4.3 Implementation of data transformation In this test implementation, data is extracted into the Microsoft Excel (Excel) format and then imported in the tool and processed with the use of RPy2 library in Python script. After the extraction and the execution of the process, the outcome of the process is mapped onto the CMSD information model, so as to be used as input data into the simulation software. The tool imports the files with the real data and processes it in order to go from raw data to simulation input information. To do this transformation the following steps are required, all corresponding to Python scripts: 1. Import Ms Excel files. 2. Read the Processing time and the scrap quantity in the stations of the production line. 3. Create lists with attributes the processing time and the scrap quantity for the six stations. 4. Replace missing values in scrap quantity lists with 0 (blank cell in Excel means that was no scrap in this station). 5. Conduct distribution fitting test (Kolmogorov-Smirnov test) for each of the above lists for the processing times. 6. Estimate the rounded mean value for each of the above lists for the scrap quantity. 7. Export the data to a CMSD information model in XML file. The above steps are all implemented using Python scripts. The tool is built in a way that the data input, the processing of this data and the output preparation are conducted by a separate script. We refer to this script as the “main script”. This main script is the only one to be changed in order to read data from the different Excel files. Therefore, this main script calls different objects so as to give as an output the Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. actual CMSD information model, updated with the new available data. The called objects in our case are described above from step 4 to 7; these are a ReplaceMissingValues object, a DistFitTest object, a BasicStatisticalMeasures object for the rounded mean value and a CMSD_Output object. 5 CONCLUSION AND FUTURE WORK This paper demonstrates a newly developed tool that aims to address the problem of the time consuming pre-coding for DES projects and its tests this implementation using data from an industrial company. The tool is still under development for further enhancement of its capabilities. The current effort includes the ability to import data in different file formats like txt, excel, csv and xml, initial data preparation with the replacement of missing values, calculation of some basic statistical measures, distribution fitting and output preparation again in different file formats but mainly to the use of CMSD, a standard for the exchange simulation based data. This is preliminary work for the DREAM project and proved the functionality of Knowledge Extraction tool. Our effort targets to achieve or to be as close as possible to the automation of input simulation data. With the term automation we mean that the simulation model automatically collects data from system’s data sources via an interface as and when required to run the model. Next steps in our research are the expansion of the tool adding for example some more distribution functions to fit data, the achievement of the integration of the tool and ManPy under a real use case having as a basis the already integration of CMSD information model with ManPy (Barlas et al., 2013). Another step is to build a user interface for this tool, an interface that should be as friendly as possible to use so as to be easily handled by end users. Finally, validation of the tool through other pilot cases, these cases will provide further opportunity to test, evaluate, improve, and develop the tool, the CMSD specification and generally the integration with ManPy. ACKNOWLEDGMENTS The research leading to the results presented in this paper has received funding from the European Union Seventh Framework Programme (FP7-2012-NMP-ICT-FoF) under grant agreement n° 314364. REFERENCES Barlas, P., Dagkakis, G. and Heavey, C. (2013). A prototype integration of ManPy with CMSD. In 27th European Simulation and Modelling Conference, EUROSIS 2013. Bengtsson, N., Guodong, S., Johansson, B., Lee, Y.T. , Leong S., Skoogh, A. and Mclean, C. (2009). “Input Data Management Methodology for Discrete Event Simulation.” In Simulation Conference (WSC), Proceedings of the 2009 Winter, 1335–1344. Bergmann, S, S Stelzer, and Steffen Straßburger (2011). “Initialization of Simulation Models Using CMSD.” Proceedings of the Winter Simulation Conference, 2223–2234 Dagkakis, G., Heavey, C., Robin, S. and Perrin, J. (2013). ManPy: An Open-Source Layer of DES Manufacturing Objects Implemented in SimPy. In 8th EUROSIM Congress on Modelling and Simulation, EUROSIM2013 (EUROSIM2013). Dawson, B. (2002). “Game Scripting in Python.” Proc. GDC. Fogel, K. (2005). Producing Open Source Software: How to Run a Successful Free Software Project. Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. Fournier, J. (2011). “Model Building with Core Manufacturing Simulation Data.” Proceedings of the Winter Simulation Conference, 2214–2222. Fowler, J.W. (2004). Grand Challenges in Modeling and Simulation of Complex Manufacturing Systems. Simulation, 80(9), pp.469–476. Hetland, M. L. (2008). Beginning Python: from novice to professional . 2nd ed. Apress, Berkely, CA. Johansson, M., Johansson, B., Skoogh, A. , Leong, S., Riddick, F., Lee, Y. T. , Shao, G., and Klingstam, P. (2007). “A Test Implementation of the Core Manufacturing Simulation Data Specification.” Proceedings of the 39th Conference on Winter Simulation: 40 Years! The Best Is yet to Come, 1673– 1681. Kibira, D. and McLean, C. R. (2007). Generic simulation of automotive assembly for interoperability testing. 2007 Winter Simulation Conference, 1035–1043. King, D. & Harrison, H. (2010). Discrete-event simulation in Java: a practitioner’s experience. Proceedings of the 2010 Conference on Grand Challenges in Modeling & Simulation. Lee, Y. T., Riddick, F. H. and Johansson B. J. I. (2011). “Core Manufacturing Simulation Data – a Manufacturing Simulation Integration Standard: Overview and Case Studies.” International Journal of Computer Integrated Manufacturing 24 (8) (August), 689–709. Leong, S, Lee, Y.T. and Riddick, F. (2006). “A Core Manufacturing Simulation Data Information Model for Manufacturing Applications.” Simulation Interoperability Workshop, Simulation Interoperability and Standards Organization, 1–7. Ng, A., Urenda, M. , Svensson, J., Skoogh, A. and Johansson, B. (2007). “FACTS Analyser: An Innovative Tool for Factory Conceptual Design Using Simulation.” Proceedings of the Swedish Production Symposium, 1–8. Riddick, F. and Lee, Y.T. (2008). “Representing Layout Information in the CMSD Specification.” Simulation Conference, 2008. WSC 2008. Winter, 1777–1784. Robinson, S., and Bhatia, V. (1995). Secrets of Successful Simulation projects. In WSC’95. 1995 Winter Simulation Conference Proceedings. SISO (2010). “Simulation Interoperability Standards Organization (SISO) Standard for : Core Manufacturing Simulation Data ─ UML Model.” Core Manufacturing Simulation Data Product Development Group, Simulation Interoperability Standards Organization. Skoogh, A., Johansson, B. and Stahre J. (2012). “Automated Input Data Management: Evaluation of a Concept for Reduced Time Consumption in Discrete Event Simulation.” Simulation 88 (11) (April 23), 1279–1293. AUTHOR BIOGRAPHIES PANAGIOTIS BARLAS received his M. Eng in Mechanical Engineering from the Aristotle University of Thessaloniki in 2010. He completed his M. Sc. in Logistics Management at the same University in 2012. He is currently a PhD student in the University of Limerick. His research interests are in Discrete Event Simulation modelling and Data Analytics. Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14) B.Tjahjono, C. Heavey, S. Onggo, and D-J. van der Zee, eds. CATHAL HEAVEY is an Associate Professor in the Department of Design & Manufacturing Technology at the University of Limerick. He is an Industrial Engineering graduate of the National University of Ireland (University College Galway) and holds a M. Eng.Sc. and Ph.D. from the same University. He has published in the areas of queuing and simulation modelling. His research interests includes, simulation modelling of discrete-event systems; modelling and analysis of supply chains and manufacturing systems; process modelling; component-based simulation and decision support systems.