1 Introduction

Nowadays, the planning of assembly still needs high effort [1]. Therefore, especially with small lot sizes, the assemblies are often only roughly planned and lack in transparency for planners and workers. There is still great potential for optimization [2]. In order to reduce the effort, the aim is to plan assembly automatically.

One approach towards automated assembly planning is to collect actual data, to analyze it and then to derive an improved assembly sequence, based on best practice. Best practice describes a combination of assembly processes performed by the workers during the data collection [2].

The aim of this paper is to develop a model supporting such an approach. The model should represent the manual assembly system sufficiently well and should still be pragmatic. Furthermore, it should allow data from assembly processes to be recorded and analyzed. The model allows to improve manual assembly systems by deriving a best practice observed during the analysis.

2 Model of Assembly Systems

2.1 Manual Assembly System as a Socio-Technical System

A system is a set of interrelated objects that are seen as a whole in a certain context and as separate from their surroundings [3]. Beer [4] equates the term ‘system’ with the word connectivity to emphasize, that the parts of a system relate to each other. Hence, no part is independent of other parts and the behavior of the whole is influenced by the interaction of all parts [5]. Systems consist of individual elements that each have functions and properties. Relationships, for example information flows, material flows etc., connect the individual elements with each other [6]. A system is bordered against its environment (system boundary), depending on the purpose and the problem [7].

Socio-technical systems generally consist of the components, humans, resources as well as tasks and objectives. They are particularly complex, since these components can have various characteristics [7]. Social and technical systems constitute a unit in the form of a work or an action system [8]. Trist et al. accentuate that it is necessary to optimize the social and the technical system in combination [9]. A company contains technical (e.g. tools, machines) and social systems (e.g. people) which generate value through the production of products. Work connects the social and the technical system [10]. Thus, work systems are socio-technical systems [11]. Assembly as a part of production can also be described and analyzed as a system [12]. As a working system a manual assembly system also describes a socio-technical system.

2.2 Model

A model is the image of a section of reality [13]. Models represent a process or a system sufficiently accurately [14] and always represent a ‘constructed reality’ [15]. A model is a simplification or abstraction of the reality and can never illustrate it in all its aspects. The purpose of the model is decisive [6]. There is always a necessity to use the model or the representative instead of the original [16], for example if a reduction, enlargement and simplification is necessary for an illustration of the original or if the original is reduced to basic contexts which explain or predict the behavior [17]. Reality thus becomes better understandable and manageable [18]. Stachowiak [17] summarizes three general characteristics of the model concept: the mapping characteristic (the model corresponds to the representation of the original), the shortening characteristic (the model records only the characteristics relevant to the creator and user), and the pragmatic characteristic (the model represents the original only for certain subjects, within certain time intervals, limited to certain operations).

3 Modeling Manual Assembly System in Context of Deriving Best Practice from Actual Data

The model is intended to support an approach for optimizing manual assembly systems by deriving a best practice, based on recorded data. The idea is not to search for the optimum, but to derive the best solution from all the solution strategies to assemble the product executed by the workers. Thus, the optimization is based on actual data instead of plan data [2]. The presented approach benchmarks different solution strategies and adapts the four steps of Watson’s benchmark approach [20] to manual assembly, which are summarized in the following Fig. 1.

Fig. 1.
figure 1

Approach to apply benchmark in manual assembly (own figure based on [2]).

In the ‘planning’ phase the goal is planned and the model is created or adapted [2].

In the ‘data gathering’ phase actual data is collected by a system in which sensors are installed on components, tools and equipment to automatically identify process steps and record process times [19]. In particular, acceleration sensors, magnetometers and gyroscopes are used for this purpose. Data from video and an app is recorded as an auxiliary until the system recognizes all processes reliably [2].

In the ‘data analysis’ phase the best practices has to be found. Therefore a digraph is created. Each solution strategy to assemble the product is represented as a path in the digraph. If the workers execute the processes in the same order faster, the required assembly times are updated. Finally, the shortest path has to be found [2].

The fourth step is to introduce the improvements [2].

This paper focuses on the model development during the ‘planning’ phase.

3.1 Derivation of Formal and Content-Related Requirements of the Model

A model is always required to meet both, formal and content-related requirements.

Patzak [7] derives formal characteristics of a good model: It should be empirical and formally correct, functional and manageable at low effort in creation and application.

Furthermore, the model should meet the following content requirements: As described in Sect 2.2, the purpose of a model is crucial.

The planning aim is to record the assembly processes of different workers and to derive the best solution strategy to assemble a product from the different solution strategies identified in the context of the analysis. The target value is to minimize time. Consequently, the best assembly sequence is the sequence that results in the shortest assembly time. [2] As derived in Sect 2.1, a manual assembly system is a complex socio-technical system. To analyze and optimize it (e.g. the assembly sequence) in an automated way, a model is needed that can handle this complex socio-technical system. Already existing models do not have the same purpose.

3.2 Modeling

Graphical modeling is selected for a transparent representation and easier understanding of the system parts and their relation [21]. Specker [22] distinguishes four design aspects in the analysis and the modeling of complex systems: the process view (logical and temporal sequence of operations), the function view (similarity of elementary functions), the object view (processing elements) and the task view (personal assignment of operations). The elements and their connections are in the focus of this model, which is why the object view is chosen.

