Introduction

In today’s manufacturing industry, the increasingly fierce global market and the need to satisfy the changing demands from the customers are posing challenges for the modern enterprises to remain competitive or even just to survive. Among them, small- and medium-sized enterprises (SMEs) are of the great majority. Compared to major companies, most SMEs face the challenges of (1) limited capital, (2) weak research and development, (3) deficient managerial and technical talent, (4) insufficient market information, etc. (Farsi and Toghraee 2014). When market changes or the fluctuations of employees happen (Wilde 2010), SMEs are more vulnerable and more likely to trap into the production dilemma. Take the injection molding industry in Guangdong Province of China as an example. Most injection molding enterprises are small- and medium-sized and widely distributed. Many small enterprises do not have sufficient access to trade-related information. This may lead to their potential loss of business opportunities and suffer from inadequate task orders. They lie in the upper section of the industrial chain and are characterized to be both technology-intensive and labor-intensive. On the one hand, injection molding features strong design capability, self-innovation and high technology for the complicated molding process and product customization. On the other hand, increasing injection molding enterprises are intensifying the market competition and compressing the profit margins. SMEs that lack core technologies can only undertake relatively simple manufacturing tasks at the bottom of value chains and make modest profits (Huang et al. 2013). Additionally, they lack intellectual capital in production management. Nevertheless, they seldom purchase decision tools such as scheduling software to improve their production processes, due to the high price offered by companies who provide the enterprise information system (EIS) (Wang et al. 2014).

In recent years, the traditional manufacturing paradigm has been shifting towards the service-oriented manufacturing (SOM) (de Oliveira and Silva 2015), driven by the growing applications of information and sensor technologies like cloud computing (Puttonen et al. 2016), Internet of Things (IoT) (Welbourne et al. 2009), radio frequency identification (RFID) in the industrial field. By combining the advanced technologies above, a new computing and service-oriented manufacturing mode emerges, i.e. CMfg (Li et al. 2010). In CMfg, manufacturing resources and capabilities are virtualized and encapsulated as manufacturing cloud services (MCSs), before being registered and published into the CMfg platform. Through the network, MCSs can be easily discovered and accessed by customers. At the same time, the intelligent and efficient management and operations of MCSs have driven the full sharing of resources and the deep collaboration among enterprises. For the allied enterprises, the shared resources, knowledge and technologies can make up their technological limitations so that the barriers to take part in complex projects are lowered.

Applying the concept of CMfg into the injection molding industry is promising not only because the problems that most SMEs are faced with can be addressed, but it also brings significant contributions. Firstly, the established CMfg platform can realize the full-scale sharing, free circulation, efficient integration and optimal configuration of IMMs. Secondly, CMfg is reshaping a new business pattern for the injection molding industry. The injection molding machine (IMM) is offered as an IMM cloud service (IMMCS). Relying on the platform, the circulation of market information becomes more transparent and active, which enables enterprises to seize more business opportunities and earn more profits. Finally, via the CMfg platform, EIS providers rent their decision tools to the injection molding machine provider (IMMP) at a low price. Meanwhile, with more and more IMMPs hire their decision tools, they can make sustainable profits. Therefore, a win-win situation is reached and the problems above can be effectively tackled. However, few existing works have discussed the implementation of CMfg in the injection molding industry. Considering the specific features of the injection molding process, the following challenges need to be tackled.

  1. 1.

    During the service modeling process, how to describe the manufacturing capabilities of IMMCSs based on the technical parameters of the injection molding, especially to reveal the dynamic capabilities?

  2. 2.

    In the service selection process, if there are multiple IMMCSs for the customer to choose from, how to find one that satisfies the customized requirements best in a real-time environment?

  3. 3.

    In practice, task orders are continuously published into the platform. Then, they are assigned to the corresponding IMMs. For injection molding enterprises, how to generate production schedules for the scheduled task orders as well as the newly arrived ones?

In this work, we only study the injection molding operation which is a typical single-stage manufacturing process. Several key technical parameters that embody the capabilities of IMMs are provided. Through the deployed RFID devices and other sensors in the shop floor, the machine’s real-time data during the molding process are captured. After the formal description of the IMM, its machining capability and related manufacturing information can be abstracted as a virtual machining service. Based on the service-oriented technologies (e.g. web service and ontology), the virtual machining services are encapsulated into IMMCSs. Then, we register and publish them into a specialized cloud service platform for the injection molding enterprises (IME-CMfgSP). Therefore, IMMCSs can be dynamically accessed, invoked and configured. The configuration mode studied here is task-driven, which is realized by a task-driven proactive service discovery method. It turns around the situation that the IMMCSs are passively found by demanders. For suppliers, they are more proactive to find tasks with the help of the free flow of market information. From another perspective, demanders play leading roles in the configuration process. Their task orders are allocated to the IMMCSs that satisfy their customized requirements best through a technique for order preference by similarity to ideal solution (TOPSIS) based evaluation method. Before tasks are performed, a production scheduling plan should be firstly generated. However, they did not consider the newly arrived orders. To deal with this scheduling problem in the CMfg environment, the real-time production data and the dynamic demand information are collected as the decision inputs to reflect the dynamic characters of the configuration process. The aim of IMMS in this work is to minimize the total weighted tardiness of orders assigned on the IMMCSs.

The remainder of this paper is organized as follows. The “Literature review” section reviews the works related to this paper. “Overall architecture of IMMCS configuration” describes an overall architecture of the configuration process for IMMCS. The servitization framework of IMMCS and an information model of IMM are presented in “Servitization of IMM” section. In “Optimal configuration method for IMMCS” section, the entire configuration process is discussed, including service discovery, service evaluation and selection, task assignment and scheduling. The “Numerical simulation” section gives a numerical simulation to illustrate the proposed methods. Finally, in “Conclusion and future work”, conclusions are summarized and the future work is introduced.

Literature review

Related works are categorized into the following three parts that aim to address the challenges above. They are CMfg and cloud service modeling, cloud service optimal selection and the scheduling strategy in a real-time scenario.

CMfg and cloud service modeling

