Semantic GIOVE-VF: an Ontology-based Virtual Factory Tool Walter TERKAJ a,1 , Giovanni Paolo VIGANÒ a a Institute of Industrial Technologies and Automation (ITIA-CNR), Milan, Italy Abstract. This paper presents an ontology-based Virtual Factory tool to support the 3D design of factories. The official ifcOWL is the reference ontology that was adopted to develop the I/O software connector of the tool. The key advantage of the ontology interface is represented by the easy integration with other software tools that can either use the layout generated by GIOVE-VF or provide information about the evolution of the objects that can be visualized in realistic animations. Keywords. Virtual Factory, Ontology, OWL, 3D layout, Virtual Reality (VR) 1. Introduction GIOVE Virtual Factory (GIOVE-VF) is a 3D virtual reality collaborative tool aimed at supporting the design, visualization and exploration of 3D environments and in particular factories. A number of partially similar solutions (e.g., Factory Design Utilities2 , Facto- ryCAD3 , Visual Components4 ) are already available in the market. However, these soft- ware tools often fail to meet some of the main needs of Small and Medium Enterprises (SMEs), namely: • affordable investment, operating and maintenance cost; • ease of use of the offered functionalities; • acceptable and stable hardware requirements; • ease of integration with other software tools. Some commercial software tools for 3D layout design are available only in large software suites provided by the major ICT players (e.g., Siemens, Dassault Systèmes, PTC, etc.) and are often oversized for the needs of SMEs. GIOVE-VF was conceived as a tool to be used mainly by SMEs, being also free, simple to use and to install, since it can run on a regular notebook as well as in immersive Virtual Reality (VR) systems. It must be stressed out that GIOVE-VF is not meant to be a down-scaled version of a commercial 3D CAD tool, since it does not provide CAD features design. This paper focuses on the enhancements that have turned GIOVE-VF into an ontology-based software tool. 1 Corresponding Author: Institute of Industrial Technologies and Automation (ITIA-CNR), Milan, Italy; E- mail: walter.terkaj@itia.cnr.it 2 https://www.autodesk.com/products/factory-design-utilities/overview 3 https://www.plm.automation.siemens.com/en/products/tecnomatix/ manufacturing-planning/factory-design/factorycad.shtml 4 http://www.visualcomponents.com/products/visual-components-4-0 Figure 1. GIOVE-VF: example of factory layout including a production line that consists of five workstations 2. Design and Functionalities GIOVE-VF was developed in C++ based on the set of software libraries named GIOVE (Graphics and Interaction for OpenGL-based Virtual Environments), that provide a pro- gramming interface for Virtual Environments directly based on the OpenGL library5 . The first GIOVE-VF prototype [6] allowed to load and save projects as XML doc- uments with a defined XML schema. These data were included into a project structure together with 3D models, textures, and other information. The semantically upgraded GIOVE-VF is endowed with a software connector that takes care of I/O data conversion with OWL ontology modules by making use of the RdfCpp library [3]. The connector is able to bind internal data structures in memory to OWL individuals, thus preserving the mapping between the objects. GIOVE-VF can load and save projects as an OWL ontology in a file-based repository or in the RDF store provided by a Stardog server6 . GIOVE-VF mainly supports the factory layout design and reconfiguration activities (see Figure 1) by providing the following key functionalities: • visualization of building, facility, and production resources; • setting the placement and orientation of objects in the layout; • exploration of hierarchy of decomposed objects; • animation of 3D objects. The connector is customized for a specific T-box that includes the ifcOWL ontol- ogy [2], i.e., the OWL version of the IFC standard7 and its extensions for the manu- facturing domain. The main intended use of ifcOWL is the generation of re-usable and linkable RDF data sets and the possibility to infer additional knowledge via reasoning. The RDF data sets are supposed to be converted to/from traditional IFC files serialized as 5 https://www.opengl.org/ 6 http://www.stardog.com/ 7 http://www.buildingsmart-tech.org/ifc/IFC4/final/html/index.htm STEP file (ISO 10303-21), mainly because all the IFC compliant software applications currently support only this file format. On the other hand, the ontology-based version of GIOVE-VF follows a novel approach since it is able to directly read and generate RDF data sets without going through the serialization of STEP-files. GIOVE-VF can directly load and use catalogs of object types (see the toolbar at the bottom of Figure 1) in the form of RDF data set, i.e., instances of non-abstract subclasses of IfcTypeProduct. Thanks to the class expressions representing the link between an object type class and the corresponding object occurrence class [4], GIOVE-VF is able to correctly use instances of object types to generate new individuals without any hard- coded implementation of constraints. This functionality makes GIOVE-VF a semantic application that is able to deal also with domain ontologies specializing the classes de- fined in ifcOWL without needing to build a new version of the software tool. GIOVE-VF supports several features of the IFC standard (e.g., definition of project, representation context, containment in a spatial element, definition of aggregated prod- ucts, Cartesian transformations, etc.), but it loads 3D models developed with external CAD tools and optimized for visualization. The geometric representation of the objects is handled by loading external binary files in 3DS or OBJ format, thus not exploiting the maximum level of granularity allowed by IFC (and ifcOWL) with the explicit defini- tion of the single representation items (e.g. surfaces, vectors, curves, etc.). Furthermore, GIOVE-VF supports the animation of objects in the scene based on an object history (i.e., an evolution of placement and state) and the visualization of virtual links between manufacturing operations and the physical production resources that can execute them. 3. Applications The ontology-based enhancement of GIOVE-VF enables the integration of this tool into a platform for interoperability [1], thus supporting the exchange of data with other software applications that are upgraded with a proper connector. This approach allows to reach the goal of a factory design platform without needing to keep on adding diverse func- tionalities to a unique and overly complex software tool. As an example, the ontology- based GIOVE-VF can be bidirectionally integrated with other software tools support- ing discrete event simulation (e.g., the commercial tools Siemens Plant Simulation and Rockwell Arena [5])), factory monitoring, and process simulation: GIOVE-VF provides production system layouts and receives object histories (e.g., a log of discrete event sim- ulation) that can be animated in the 3D environment. GIOVE-VF has been employed in university to give the students a realistic 3D en- vironment supporting the design of production systems. In particular, it was used during computer lab classes of the Master level courses Reconfigurable Manufacturing Systems and Production for Made in Italy Lab at Politecnico di Milano, and during a training course within the national project Smart Manufacturing 20208 . GIOVE-VF was used also in several research projects focused on manufacturing, e.g., Virtual Factory Framework9 , FIDEAS10 (Figure 2), Pro2Evo11 , and in an industrial project with TENOVA Pomini12 . 8 http://www.fabbricaintelligente.it/en/progetti/ 9 http://www.itia.cnr.it/siti_progetti/vff/ 10 http://www.fideas.industries/ 11 http://www.fabbricadelfuturo-fdf.it/progetti/sottoprogetto-2/progetto-pro2evo/ 12 http://www.tenova.com/about-us/who-we-are/tenova-pomini/ Figure 2. GIOVE-VF: Real Factory (left) vs Virtual Factory (right) 4. Demo and Software/Hardware Requirements GIOVE-VF works in a Windows operating systems (native or in virtualization). No software installation is needed. A minimum amount of free memory (3 GB) and disk space (4 GB) must be available. A video card NVIDIA QUADRO (or above) supporting OpenGL 2.1 with dedicated memory of 1 Gb is required. The tool is demoed13 by show- ing how the layout of a production line can be designed by using pieces of equipment available in input catalogs that are generated with the software tool OntoGui [3]. The academic version of GIOVE-VF can be freely shared upon request to the authors. Acknowledgments This work has been partially funded by the Italian research project Smart Manufactur- ing 2020 within the Cluster Tecnologico Nazionale Fabbrica Intelligente. References [1] M. Colledani, G. Pedrielli, W. Terkaj, and M. Urgo. Integrated virtual platform for manufacturing systems design. Procedia CIRP, 7:425 – 430, 2013. [2] P. Pauwels, T. Krijnen, W. Terkaj, and J. Beetz. Enhancing the ifcowl ontology with an alternative repre- sentation for geometric data. Automation in Construction, 80:77 – 94, 2017. [3] W. Terkaj. OntoGui: a Graphical User Interface for Rapid Instantiation of OWL Ontologies. In Proceed- ings of the Workshop on Data meets Applied Ontologies, 2017. [4] W. Terkaj and A. Sojic. Ontology-based representation of IFC EXPRESS rules: An enhancement of the ifcOWL ontology. Automation in Construction, 57:188–201, 2015. [5] W. Terkaj, T. Tolio, and M. Urgo. A virtual factory approach for in situ simulation to support production and maintenance planning. CIRP Annals - Manufacturing Technology, 64(1):451–454, 2015. [6] G. P. Viganò, L. Greci, S. Mottura, and M. Sacco. GIOVE Virtual Factory: A New Viewer for a More Immersive Role of the User During Factory Design, pages 201–216. Springer London, London, 2011. 13 https://www.youtube.com/watch?v=Q_1me2Ne9es