## 3 Use Case: Planning Tool for Micro Assembly
### Implementation
One was for the feature based description of the selected RMS. This was the Machine Database. The other collected the operational sequences for the procedure types. This was the Assembly Database. For both databases, a SQL system was used. SQL databases work with relational database management to store data. They are a broadly used technique in web development, offering fast and stable access to data. Many different implementations of SQL servers exist. Well known open-source SQL servers would be MySQL, PostgreSQL, or MariaDB. For the two databases in this work, PostgreSQL was used. To finalize the implementation of the method in PlaToMA, the modeled assembly sequence in Configurator must be analyzed and transformed into a machine configuration. Therefore, an application must exist that can receive the modeled assembly sequence, has access to both databases, and is able to perform the necessary algorithms to transform the assembly sequence to a list of possible operation sequences and subsequently generate the list of possible machine configurations. To achieve these objectives, an application based on a web service was proposed. Representational State Transfer (REST) is a technique to build web services. Over the Hypertext Transfer Protocol (HTTP), an application can transmit to and receive data from a REST web server. This is called a RESTful web service [29]. Configurator must encapsulate the modeled assembly sequence in a standardized file format to communicate with the RESTful web service. Therefore, the JavaScript Object Notation (JSON) was used. Figure 7 shows the structure for assembly sequences in JSON files. Similar to the assembly  
Figure 6: Screenshot of Configurator for PlaToMA. At the grey canvas in the middle assembly steps can be added, arranged, and connected. The selected step is highlighted by a dashed green border. In the yellow area on the left, the procedure type and the process properties of the selected step can be set. In the blue area on the right, input and output components of the selected step can be added and deleted. Their properties can be modified as well. By clicking on the purple button in the red bottom area, fitting machine configurations can be shown. sequence, a JSON structure for the list of possible machine configurations must be established, as such a list is the expected answer of the RESTful web service. The Django REST framework enables developers to build a RESTful web service with the Django web framework. Django is an open-source developed project written in Python. It offers a way to write applications in Python that can generate and control HTTP requests. Examples are web pages or web services. For this, Django implements its own web server. In addition, it has an object-relational mapper (ORM) to easily access data in SQL databases. With the ORM, a software developer can work with the data in a SQL database as they would be stored in Python objects and variables. Therefore, data models must be defined using a special type of Python class. The ORM migrates these data models to a relational SQL structure in a SQL database. Over different routines, various SQL databases are supported, among others PostgreSQL. With a serializer, rules can be implemented and how new instances of a data model are created and stored. The Django REST framework is able to do the following actions:  
1. Receive an assembly sequence through a JSON file in an HTTP request. 2. Transfer the JSON file into a corresponding Python object. 3. Trigger the relevant transforming algorithms to generate a list of possible machine configurations. 4. Convert the list of possible machine configurations to a JSON file. 5. Offer the JSON file with the list of possible machine configurations as an HTTP response. Configurator must be able to receive the HTTP response of the RESTful web service. The generation of this response may take a while depending on the complexity of the assembly sequence and its processing.