As an emerging manufacturing paradigm, CMfg is expected to realize an effective approach to perform networked, distributed and collaborative manufacturing business (Adamson et al. 2015). So far, plenty of fundamental studies on CMfg have been done, including the architecture (Škulj et al. 2015), concept, core technologies (Kubler et al. 2016) and applications. Meanwhile, the state-of-the-art and future trends have been discussed (Wu et al. 2013; He and Da Xu 2015; Buckholtz et al. 2015).

CMfg is the manufacturing version of cloud computing and “borrows” the concept of Platform as a Service (PaaS) to build a CMfg platform, which enables ubiquitous, convenient and on-demand network access to a shared pool of manufacturing resources (Xu 2012). Thus various manufacturing resources like 3D printing (Mai et al. 2016), CAD/CAE (Zissis et al. 2016), etc. can be timely shared and efficiently utilized. Here, several cloud service platforms have been proposed to realize the effective integration and collaborative manufacturing. Huang et al. (2013) addressed the problems faced by SMEs and analyzed the existing solutions and disadvantages. For dealing with this situation, they proposed a SME-oriented CMfg service platform (SME-CMfgSP) and gave an application prototype. Valilai and Houshmand (2014) proposed a collaborative and integrated platform named STRATUS Cloud based on the CMfg paradigm for today’s global manufacturing to enable optimization systems in distributed manufacturing enterprises. Khalfallah et al. (2014) addressed the challenges of interoperability in collaborative production development environment. To ensure end-to-end interoperability between collaborative partners, they presented a cloud-based collaborative platform based on a two-phase semantic data mediation approach. Modekurthy et al. (2015) presented a cloud-based service broker system for cloud additive manufacturing (AM) service providers and designed a cloud AM service selection method enabling consumers to find satisfactory cloud AM services.

Manufacturing resources and capabilities are treasures to suppliers and to reveal their core competitiveness. In the service modeling process, the real-time manufacturing information that embodies the dynamic capabilities can be captured by IoT technologies, such as RFID (Barenji et al. 2014; Zhang et al. 2015b; Oner et al. 2016). Based on the multi-source manufacturing information, Zhang et al. (2015a) presented a capability model of the manufacturing machine. And web ontology language for service (OWL-S) is used to describe the ontology of the manufacturing service. Then services are published through Manufacturing Service Universal Description, Discovery, and Integration (MS-UDDI). Xu et al. (2015) proposed a knowledge description model of manufacturing equipment, including the static and dynamic information. And to reflect the dynamic characteristics, they used dynamic description logistic (DDL) to describe the dynamic model of manufacturing equipment capability. Ameri et al. (2012) presented a methodology to develop manufacturing capability ontologies and decomposed the capability model into five levels. Simple Knowledge Organization System (SKOS) is employed as the thesaurus to identify the concepts of the ontologies. Additionally, manufacturing service description language (MSDL) is used to describe the manufacturing service at a semantic level in the digital manufacturing market (Ameri and Patil 2012). Luo et al. (2013) established a multidimensional information model of manufacturing capability and adopted OWL 2 as the description carrier of the manufacturing capability description framework (MCDL). To promote reuse of the product design and manufacturing process knowledge in design and process failure modes, Chhim et al. (2017) employed ontologies and Semantic Web technologies to encode knowledge into ontologies. Then these ontologies are formalized via Protégé and uploaded onto the web. Quintanilla et al. (2016) proposed a manufacturing service modeling methodology from four perspectives, including service type, specification, profile and implementation, to support the design of customizable production-process specifications.

Cloud service optimal selection

In the CMfg platform, there are abundant cloud services that provide similar functionalities but differ in quality of service (QoS), how to choose services to satisfy specific requirements of manufacturing tasks has become a key issue to implement CMfg. In the practical production process, QoS criteria such as the execution time, cost, reliability, and so on are widely concerned and are usually considered simultaneously. Thus, the service optimal selection process can be viewed as a multi-criteria decision making (MCDM) (Tapoglou and Mehnen 2016) problem and the overall QoS level is comprehensively evaluated. Lartigau et al. (2015) proposed a method based on QoS evaluation and analyzed the geo-perspective correlation among cloud services. To optimize this method, they developed an adapted Artificial Bee Colony (ABC) algorithm with an enhanced initialization. Tao et al. (2013) investigated the service composition optimal selection (SCOS) problem with multiple objectives and constraints, and developed a parallel intelligent algorithm. Seghir and Khababa (2016) addressed the QoS-aware cloud service composition problem and proposed a hybrid genetic algorithm (HGA) combining genetic algorithm and fruit fly optimization algorithm to solve it. Haddad et al. (2010) presented a web service composition selection algorithm considering the transactional requirements and QoS characteristics to satisfy customer’s preferences. Cao et al. (2016) established a service selection and scheduling model with criteria TQCS (time, quality, cost and service) considered, including the logistics time and cost. Then, an ant colony optimization (ACO) with a selection mechanism (ACOS) is proposed for this model. Xu et al. (2016) considered three kinds of correlation between services and presented a correlation-aware QoS model of aggregation service. Then, they proposed an improved discrete bees algorithm based on Pareto (IDBA-Pareto) to solve the service aggregation optimal selection problem. Chen et al. (2016) proposed a novel QoS-aware Web service composition (QWSC) method and developed an efficient \(\varepsilon \)-dominance multi-objective evolutionary algorithm (EDMOEA) to find the Pareto optimal solutions, which supports users to select services with the tradeoff between the QoS performance and the QoS risk.

Scheduling strategy in a real-time scenario