Wiendahl [23] summarizes four steps for model creation – system delimitation, feature description, model formalization, model validation – on the basis of which the model is developed.

System Delimitation.

In this step, the facts and the purpose are defined properly. According to systems engineering, the problem should be detailed from rough to fine [6, 23]. The pragmatic and the shortening characteristic describe that a model represents the system for a certain purpose and records only elements relevant to the creator [17] (see also Sect. 2.2). The following Fig. 2 shows the manual assembly system considered in this paper.

Fig. 2.
figure 2

Analysis of the manual assembly system considered in the model.

The system consists of workers, work stations, products, assembly orders and assembly processes [2]. Data is collected over time from different workers who assemble different products at different work stations. The assembly system is a subsystem of the production system. Input of the systems are information, assembly orders and parts. Output are the assembled products. Preliminary and subsequent areas such as parts production and logistics are outside the system boundaries.

Feature Description.

In the following, the main features of the model are described:

  • Product: For optimization, it is important, to clearly identify the product in order to relate the assembly process steps and sequence to it. A product is a variant of a specific product type and may have options.

  • Work station: The work station influences the required assembly time, e.g. due to different material supply, which results in different gripping areas. When gathering data, it must therefore be recorded at which work station a product was assembled.

  • Process: An assembly consists of individual assembly processes such as ‘screwing base plate’. The assembly sequence is described by specifying the predecessor and successor for each assembly process.

  • Worker: The decisive factor in this socio-technical system is the worker. Depending on previous experience, competence, etc., she or he can execute assembly tasks in different ways and uses different tools and devices. For pragmatic reasons, other influencing factors of the socio-technical system (e.g. motivation and daily form of the worker, other environmental conditions) are not considered in this model.

  • Assembly order: The input of the assembly system and trigger of the assembly processes are the assembly orders.

  • Optimization: The optimization derives the best practice to assemble the product.

Model Formalization.

Unified Modeling Language (UML) is selected as the modeling language because it is established as a standard. A class diagram provides an overview of the code structure and its internal relationships [21]. Figure 3 shows the formalized model. The features described above are represented in classes which are specified in the following:

Fig. 3.
figure 3

Model.

The class ‘Worker’ includes the attribute ‘worker_ID’. The worker’s name is not saved in this context. The method ‘worker_experience()’ counts, how often the worker has already assembled a product, separated in type, variant and options. The method ‘worker_ performance()’ calculates, how fast the worker carries out the processes compared to the average. The results are not used to evaluate the workers themselves, but to evaluate her or his solution strategies and to identify outliers in the data. An inexperienced worker usually cannot carry out an assembly significantly faster than an experienced worker. The faster assembly of the inexperienced worker may result in a loss of quality.

The class ‘WorkStation’ defines the work station via ‘work_station_ID’. ‘work_station_performance()’ establishes connections between the work station and the process times (e.g. the material supply at work station 1 is better than the material supply at work station 3).

The class ‘Product’ describes the product uniquely by the attributes ‘product_name’, ‘product_ID’, ‘product_type’, ‘product_variant’ and ‘product_options’. The method ‘product_total_quantity()’ sums up the number of assembled products per type, variant and option.

An object of the class ‘AssemblyOrder’ is clearly identified by ‘assembly_order_ID’ and refers to products and quantity. Furthermore, it is assigned to at least one worker and one possible work station.

The class ‘Process’ gets the actual data from the class ‘ActualData’ and is described by ‘process_ID’ and ‘process_name’. Moreover, it belongs to a ‘process_category’ and has a predecessor and a successor. It is always assigned to a specific product, worker, work station and assembly order (‘process_relations’). The process duration is calculated on the basis of the start and end dates (‘process_duration()’). ‘process_def()’ identifies the processes and puts them into context.

The class ‘OptimizationBenchmark’ runs the optimization methods and stores the results in the ‘OptimizationResult’ class. The method ‘digraph’ creates the digraph, checks it, e.g. if there are outliers or circles, and finds the shortest path (see [2] for further information). In a manual assembly, often several products are assembled. Sufficient data is not collected for all products during data collection. The ‘times_other_products()’ method can fill this gap by deriving times for other variants. ‘same_process()’ is looking for identical processes. Further optimizations are performed in ‘other_optimization()’.

Model Validation.

In this step, it must be checked whether the model represents the system sufficiently well (mapping characteristic). In the literature, the iterative modeling is emphasized frequently. Dörner [13], for example, recommends to start with a first draft of the model and to improve it step by step (successive approximation).

The model has already been used in a practical example and had already been improved further. The example project was the assembly of a rear axle. Three workers assembled the product three times each and the process times were recorded (see [2] for further details concerning the project). All data was collected in a structured manner and initial optimization was made possible. Figure 4 shows exemplary instances.

Fig. 4.
figure 4

Exemplary instances.

4 Conclusion and Outlook

In this paper, a model is presented that supports the optimization of manual assemblies. Actual data is collected and, based on the data, the optimized assembly sequence is derived by developing a best practice. The joint mapping of the technical and social systems enables their joint optimization in a socio-technical system. The model was developed in four steps: system delimitation, feature description, model formalization and model validation. The application in the example project shows that the model allows the data to be structured in a meaningful way and is limited to the most important elements.

In the following work, the model will be applied to several industry projects and iteratively further developed. Moreover, the optimization classes are worked on.