Manufacturing systems are a class of discrete event systems whose elements are interacting together to build products or to perform services. In order to improve the adaptability to the market and the quality of manufactured products and to allow their fast evolution, the implementation of flexible manufacturing cells is necessary. However, a large initial cost for the production resources and for the system control design is required.
In the eighties, the concept of flexible manufacturing systems FMS has been introduced to develop new systems of manufacturing production able to produce small or average series of products. An FMS is a discrete event system (event-driven) that includes the notion of flexibility. It is a production system that consists of a set of machines connected together via an automatic transportation system. Machines and transportation components such as robots are controlled by numerical controllers or CNC. In all cases, additional computers or programmable logical controllers PLC are used to coordinate the resources of the system.
Information and knowledge exchanges in FMS are controlled communications (with shorter messages but to be exchanged rapidly). The cell controllers or computers have a lot of functions and are used to control all the operations of an FMS. The control system manage most of the activities within an FMS like parts transportation, synchronising the connection between machine and transportation system, issuing commands to each machine…
Such systems are integrating the modern communication and control functions in all levels of the system. Networking is extensively applied in industrial applications (local industrial networks). These applications include production systems and more particularly manufacturing plants. The connection of the system components/elements through a network reduces the system complexity and the resources cost. Moreover, it allows sharing the data efficiently. LANs and Internet are the most appropriate and economical choices for many system-applications. However, networks performances affect the application services in terms of time-dependent and packet losses.
Thus, the control [Bubnicki05] of such systems is very important. Nowadays, a controlled system [Fadali09] [Paraskevopoulos02] [Burns01] is the combination of sensors, controllers, actuators and other components/elements distributed around media of communication, working together according to the user requirements. It is used to manage, command, direct or regulate the behaviour of devices or systems. Combining networks and control systems together reduces the cost and complexity of distributed systems greatly. It facilitates also the maintenance of the systems.
The resulting of this combination is referred to as the networked control system NCS [Zhang01] [FWang08]. NCS are one of the main focuses in the research and industrial applications. Networked control systems are entirely distributed and networked control system used to provide data transmission between devices and to provide resource sharing and coordinating management. These benefits have made many industrial companies to apply networking technologies to manufacturing systems applications.
However, there is a need to model such systems to verify some properties such as deadlocks, liveness, boundness and other performance issues. But, the classical modeling paradigm is generally based on a centralized viewpoint. Indeed, this kind of modeling does not take into account the fact that the system will be distributed when implemented over different machines, sensors, actors, etc. So, the properties that are obtained by the design stage are not necessary guaranteed at the implementation stage .
Another issue in such models is that reconfiguration [Lejri08] process is not always considered. Today, the reconfiguration capability is a major problem to improve the functioning of industrial processes. Indeed, a main objective is to adapt quickly the system changes and evaluations: such as the possibility to upgrade the systems or the modifications of the underlying network protocols.
In our days, industrial and commercial systems are integrating the modern communication and control functions in all levels of the system. Networking is extensively applied in industrial applications. These applications include production systems and more particularly manufacturing systems. The connection of the system elements through a network reduces the system complexity and the assets cost. Moreover, it allows sharing the data efficiently. LANs and Internet are the most appropriate and economical choices for many system-applications. However, networks performances can affect the application services in terms of time-dependent and packet losses.
In the literature, many methods are proposed to model manufacturing systems. Schematically, most of these approaches distinguish two stages: a design stage where one generally uses a formal test to define the functionalities of the control software, and implementation stage where this software is translated into code depending on the language of the target industrial computer. But, the complexity of industrial manufacturing systems implies to split the original control software on different computers connected by one or several networks. In this case, as the properties of the original control software were checked with a centralized viewpoint in the design stage, they can no more be guaranteed after the implementation. An alternative way to model such systems is to use distributed models at the design stage. This approach allows the consideration of communication protocols and network used to exchange the messages and information between the different parts of the systems to perform a service.
Distributed systems [Coulouris01] [Tari01] use multiple workstations communicating to each other via a common network. The underlying networks have been developed to enable many distributed systems to exchange and share resources and services. In the literature, different definitions of distributed systems have been given:
➤ A distributed system is a collection of independent computers that appears to its users as a single coherent system [Tanenbaum95].
➤ A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages [Coulouris01].
➤ A distributed system is an information-processing system that contains a number of independent computers that cooperate with one another over a communications network in order to achieve a specific objective [Puder06].
A distributed application executes over a distributed system. In a distributed system, many autonomous elements are distributed over different hosts. These components/elements may be used exclusively by a single host and do not need to be homogeneous. Theoretically, the primitives offered by the network allow the elements to interact with each other and to request and give access to their services.
Distributed objects are units that are designed to work together. These units can be in multiple computers connected via a network or in several processes inside the same computer. An object-based distributed system denotes that the object-based model is well-suited for the distributed system. A distributed object architecture DOA consists of a collection of interacting objects. Each object consists of a set of data and a set of methods.
An object has a set of attributes that represent the state of the object. Attributes that are not accessible from other objects are considered as private or hidden attributes. Private attributes are used to achieve data abstraction. Data stored in hidden attributes can only be accessed and modified by operations. Changing the hidden attributes will not affect other objects. This is particularly important if objects are designed and maintained in a distributed setting. Objects may export a set of operations that make known the state of attributes or that allow modifying their values. Other objects may request execution of an exported operation. Each attribute has a name. A name is used to identify an attribute within the context of an object. Attributes also have a type. The type determines the domain of the attribute.
Service-oriented architecture SOA [Baker05] is a way of developing distributed systems where the components/elements of these systems are stand-alone services, where these services can execute on distributed computers. Service-oriented systems support the reusability of existing implementations and the modification of their run-time behaviour based on the execution environment; in service-oriented engineering, systems can be constructed by composing independent services that encapsulate reusable functions.
The service-oriented architecture has also changed the image of the web from the presentation of information to computational infrastructure to satisfy the clients’ needs. Web services cover all the aspects of service-oriented architecture. They are platform and implementation-language independent and commonly adopted on XML-based standard.