After assigning tasks to IMMCSs, scheduling is firstly performed in the service execution process and is subject to some temporal constraints derived from the real-time production status of IMMs (e.g. availability and workload) and the changing task queues. In the CMfg system, one of the principal scheduling challenges is to schedule and assign tasks with unpredictable order flow (Lartigau et al. 2012), which makes the traditional and static scheduling approach insufficient. Therefore, dynamical optimization for multiple tasks from a global perspective should have more practical significance. Considering the dynamic order change and internal disturbances in real-life manufacturing flow lines, Barenji et al. (2016) proposed a multi-agent-based dynamic scheduling system using the Prometheus methodology and a decision-making mechanism among multiple agents was illustrated. To efficiently exploit the robots in distributed enterprises, Li et al. (2015) proposed a CMfg scheduling model in which the deployment methods for four robots are considered, and further three optimization objectives that include load, cost and processing time are formulated based on the corresponding subtask scheduling strategies. With IoT and RFID technologies, the acquisition and integration of real-time production information keep the decision makers being timely informed of any dynamics, thus corresponding adjustment actions (scheduling or rescheduling) can be quickly taken to maintain the global stability (Sokolov et al. 2016). Luo et al. (2015) developed a multi-period hierarchical scheduling (MPHS) mechanism for the hybrid flow shop with the implementation of RFID technologies. In upper level shop floor scheduling, the workload for all stages is balanced and the due dates of jobs are considered. In the lower level, the stage scheduling is modeled as a parallel machine scheduling problem to minimize the makespan. Chongwatpol and Sharda (2013) presented a RFID-based traceability system to track work in processes (WIPs), parts, components and raw materials in shop-floor operations. Then the proposed information visibility-based scheduling rule was validated to improve production scheduling such as reduction in cycle times or improved capacity utilization. Based on the agent and cyber-physical system, Zhang et al. (2016b) proposed a framework of self-organizing and self-adaptive intelligent shop floor. Under this framework, the designed self-adaptive model can timely identify the exceptions during manufacturing progress, and regenerate a new schedule to minimize the total weighted delay time.

Fig. 1
figure 1

Overall architecture of IMMCS configuration

Overall architecture of IMMCS configuration

The overall architecture of IMMCS configuration process is presented in Fig. 1, where three types of cloud users are involved in the CMfg system, i.e. the CMfg platform, service providers and service demanders. Service providers play fundamental supporting roles in CMfg. They make great contributions to full-scale sharing, circulation and on-demand use of manufacturing resources. Here, we consider two kinds of service providers including IMMP and logistics provider (LP), as the production and logistics are two critical segments in the real-life supply chain networks (Wang et al. 2016a). Distributed resources (IMMs and vehicles) are virtualized and encapsulated as cloud services, i.e. IMMCSs and logistics cloud services (LCSs), then they are published into the cloud service pool and aggregate into the manufacturing cloud and the logistics cloud respectively. The advanced information and computing technologies help to realize the precise archiving and efficient management of cloud services. The injection molding task order (IMTO) is formalized and represented by the standard template and is published into the demand cloud. The application service bases are a kind of service systems (Wang et al. 2016b). In the base, the value-added manufacturing information is wrapped into application services according to the template offered by EIS providers. Application services can be easily invoked and rented by cloud users in a plug-and-play manner. With the integration of multi-source information of resources and the application services for technical support, IME-CMfgSP can promote the operation, coordination, optimization of IMMCSs, enhancing resource utilization and dealing with variant manufacturing tasks.

This work focuses on the IMMCS configuration in the production process, the transportation part is not considered. An IMMCS configuration engine is built to optimize IMM configuration and to satisfy cloud users’ needs better, which is of great importance to the implementation of CMfg. This engine comprises two core parts, they are the task-driven proactive service discovery and service optimization configuration.

Fig. 2
figure 2

Servitization framework of IMMCS

The task-driven proactive service discovery is performed in the first place with functional match (FM) invoked. By FM, the competent services are pooled into IMMCS candidate set (IMMCSCS) for each task order. In the service optimization configuration, the multi-criteria evaluation (MCE) based on the classical TOPSIS method is invoked in the comprehensive evaluation process. With some customized criteria, the presented evaluation method helps the task orders to find their satisfactory solutions. Surely, each task order can only be executed by one IMMCS. For the selected IMMCSs, each of them may accept one or more orders. And the set of new orders assigned to the IMMCS is defined as the preliminary configuration solution. Real-time scheduling (RTS) can be used by the cloud platform or any individual IMMP. With RTS, we designed an order dispatching mechanism so that the platform can dynamically dispatch newly arrived orders to IMMCSs according to their real-time status, and then the processing sequence of orders on each IMM is determined. In this case, the RTS is viewed as a parallel-machine version. Similar for any IMMP, the provider utilizes RTS to find an optimal schedule for new orders or to insert new orders into the originally scheduled queue, which means to reschedule the new orders as well as the remaining unexecuted orders in the queue if necessary. So, this RTS is defined as the single-machine version and is further studied in this work. With the intelligent algorithm employed, an optimal schedule is achieved, i.e. the optimal configuration solution. Then, the CMfg platform transmits the ultimate configuration results to the corresponding IMMPs. After the task orders are completed, they are delivered to service demanders by LCSs (Zhang et al. 2016a) and the transactions are finished.

Servitization of IMM

Servitization framework of IMMCS

The servitization of IMMs plays a significant part in CMfg. As IMMs are registered and published into the CMfg platform by providers, it facilitates the open, flexible, on-demand use of resources. Furthermore, it makes much easier for providers to seek for business opportunities and complete more transactions. In addition, from the service demander’s angle, the resource query and invocation of IMMCSs become readily available and easy-to-use. The whole servitization process is shown in Fig. 2, and it can be divided into four layers, namely the perception layer, the data processing & management layer, the application service layer, and the service registration & publishing layer.

Perception layer

At the perception layer, by applying IoT and RFID technologies to the injection molding shop, and with some RFID devices and communication modules deployed, a RFID-enable injection molding shop (RIMS) is created, which provides support for the real-time and seamless connectivity and interaction between the production frontline and the CMfg platform. In manufacturing activities, the multi-source production information can be dynamically sensed and captured. For IMMs, different kinds of sensors are embedded to collect the parameters of the working condition, such as the pressure sensor, the temperature sensor and the linear displacement sensor, which helps to reveal the real-time molding process. Meanwhile, materials, WIP items and products are attached with RFID tags, and the RFID readers are installed at machines and buffers, so that the dynamic manufacturing information of task orders can be identified. With the support of networks like 3G/4G networks, Bluetooth, wireless networks, etc., the lossless and high-speed transmission of real-time data is realized.

Data processing and management layer

At this layer, all the raw data acquired from the lower layer are processed in the data processing component. The whole processing cycle of data proceeds from the definition, optional filtering, aggregation and fusion, and finally based on rules and standards, the processed data are converted into value-added manufacturing information. Two kinds of manufacturing information are stored and updated in the information storage, including the static description information derived from the inherent attributes of IMM and production history, and the dynamically sensed information based on the captured real-time production data.

Application service layer

At the application service layer, based on the application template rented from EIS providers, IMMPs encapsulate both static and dynamic manufacturing information into application services, to provide diversified, customizable, real-time applications throughout the product lifecycle (Zhang et al. 2016c). Besides aforementioned FM and RTS, typical application services available for cloud users include process monitoring (PM), capability analysis (CA), energy consumption analysis (ECA) and multi-criteria evaluation (MCE).

  • FM: FM is responsible for performing a function-perspective match between task orders and cloud services by adopting the semantic match method (Paolucci et al. 2002). The semantic matching degree is rated and defined as four levels, i.e. Exact, Plug in, Subsume and Fail. During the matching procedure, the matching degrees between capability attributes and functional requirements are measured.

  • RTS: RTS is the core of IMMCS configuration engine. After assigning dynamically arrived task orders to IMMs, then RTS is invoked to determine the process sequences. Different versions of RTS are available for different cloud users under different circumstances. The details of RTS are described in “RTS” section.

  • PM: PM reveals the real-time molding progress by tracing the evolution of key technical parameters. When a warning deviation happens, amendments should be timely carried out or even interrupts the molding operation if necessary to avoid deteriorating the products.

  • CA: CA is often invoked along with RTS. It quantifies the dynamic capability of the machine by the index load rate. And with the load rate grows, the capability weakens.

  • ECA: ECA measures all kinds of energy consumption in related production activities and generates analysis reports. Energy consumptions in molding process are like water, heat, and electricity etc., and electricity is of primary concern in this work.

  • MCE: MCE assesses the configuration solutions through the multiple defined criteria by employing the TOPSIS method. A decision-making system is built based on MCE, which enables the cloud users to find satisfactory solutions.

Through specific application interfaces, cloud users can inquire and invoke application services in a plug-and-play manner. Furthermore, the collaboration among application services forms an integrated function block that promotes the flexibility and adaptability to meet the varying task requirements.

Service registration and publishing layer

The service registration and publishing layer enables resources to seamlessly access the CMfg platform. The entire process consists of three steps as listed below.

  • Information model of IMM: As a core element of this layer, it formally describes both static and dynamic sensed manufacturing information of machines, including basic attributes, capability attributes and so on. It can transform the physical resources into virtual ones, revealing the machining capabilities and real-time machining status and so on.

  • Ontology model of IMM: In order to achieve the high-quality, efficient service discovery and service match, ontology and semantic web technologies are employed to construct the ontology model of IMM. Meanwhile, the widely used ontology description language i.e. OWL-S is chosen to semantically describe the ontology model of IMMCSs.

  • Service registration and publishing mechanism based on the Manufacturing Service Universal Description, Discovery, and Integration (MS-UDDI): Based on the UDDI technology, the proposed framework of MS-UDDI consists of three sub-modules, i.e. the registration module, the publishing module and the search module. In registration module, through the OWL-S/UDDI matchmaker (Srinivasan et al. 2004), the data structure of ontology model described by OWL-S is transformed to that supported in UDDI, so that services can be registered in MS-UDDI. In publishing module, various cloud services are published into CMfg platform, and then corresponding cloud service pools are formed. In search module, service demanders can inquire cloud services according to their needs.

Fig. 3
figure 3

IMM service model

Information model of IMM

Constructing the information model of IMM lays a solid foundation for the service registration and publishing processes. It is of great significance to the subsequent service discovery and intelligent match. In this section, comprehensive manufacturing information of the IMM is investigated, including the static manufacturing attributes and the real-time production information. In practice, heterogeneous and massive data collected from the machine’s inherent attributes and related manufacturing activities increases the redundancy and inoperability of service modeling. Therefore, some representative attributes are extracted and integrated to build the IMM service model. As shown in Fig. 3, the IMM service model consists of four attributes. They are basic attributes, capability attributes, real-time status attributes and evaluation attributes respectively. The IMM service model is defined as:

$$\begin{aligned} { IMMCS}= & {} ({ IMMBasicAttr}, { IMMCapabilityAttr},\nonumber \\&{ IMMStatusAttr}, { IMMEvaluationAttr}). \end{aligned}$$

Basic attribute

The basic attribute of IMM gives an overall description of the machine’s inherent attributes, including service ID, service name, provider, workshop, manufacturer, service life and typical product. It is defined as:

$$\begin{aligned} { IMMBasicAttr}= & {} ({ IMMID}, { IMMName}, { IMMProvider},\nonumber \\&{ IMMWorkshop}, { IMMManufacturer},\nonumber \\&{ IMMLife}, { IMMProduct}). \end{aligned}$$

Here, some definitions require further explanation. IMMWorkshop indicates the location information of IMM. IMMProduct describes the product output from the IMM, which can facilitate a quick match between tasks and IMMCSs.

Capability attribute

As a core component of the service model, capability attributes are pivotal criteria to measure whether IMMCS can meet the functional requirements of injection molding tasks, and to provide technical support for FM in the proactive service discovery. In the molding process, the capability attributes are embodied by the functional information which has decisive effects on the quality of products, including equipment inherent parameters, mold design information and molding technical parameters. In practical operations, to shield the heterogeneous parameters and massive data and for the convenience of executing the intelligent match, six crucial capability attributes are defined. They are the structural feature, the geometric dimension, the injection material, the precision level, the quality level and the performance level. It is defined as:

$$\begin{aligned} { IMMCapabilityAttr}= & {} ({ IMMFeature}, { IMMGeoDimension},\nonumber \\&{ IMMMaterial}, { IMMPrecision}, \nonumber \\&{ IMMQuality}, { IMMPreformance}). \end{aligned}$$

IMMFeature describes the structural characteristics, including shape and wall thickness of the product. It depends on the cavity feature of the injection mold. IMMGeoDimension refers to the overall size of the product. Meanwhile, it is the pivotal factor to choose injection volume, clamp force and mold size. IMMMaterial denotes the type of injected plastic, commonly including PP, PE, PVC, PS, ABS, etc. It is of great concern to choose the appropriate material, as different materials differ a lot in properties, affecting the molding quality and performance of products. IMMPrecision indicates the attainable precision level of product and is dependent on the mold structure, injection pressure, the precision of equipment and so on. IMMQuality reflects the injection molding quality. And the common quality flaws are like the bubble, shrinkage, warping, deformation, etc. Molding quality is usually influenced by injection rate, holding pressure, mold temperature, dwell time, etc. IMMPerformance mainly refers to the mechanical property of the product, which depends on the application context of the product. In the molding process, it is mainly affected by the material temperature and injection rate.

Real-time status attribute

Accurate perception of the real-time production data makes the entire molding process more intelligent, transparent and controllable. Furthermore, it makes significant contributions to service monitoring, service scheduling. Real-time status attributes contain service status, load status, task queue and molding process information. It is defined as:

$$\begin{aligned} { IMMStatusAttr}= & {} ({ IMMStatus}, { IMMLoadStatus},\nonumber \\&{ TaskQueue}, { MoldingProcessInfo}). \end{aligned}$$

IMMStatus refers to the working condition of IMM, including running, idle and maintenance. IMMLoadStatus indicates the load condition of the equipment. TaskQueue is the sequence information of task orders assigned on the IMM, including orders under process and others waiting for processing. When new task orders arrive, TaskQueue should be timely updated. MoldingProcessInfo describes the real-time status values of vital technical parameters like pressure, temperature and so on, to monitor, control and record the current molding process.

Evaluation attribute

The evaluation attribute is of great importance in assessing machining capability of IMM and provides support for constructing evaluation system in service configuration process as well. To realize a comprehensive assessment of IMMCS, evaluation indicators are defined and selected from the production records and the feedbacks from customers. Typical criteria like pass rate, cost, time, reliability, energy, service times, and customer satisfaction (CS) are included. It is defined as:

$$\begin{aligned} { IMMEvaluationAttr}= & {} ({ PassRate}, { Cost}, { Time}, \nonumber \\&{ Reliability}, { Energy}, { STimes}, { CS}). \end{aligned}$$

Reliability refers to the execution reliability of IMMCS. Energy means the energy consumption (e.g. electricity) in the related molding process. STimes indicates the invocation times of IMMCS. The more times service is invoked, the more convincing evaluation attributes are.

Optimal configuration method for IMMCS

This section presents an IMMCS configuration engine that focuses on how to assign orders to IMMCSs in a dynamic scenario. As shown in Fig. 4, the configuration process contains two parts, including task-driven proactive service discovery and service optimization configuration. In the entire configuration process, the IMMP invokes application services in a plug-and-play manner according to the dynamically updated manufacturing information. With the feedback of the configuration results and service execution information, the closed-loop of service discovery, service evaluation and selection, task scheduling and execution is built in a real-time environment.

Let \({ IMTOS}=\{{ IMTO}_i;\,i=1,2,3,\ldots ,n\}\) denote the set of newly arrived orders of the \(l\hbox {th}\) batch, where \({ IMTO}_{i}\) represents the \(i\hbox {th}\) order; and define the variable \(At^{l}\) as the arrival time. At time \(At^{l}\), there are m service providers being operative in the CMfg platform, and each provider owns one IMM. Let \({ IMMPS}=\{{ IMMP}_j;\,j=1,2,3,\ldots ,m\}\) denote the set of providers, where \({ IMMP}_{j}\) is the \(j\hbox {th}\) provider, and its IMM is denoted as \({ IMMCS}_{j}\) accordingly.

Fig. 4
figure 4

Working logic of the IMMCS configuration engine

Task-driven proactive service discovery

Orders may arrive in the cloud platform at any moment, which requires rapid responses from the IMMPs. For IMMPs, they take the initiative to request for processing orders. With the support of FM, IMMCSs are filtered according to the task requirements, and then the competent ones are quickly found. This procedure is called IMMCS discovery.

Description model of the manufacturing task

Above all, to realize the fast and accurate match between orders and IMMCSs, a detailed description of the order is imperative to give. In Fig. 5, the description model of IMTO contains the basic information and the functional requirement information. It is defined as:

$$\begin{aligned} { IMTO}= ({ TaskBasicInfo}, { TaskFunRequInfo}). \end{aligned}$$

TaskBasicInfo refers to the basic information of order. It includes order ID, customer information, task name, task type, due date and batch. Here, we assume that the order only contains one task, which means the batch of the order is one. TaskFunRequInfo describes the functional requirement information of the task, including the structural feature, the geometric dimension, the material, the precision, the molding quality and the performance.

Fig. 5
figure 5

Description model of IMTO

IMMCS discovery

By FM, the semantic match between capability attributes of IMMs and functional requirements of task orders is executed. And the matching degree for each pair of attributes is measured as shown in Eq. (1).

$$\begin{aligned}&{ Match}({ IMTFeature}, { IMMFeature})\nonumber \\&\quad \wedge \, { Match}({ IMTGeoDimension}, { IMMGeoDimension})\nonumber \\&\quad \wedge \, { Match}({ IMTMaterial}, { IMMMaterial})\nonumber \\&\quad \wedge \, { Match}({ IMTPrecision}, { IMMPrecision})\nonumber \\&\quad \wedge \, { Match}({ IMTQuality}, { IMMQuality})\nonumber \\&\quad \wedge \, { Match}({ IMTPerformance}, { IMMPerformance})={ Exact}\nonumber \\ \end{aligned}$$
(1)

Only if all the matching degrees reach Exact, the IMMCS can fully satisfy the task requirements. The competent IMMCS is viewed as a candidate service and is pooled into corresponding IMMCSCS afterward. Let \({ IMMCSCS}_i =\{{ IMMCS}_i^p;p=1,2,\ldots ,m_c^i \}\) be the candidate set for \({ IMTO}_{i}\), where \(m_{c}^i\) is the total number of candidate services and \({ IMMCS}_{i}^p\) is the \(p\hbox {th}\) candidate.

Comprehensive evaluation

For the service demanders, with multiple candidate IMMCSs to choose, invoking MCE based on TOPSIS method can achieve a comprehensive evaluation of services. Here, we consider the IMMStatusAttr and IMMEvaluationAttr of the IMMCS and choose five typical criteria, i.e. the minimum cost, the greatest priority, the highest reliability, the lowest energy consumption and the maximum customer satisfaction to evaluate the candidates.

  • Cost (C): C is the execution cost of an IMMCS includes all the costs of the production operations and the associated materials and operators.

  • Priority (Z): Z is the priority of an order on the IMM is measured by the operation slack (OSL) (Haupt 1989). Here, OSL is modified when considering the real-time queue information, as shown in Eq. (2).

    $$\begin{aligned} { OSL}=d_i -s_{i,j} -p_{i,j} \end{aligned}$$
    (2)

where \(d_{i}\) is the due date of \({ IMTO}_{i}\); \(s_{i,j}\) is the starting time and \(p_{i,j}\) is the processing time on \({ IMMCS}_{j}\). The smaller the value of OSL is, the greater Z is. Empirically, the order with greater priority is more likely to be executed in the early stage, thus reducing the possibility of being delayed resulted from the preemption of the subsequent orders with greater priorities.

  • Reliability (R): R is the execution reliability of the IMMCS, which can be quantified by the probability of working functionality in the production activities.

  • Energy consumption (EC): EC reflects the energy consumption (e.g. electricity) of the IMMCS in the whole injection molding process.

  • Customer satisfaction (CS): CS is the subjective rating of the IMMCS from the service demanders after completing the task orders; Besides the objective evaluation of the product quality, credit, cooperation and so on in the transactions are drawing common concern from the customers.

The TOPSIS method is one of the most widely used tools for MCDM (Dymova et al. 2013), and it is introduced in the service evaluation method. This MCDM problem for each task order is based on the aforementioned five criteria and their respective candidate IMMCSs. Let \(D[x_{pq} ]_{m_c^i \times e}\) be the decision matrix, where \(x_{pq}\) represents the value of \(q\hbox {th}\) criterion of \(p\hbox {th}\) candidate with\(1\le p\le m_c^i \) and \(1\le q\le e=5\). And vector \(W=(w_1 ,w_2 ,w_3 ,w_4 ,w_5 )\) denotes the weights of criteria satisfying \(\sum _{q=1}^5 {w_q } =1\). It also reflects the QoS preferences of service demanders (Choi and Jeong 2014). The entire evaluation procedure consists of the following steps:

  1. 1.

    Normalize the decision matrix:

    $$\begin{aligned} r_{pq} \!=\frac{x_{pq} }{\sqrt{\sum _{p=1}^{m_c^i } {x_{pq}^2 } }},\; p{=}1,2,\ldots ,m_c^i ,\; q{=}1,2,3,4,5\nonumber \\ \end{aligned}$$
    (3)

    Considering the weights of criteria, the weighted and normalized decision matrix is obtained according to Eq. (3).

    $$\begin{aligned} v_{pq} =w_q r_{pq} ,\quad p=1,2,\ldots ,m_c^i ,\quad q=1,2,3,4,5\nonumber \\ \end{aligned}$$
    (4)
  2. 2.

    Determine the positive and negative ideal solutions:

    $$\begin{aligned} A^{+}= & {} \{v_1^+ ,v_2^+ ,v_3^+ ,v_4^+ ,v_5^+ \}\nonumber \\= & {} \{(\mathop {\max }\limits _p v_{pq} \left| {q\in I_b } \right. ),(\mathop {\min }\limits _p v_{pq} \left| {q\in I_c } \right. )\} \end{aligned}$$
    (5)
    $$\begin{aligned} A^{-}= & {} \{v_1^- ,v_2^- ,v_3^- ,v_4^- ,v_5^- \}\nonumber \\= & {} \left\{ (\mathop {\min }\limits _p v_{pq} \left| {q\in I_b } \right. ),(\mathop {\max }\limits _p v_{pq} \left| {q\in I_c } \right. )\right\} \end{aligned}$$
    (6)

    where \(I_{b}\) is the set of benefit-oriented criteria (i.e. R and CS), and \(I_{c}\) is the set of cost-oriented criteria (i.e. C, Z and EC).

  3. 3.

    Calculate the distances of each candidate from the positive and negative ideal solutions: Two Euclidean distances for each candidate are calculated respectively as follows:

    $$\begin{aligned} S_p^+= & {} \sqrt{\sum _{q=1}^5 {(v_{pq} -v_q^+ )^{2}} },\quad p=1,2,3,\ldots ,m_c^i \end{aligned}$$
    (7)
    $$\begin{aligned} S_p^-= & {} \sqrt{\sum _{q=1}^5 {(v_{pq} -v_q^- )^{2}} },\quad p=1,2,3,\ldots ,m_c^i \end{aligned}$$
    (8)
  4. 4.

    Calculate the relative closeness to the ideal candidates:

    $$\begin{aligned} { RC}_p =\frac{S_p^- }{S_p^+ +S_p^- },\quad p=1,2,3,\ldots ,m_c^i \end{aligned}$$
    (9)

Rank the candidates according to their relative closeness to the ideal candidate in descending order, the bigger \(RC_{p}\) is, the better the candidate \({ IMMCS}_{i}^p\) is.

For each service demander, they found satisfactory solutions after the comprehensive evaluation. Here, let \({ IMMCS}_i^{*}\) be the optimal solution for \({ IMTO}_{i}\). In practice, there are usually one or more orders being assigned to the same IMMCS. Therefore, let \({ IMTOS}_{j} =\{{ IMTO}_{j,k};k=1,2,\ldots ,K_j \}\) denote the set of orders assigned to the \({ IMMCS}_{j}\), where \(K_{j}\) is the total number satisfying \(n=\sum _{j=1}^m {K_j }\) and \({ IMTO}_{j,k}\) is the \(k\hbox {th}\) order. With all the orders assigned, \({ PCS}=\{{ IMTOS}_j ;j=1,2,\ldots ,m\}\) is defined as the preliminary configuration solution.

Order dispatching mechanism

RTS

After the new orders are accepted, relying on the transparent and accessible production process in the RIMS, the real-time status data are input to the order dispatching module. In this work, we focus on the single-machine problem in a real-time environment, which means each IMMCS invokes RTS to determine the permutation of the orders to meet the specific scheduling objective with the real-time production information and the order information considered. In reality, missing an order’s due date is a common production problem and usually results in a penalty for delay. Therefore, the scheduling objective is to minimize the total weighted tardiness of orders assigned to the IMMCS, which is referred as the single machine total weighted tardiness problem. Here, some notations used in the scheduling model are explained firstly.

  • \(\pi \): the sequence of orders on machine and \(\pi _{j,k}\) denotes the \(k\hbox {th}\) order in a schedule on \({ IMMCS}_{j}\);

  • \({ IMTOS}_j^{l-1} =\{{ IMTO}_{j,1}, { IMTO}_{j,2} ,\ldots ,{ IMTO}_{j,K_j^{l-1} } \}\): the set of unexecuted orders remained in the \((l-1)\hbox {th}\) batch on \({ IMMCS}_{j}\) at \(At^{l}\), and these \(K_j^{l-1} \) orders have been scheduled optimally and \(\pi ^{l-1}\) is the optimal schedule with no idle time between the adjacent orders, and \({ IMTO}_{j,0}\) denotes the order currently under processing at \(At^{l}\);

  • \({ IMTOS}_j =\{{ IMTO}_{j,K_j^{l-1} +1},{ IMTO}_{j,K_j^{l-1} +2} ,\ldots ,{} { IM}{} { TO}_{j,K_j^{l-1} +K_j } \}\): the set of new orders;

  • \({ IMTOS}_j^l ={ IMTOS}_j^{l-1} \cup { IMTOS}_j =\{{ IMTO}_{j,1} ,{ IMTO}_{j,2},\ldots ,{ IMTO}_{j,K_j^l } \}\): the set of new orders and unexecuted orders, where \(K_j^l =K_j^{l-1} +K_j\);

  • \(s_{j,k}^l\): the starting time of \(k\hbox {th}\) order, and \(s_{j,1}^1 =0\), \(s_{j,1}^l \ne 0\) according to the real-time queue information, noted that except breakdown happens, no idle time is allowed on the machine;

  • \(p_{j,k}^l\): the processing time of \(k\hbox {th}\) order on \({ IMMCS}_j\), and the setup time for order is merged into the processing time;

  • \(c_{j,k}^l\): the completion time of \(k\hbox {th}\) order;

  • \(d_{j,k}^l\): the due date of \(k\hbox {th}\) order;

  • \(\alpha _{j,k}^l\): the tardiness penalty for \(k\hbox {th}\) order;

Fig. 6
figure 6

Pseudo-code of the designed GA

Table 1 Information of the arrived orders at time \(At^{8}\)
Table 2 Processing time of task orders on IMMCSs
Fig. 7
figure 7

Real-time task queues of IMMCSs

As new orders arrive randomly, at \(At^{l}\), if \((At^{l}-c_{j,K_j^{l-1} }^{l-1} )>0\), the IMMCS is idle until the first order in the \(l\hbox {th}\) batch starts to process, where \(c_{j,K_j^{l-1} }^{l-1} \) denotes the completion time of the last order in the \((l-1)\hbox {th}\) batch. Particularly, when \((At^{l}-c_{j,K_j^{l-1} }^{l-1} )=0\) the first order starts immediately after the last order finishes. In this case, only \(K_{j}\) orders need to be scheduled, which is defined as Problem 1(P1). If \((At^{l}-c_{j,K_j^{l-1} }^{l-1} )<0\), the schedule \(\pi ^{l-1}\) may be disrupted, and a new schedule for the remaining orders in the queue as well as the new orders, is needed (Hall and Potts 2004; Duron et al. 2009; Rahmani and Heydari 2014). Noted that \(At^{l}\) is considered as the initial time of the new schedule and called time 0. It is assumed that the orders that have been already processed are removed from the queue, and the partly processed order should be processed until completion. In this case, \(K_j^l\) orders of \({ IMTOS}_j^l\) need to be scheduled, and \(\pi ^{l}\) which denotes the optimal schedule should be determined. This case is defined as Problem 2 (P2). We study P1 and P2 as follows:

  1. 1.

    P1 we assume that the first order in the \(l\hbox {th}\) batch starts processing as soon as this batch arrives, which means \(s_{j,1}^l =At^{l}\). So the completion time of \(k\hbox {th}\) order is:

    $$\begin{aligned} c_{j,k}^l =s_{j,1}^l {+}\sum _{h=1}^k {p_{j,h}},\; h{=}1,2,\ldots ,k,\; k{=}1,2,\ldots ,K_j\nonumber \\ \end{aligned}$$
    (10)

    And an order’s tardiness \(T_{j,k}^l\) is defined as \(T_{j,k}^l =\max (c_{j,k}^l -d_{j,k}^l ,0)\). The scheduling objective is:

    $$\begin{aligned} \min f^{l}({ IMMCS}_j )=\min \sum _{k=1}^{K_j } {\alpha _{j,k}^l \cdot T_{j,k}^l } \end{aligned}$$
    (11)
  2. 2.

    P2 when orders arrive at \(At^{l}\), if an order is under processing and has not been completed yet, thus the first order in \({ IMTOS}_j^l\) has to wait until the current order complete. We define the variable \(c_{j,0}^{l-1}\) as the completion time of the current order of the \((l-1)\hbox {th}\) batch. As no idle time between orders, we assume \(s_{j,1}^l =c_{j,0}^{l-1}\), so the completion time of \(k\hbox {th}\) order is calculated by Eq. (12):

    $$\begin{aligned} c_{j,k}^l =s_{j,1}^l +\sum _{h=1}^k {p_{j,h}},\; h{=}1,2,\ldots ,k,\; k{=}1,2,\ldots ,K_j^l\nonumber \\ \end{aligned}$$
    (12)

    The tardiness is \(T_{j,k}^l =\max (c_{j,k}^l -d_{j,k}^l ,0)\) and the objective is:

    $$\begin{aligned} \min f^{l}({ IMMCS}_j )=\min \sum _{k=1}^{K_j^l } {\alpha _{j,k}^l \cdot T_{j,k}^l } \end{aligned}$$
    (13)

GA-based solving method

Considering that the scheduling problem has a large solution space, we use the genetic algorithm (GA) to find an optimal or near optimal solution within a reasonable computation time. GA has been widely studied in the scheduling fields and shows promising performance. Here, pseudo-code of the designed GA is shown in Fig. 6:

We design the encoding method for constituting the chromosome to solve P1and P2 respectively. An integer-based encoding method is used and each integer represents a gene. In P1, the chromosome consists of \(K_j\) genes and the sequence of genes represents a schedule on the machine. While in P2, the chromosome has \(K_j^l\) genes. P(t) represents the population at generation t, and the initial population should be denoted as P(0). In this approach, Eqs. (11) and (13) are employed as the fitness function to evaluate each individual. The roulette wheel selection operator, two-point crossover operator, and swap mutation operator are adopted as genetic operations. This algorithm terminates when the stopping criterion is satisfied, which is reaching the maximum number of generations \(N_{gen}\).

Table 3 Evaluation criteria of IMMCSs

When the algorithm stops, the computational results are achieved. Therefore, for P1and P2, the permutation of orders on the machine is determined, i.e. the optimal configuration solution. We define that the parameter \(\pi _{j,k}^l\) represents the \(k\hbox {th}\) order assigned on \({ IMMCS}_{j}\) in the optimal schedule \(\pi ^{l}\). With the configuration results, the IMMCSs update their queue information and start to process orders immediately.

As in a real industrial environment, the IMMPs are faced with batches of randomly arrived orders. Therefore, their initiative and adaptability to the changing orders should be strengthened. The presented IMMCS configuration engine can provide satisfactory solutions for them, so that enhances resource utilization, production efficiency and better satisfy the service demanders at the same time.

Numerical simulation

In this section, a numerical simulation of the proposed IMMCS configuration method is given as an example by taking a batch of typical injection molding tasks that arrived in the CMfg platform. The entire IMMCS configuration process is described as follows:

Table 4 Preliminary configuration solution
Fig. 8
figure 8

The schedule result on \({ IMMCS}_{1}\)

Fig. 9
figure 9

Optimal configuration solutions

At time \(At^{8}\), the eighth batch that contains fifteen task orders arrives at the CMfg platform. The detailed information is given in Table 1. Meanwhile, there are five IMMCSs being operative, denoted as \(\{{ IMMCS}_{1}\), \({ IMMCS}_{2}\), \({ IMMCS}_{3}\), \({ IMMCS}_{4}\), \({ IMMCS}_{5} \}\). After completing the service discovery procedure, each order can find their candidate services. The processing time of orders on IMMCSs is listed in Table 2, in which the symbol “-” means this IMMCS is not included in the candidate set. According to the previous schedule, the orders being processed and those unexecuted ones in the queues are shown in Fig. 7. The data (x, y, z) denote the order information, “x” is the processing time; “y” is the due date; “z” is the weight of the order. The order being processed can be represented by: the gray rectangle denotes the part has been finished; the red rectangle denotes the part has not been completed. The rest blue rectangles are scheduled and waiting to be executed.

Based on the real-time task queues, the priorities of orders on IMMs can be calculated by Eq. (2). The evaluation criteria of IMMCSs are shown in Table 3. Through the TOPSIS based evaluation method, service demanders can customize the weights of each criterion to find their satisfactory IMMCSs. In other words, the task assignments on IMMs, i.e. the preliminary configuration solutions are shown in Table 4.

After new orders are accepted by IMMCSs, RTS is performed immediately. Take \({ IMMCS}_{1}\) for example, totally eight orders are scheduled. Here, we use GA to achieve a satisfactory solution. The GA parameters are listed as follows:\(N_{pop} =50\), \(N_{gen} =100\), \(P_c =0.8\), \(P_m =0.1\). The result is shown in Fig. 8. Then the new order sequence is determined. All the schedule results on IMMCSs are shown in Fig. 9. These optimal configuration solutions are fed back to the IMMCSs and waiting to be executed. When another batch of orders arrives, repeat above configuration procedure.

Conclusion and future work

To solve the problems that most injection molding enterprises are faced with, e.g. inadequate task orders, unreasonable production scheduling, etc., applying CMfg in the injection molding industry seems to be an effective solution. When comes to the specific implementation and considers the features of injection molding, three challenges need to be addressed, i.e. IMMCS modeling, IMMCS selection and scheduling. All three parts are tightly coupled with each other and key segments in the service configuration.

In this work, the overall architecture of IMMCS configuration and its components are presented. Within this architecture, IME-CMfgSP is established to realize the full-scale sharing, free circulation and efficient integration of IMMs. In the servitization of IMM, RIMS is designed to acquire real-time production data in the molding process. Based on it, a four-dimension information model of IMM is built to transform the IMM into a virtual machining service. By employing the ontology method, OWL-S, and MS-UDDI, the virtual machining services are encapsulated as IMMCSs, and then registered and published into the platform. The IMMCS configuration engine aims to assign orders to IMMCSs in a dynamic environment. The proposed task-driven proactive service discovery method facilitates the efficient and proactive discovery of potential IMMCSs for orders. A multi-objective evaluation method based on TOPSIS is designed for customers to find satisfactory services from massive candidate IMMCSs. Furthermore, RTS is presented to schedule or re-schedule all the orders on the IMM timely through a single-machine scheduling model, minimizing the total weighted tardiness. In other words, the penalty cost caused by the delay can be reduced. This mechanism helps IMMPs dynamically adapt to the changing task queue, especially the interruption resulted from the newly arrived orders. At last, the proposed configuration method is validated by a numerical simulation.

This work still has some limitations that need further research. Firstly, we mainly focus on the load status of the IMM while other dynamic characteristics like pressure and temperature are few concerned. And how PM works needs deeper research, including the parameter monitoring and analysis, exception diagnosis and prediction. So that customers can check the production progress and the quality of the product through PM at any time. Secondly, after task orders are assigned to IMMCSs, customers are not fully involved in the entire manufacturing process. A concrete interaction mechanism to promote information exchange and ensure the quality of the product through the product life cycle needs to be further studied. So that joint manufacturing for customers and enterprises is achieved and the customer satisfaction can be greatly increased. Finally, in the future research, the IMMCS and the LCS are combined as a cloud service composition that undertakes task orders throughout the production part and the transportation part. How to orchestrate service compositions during the whole configuration process to meet more complex requirements needs to be further researched.