Sebastian Scholze
email: scholze@atb-bremen.de

Jose Barata

Oliver Kotte
email: kotte@atb-bremen.de

Context Awareness for Self-adaptive and Highly Available Production Systems

Keywords: Context Awareness, Context Extraction, Ontology, SOA

A new approach for the realization of self-adaptive and highly available production systems based on a context aware approach, allowing selfadaptation of flexible manufacturing processes in production systems and effective knowledge sharing to support maintenance, is presented. The usage of dynamically changing context as basis for adaptation of flexible manufacturing lines/processes and effective knowledge sharing is proposed. The presented solution includes services for context extraction, adaptation and self-learning allowing high adaptation of production systems depending on the identified context. A generic architecture following Service Oriented Principles is presented allowing for integration of the proposed solution into various production systems. A successful initial application of the developed solution in real world manufacturing environment is presented.

Introduction

The need for highly flexible manufacturing processes is nowadays indispensable. In order to enhance the availability and at the same time the efficiency of modern production systems, two key requirements arise a) self-adaptation to support change of process parameters aiming at increasing flexibility and efficiency and b) effective knowledge acquisition / sharing to support maintenance increasing availability of production systems, as indicated in [START_REF] Kotte | Report of the High-Level Group[END_REF].

In order to realize such production systems, which are able to solve both above mentioned requirements, there is a clear need for powerful ICT infrastructures/solutions able to handle high amount of data, complex models and algorithms. Key challenge is to find a common approach for addressing these two problems:

• To allow for a self-adaptation, production systems need advanced monitoring and control. Thereby changes (e.g. changing process parameters) need to be identified and used to (self) adapt control processes.

• To allow for knowledge sharing, production systems need advanced monitoring to allow enhancement of monitored knowledge in order to facilitate knowledge sharing needed for effective maintenance.

A service oriented approach promises new perspectives for realizing such selfadaptive production systems. It is likely that approaches based on Service Oriented Architecture (SOA) principles, using distributed networked embedded services in device space (sensors, controllers etc.), are the most appropriate for implementation of such production systems in general.

While successful application of SOA based principles in manufacturing lines is emerging, there is still a major challenge:

How to realize reliable, production systems for complex manufacturing processes, which support both, self-adaption of process parameters and knowledge sharing to support improved maintenance of such production systems, while using a common approach.

Research Question

Taking the above mentioned major challenge and the related sub-challenges into account, a new innovative approach for future production systems is required, which raises the following research question: Which methods and tools are required, to allow for the realization of reliable production systems that are able to support both, self-adaption of production processes without the need to reprogram or reconfigure such manufacturing processes and knowledge sharing to support effective maintenance, increasing thereby availability and efficiency of complex manufacturing processes?

The research question elaborated above can be addressed by the following two hypotheses:

• Self-adaptive production systems can be achieved if a context aware approach is used to identify the current context of (complex) manufacturing processes and use this extracted context as a basis for self-adaptation of process parameters. • Effective sharing of knowledge in production systems can be achieved, if a context aware approach is used to identify the current context under which the knowledge is monitored and use this extracted context as foundation to support knowledge sharing, improving effective maintenance.

Relationship to Internet of Things

The application of context awareness within production systems to allow the realization of self-adaptive and highly available systems may on one side lead to enormous benefits regarding availability and efficiency of production systems and, on the other side increase the implementation of such possibilities by using a generic solution which can be used in several scenarios (i.e. Control, Maintenance).

To allow for the realization of such solutions, the presented work describes a new approach for such self-adaptive production systems based on a context aware approach, allowing self-adaptation of flexible manufacturing processes in production systems. The usage of dynamically changing context of production lines, as well as changing ambient conditions, for adaptation of flexible manufacturing lines/processes based on the usage of connected sensors and machines, as well as scalable architectures is proposed.

Survey of the State of the Art

This section gives a brief overview of the state-of-the-art for RTD topics which are relevant for the presented approach.

In the area of self-learning production systems, the research has demonstrated that the application of machine learning techniques, dynamic self-adaptation and operator's feedback in the loop promises to increase the intelligence of the overall system. In this approach, machine learns whenever it changes its structure, program, or data based on inputs or in response to external information in such a manner that its overall performance is expected to improve [START_REF] Alpaydin | Introduction to machine learning[END_REF], [START_REF] Michie | Machine learning, neural and statistical classification[END_REF], [START_REF] Carbonell | An overview of machine learning[END_REF]. In production systems in particular, these methods have been proven to be especially useful for monitoring/diagnosis [START_REF] Liu | An Efficient Expert System for Machine Fault Diagnosis[END_REF], [START_REF] Palluat | A neuro-fuzzy monitoring system application to flexible production systems[END_REF], [START_REF] Jianbo | Intelligent monitoring and diagnosis of manufacturing processes using an integrated approach of KBANN and GA[END_REF] and control [START_REF] Monostori | AI and machine learning techniques for managing complexity, changes and uncertainties in manufacturing[END_REF]. However, the applications of self-adaptation of production systems and learning in industrial practice are still in initial phase. In this paper a novel approach in production systems is presented, which is context aware, adaptive to contextual changes at run time and learns from adaptation and operator's action.

Of high interest for the work presented in this paper is Service Oriented Architecture (SOA) in manufacturing i.e. the relation between self-learning production systems and SOA. SOA gained popularity with the advancement of web service technologies in industrial networks. For example, Devices Profile for Web Services (DPWS) allows devices with embedding computing capabilities, sensors, actuators etc. to interact within the industrial network and enabling SOA integration to higher levels [START_REF] Ribeiro | A Generic Communication Interface for DPWS-based Web Services[END_REF]. OPC Unified Architecture is the recent OLE (Object Linking and Embedding) for process control (OPC) specification from the OPC Foundation and differs significantly from its predecessors. The Foundation's goal was to provide a path forward from the original OPC communications model (namely COM/DCOM) to a cross-platform SOA for process control, while enhancing security and providing an information model [START_REF] Mahnke | OPC Unified Architecture -The future standard for communication and information modeling in automation[END_REF]. Scalable SOA holds promise for seamless integration, interoperation and flexibility in manufacturing environment. But, there is a lack of adoption of overall SOA based self-adaptive production systems in discrete manufacturing environment.

Context awareness is widely applied in modern ICT solutions. Different approaches to context modeling are developed, where ontology based context modeling is mostly investigated. Based on the formal description of context information, context can be processed with contextual reasoning mechanisms. Since contextual information has some inherent features (it can be considered incomplete, temporal, and interrelated) context reasoning can exploit reasoning mechanisms to deduce high level, inferred context from low-level raw contextual information. Furthermore, contextual reasoning can be used to verify and possibly solve inconsistent context knowledge due to imperfect input. For example, Luther et al. [START_REF] Luther | Situational reasoning -a practical OWL use case[END_REF] show the needs for ontology support and reasoning in mobile applications; their case study is conducted with the Protégé knowledge workbench [START_REF] Noy | Creating Semantic Web contents with Protege[END_REF] for ontology modeling and OWL editing, and the RACER inference engine [START_REF] Haarslev | RACER system description[END_REF] for proof checking, ontology validation and classification. A more flexible use of ontological reasoning is presented in [26]. Their framework utilizes context-awareness for service classification.

Application of context awareness for SOA based self-learning production systems has not yet been sufficiently investigated. The approach proposed in this paper applies the ontology based context modeling, and re-use of experience of other projects [START_REF] Ziplies | Service-based Knowledge Monitoring of Collaborative Environments for User-context Sensitive Enhancement[END_REF], for context extraction in highly flexible and dynamic self-learning production systems [START_REF] Sorli | Innovating in Product/Process Development[END_REF].

Proposed Approach to identify Context

The key assumption is that the extraction of current context is the foundation for selfadaptation / self-configuration of service-oriented production systems on one side, as well as for knowledge sharing to support effective maintenance. The application of such a context aware approach based on extraction of dynamically changing current context seems to be an effective way to assure availability and efficiency of modern, flexible production systems. In a more detail, the assumption is that it is possible to gain more efficient embedded services by using context awareness than by using classical embedded services. The foundation of such context aware services is data, which will be gathered from various sources (e.g. sensors, inputs of the human operator, etc.). This information will be used to identify the current context of the services, which is realized via monitoring services, which are, for example, services for monitoring of sensors or of a user interacting with a system. These Monitoring services will transform all monitored information into a "standardized" matrix/action which is used to extract the current context. The extraction uses the Monitoring/Action Matrix together with context reasoning methods to identify the context. Basis of the context identification is a context model for device spaces. The context model consists of a generic model, to allow for effective use of different application domains, and a specific model which instantiates generic concepts to allow for optimal adjustment to the domain. In order to allow context extraction to produce tangible results, a well-defined context model is crucial.

The identified context will be used to a) allow embedded services to adopt their behavior according to the identified context (e.g. change of process parameters) and/or b) support sharing of knowledge of production processes according to the identified context (e.g. identify necessary maintenance tasks).

The objective of the presented work is to realize a context aware approach which can be used as a common solution for the realization of self-adaptive production systems and effective knowledge sharing to support effective maintenance in such pro-Context Awareness for Self duction systems. The aim is to develop a generic solution, which can be used in se eral scenarios (i.e. Control, Maintenance) and various domains [

Architecture

A context aware approach allows a manufacturing system to be dynamically self adapted during run time. To achieve this, the solution adapts based on contextual changes and learns from these adaptions. The learning is further enhanced by the operator's feedback.

A generic solution for context based self posed which can be applied in various manufacturing systems. This self reference architecture is derived from to different industrial sectors. The overall proposed reference architecture, whi following SOA principles, is illustrated in Figure 1.

Fig.

The modules of the reference architecture tailed description see also

Context Extraction

Context Extraction is based on changes in the context of the environment text is used to extract available context tion are used in the Adap Context Extraction uses all "raw data" provided via the data access layer to derive the machine's current contextual situation [ monitored data is evaluated and the tified context, situations can be compared to previous ones and stored. A continuous process, which is coordinating with the monitoring and followed by the adaption pr cess to give current contextual main extraction of current contextual. Extractor Architecture are the following:

Context Awareness for Self-adaptive and Highly Available Production Systems duction systems. The aim is to develop a generic solution, which can be used in se e. Control, Maintenance) and various domains [START_REF]D1.4 Public Concept[END_REF], [START_REF]AsKoWi Project[END_REF], [18 A context aware approach allows a manufacturing system to be dynamically self adapted during run time. To achieve this, the solution adapts based on contextual changes and learns from these adaptions. The learning is further enhanced by the A generic solution for context based self-adaptation of production systems is pr posed which can be applied in various manufacturing systems. This self reference architecture is derived from analyzing three application cases which belong to different industrial sectors. The overall proposed reference architecture, whi following SOA principles, is illustrated in Figure 1. [START_REF]Reliable self-learning production system based on context aware services[END_REF], [START_REF] Stokic | Self-Learning Embedded Services for Integration of Complex, Flexible Production Systems[END_REF] The modules of the reference architecture are not described in this paper, for a d also [START_REF] Scholze | Context extraction for self-learning production systems[END_REF].

Fig.1. Proposed Reference Architecture

Context Extraction

Context Extraction is based on a set of embedded services responsible for identi ntext of the environment (see Figure 2). The current identified co text is used to extract available context knowledge. The results of the Context Extra tion are used in the Adapter which is responsible for updating the system behav Context Extraction uses all "raw data" provided via the data access layer to derive the machine's current contextual situation [START_REF] Kelly | Implicit Feedback for Inferring User Preferences: A Bibliography[END_REF]. Using the ontology/context model the monitored data is evaluated and the current context extracted [START_REF] Oard | Modelling information content using observable behaviour[END_REF]. Based on the ide tified context, situations can be compared to previous ones and stored. A continuous process, which is coordinating with the monitoring and followed by the adaption pr cess to give current contextual meaning to the provided knowledge, is built around the main extraction of current contextual. The core modules of the proposed Context xtractor Architecture are the following:

adaptive and Highly Available Production Systems 213 duction systems. The aim is to develop a generic solution, which can be used in sev -18].

A context aware approach allows a manufacturing system to be dynamically selfadapted during run time. To achieve this, the solution adapts based on contextual changes and learns from these adaptions. The learning is further enhanced by the ms is proposed which can be applied in various manufacturing systems. This self-learning three application cases which belong to different industrial sectors. The overall proposed reference architecture, which is are not described in this paper, for a deset of embedded services responsible for identifying . The current identified conknowledge. The results of the Context Extrachavior. Context Extraction uses all "raw data" provided via the data access layer to derive ]. Using the ontology/context model the ]. Based on the identified context, situations can be compared to previous ones and stored. A continuous process, which is coordinating with the monitoring and followed by the adaption promeaning to the provided knowledge, is built around the The core modules of the proposed Context

• Adapter Interface: Via this interface the Context Extractor and the Adapter will exchange data and call specific functionality on both sides. • Data Access Layer: Responsible for accessing the device layer.

• Data Processing: This module is responsible for the pre-processing of monitored raw data acquired via the data access layer, before the context will be identified. Main functionality will be the normalization of monitored data to transform the raw data in a format which serves as basis for context identification

Application

The presented concept has been developed following SOA principles and initially applied in different application scenarios. These application scenarios belong to different industrial sectors. One of these application scenarios addresses control systems/machines and automation systems for shoe industry. The overall objective is to enhance machines with self-adaptive functionalities by allowing machines to inspect statistically the condition of products and equipment, report and analyze proactively the gathered statistic values, enabling the machines to decide and adapt the parameters and keep them always inside the "optimized" working range. The objective is to achieve high adaptation of the machines to the changing conditions. The parameter variations are in terms of pressure and temperature, speed frequencies of drives and pumps, proper material mix ratio and filling of materials into shoe forms. For example, one of the scenarios ad-dresses synchronicity of the different valve circuits when dosing of several components, caused by e.g. different force requirements or different air supply. As the valve synchronization is designed by an electronic system with different valve opening times, and/or due to valve abrasion, it may come to flaws in the product. Currently the synchronization can only be adjusted by a technician during downtime of the machines. By implementation of the proposed self-adaptive solution an automatic adjustment of the valve switching to different conditions is achieved. The advantage of having such an intelligent solution for the valve synchronizations is that it provides a basis for preventive maintenance.

The implementation of the proposed self-adaptive solution for the automatic adjustment of machine parameters based on changing context, for example changing ambient conditions, leads to minimization of errors and keeps the machine utilization high, as well as the overall product quality. The context extraction serves as a basis for identifying machine adjustment parameters.

Conclusions and Further Work

A novel approach for the realization of self-adaptive and highly available production systems is presented. The proposed solution addresses the adaptation of process parameters based on a context aware approach. Further research will focus on advanced algorithms for self-learning based on extracted context to (semi-)automatically update the context model. In addition the context model itself will be addressed by further research to allow better utilization of the presented model for other companies as well as for other application domains. High complexity of data acquisition and real-time data analysis algorithms will be addressed in further research to "fully" utilize the opportunities offered by service-based self-learning systems.

Fig. 2 .

 2 Fig.2. Context Extractor Architecture

Acknowledgements. This work is partly supported by the Self-Learning project of European Union's 7th Framework Program, under the grant agreement no. NMP-2008-228857 and by the EPES project of European Union's 7th Framework Program, under the grant agreement no. FoF-ICT-2011.7.3-285093. This document does not represent the opinion of the European Community, and the European Community is not responsible for any use that might be made of its content.


Fernando Pereira

Luís Gomes

Minimalist Architecture to Generate Embedded System Web User Interfaces

Keywords: Embedded-systems, Petri-Nets, Web User Interface

This paper presents a new architecture to semi-automatically generate Web user interfaces for Embedded Systems designed using IOPT Petri Net models. The user interfaces can be used to remotely control, monitor and debug embedded systems using a standard Web Browser. The proposed architecture takes advantage of the distributed nature of the Internet to store all static user interface data and software on third-party Web services (the Cloud), and execute the user-interface code on the user's Web Browser. A simplified protocol is proposed to enable remote control, status-monitoring, debugging and step-by-step execution, minimizing resource consumption on the physical embedded devices, including processing load, memory and communication bandwidth. As the user interface data and code are kept on third-party Web services, these resources can be shared among multiple embedded device units, and the hardware requirements to implement the devices can be simplified, leading to reduced cost solutions. To prevent down-time due to network problems or server failures, a fault-tolerant topology is suggested. The distributed architecture is transparent to end-users, observing just a Web interface for an embedded device on the other side of an Internet URL.

Introduction

The widespread dissemination of the Internet and the mass production of telecommunication technology has significantly reduced the cost barrier to add Internet connectivity to the most inexpensive embedded-system devices, ranging from home appliances, medical and health monitoring devices, surveillance and security equipment, in-vehicle systems, to industrial machinery. However, the traditional Internet connectivity implementation strategies generally lead to increased product complexity, longer development time and increased hardware requirements, including more memory to store images and multimedia files and higher processing power to execute user interface code, with the corresponding implications on powerconsumption and battery life.

This paper proposes a new architecture to overcome these limitations, taking advantage of the distributed nature of the Internet and the processing capabilities offered by modern Web browsers. All static data files are stored on external Web servers and the user-interface code is executed directly on the user's personal computer Web browser, greatly reducing the embedded devices hardware requirements and contributing to minimize bandwidth consumption, as many user interactions are dealt directly by the user interface code running on the browser.

To implement the new architecture, a new protocol is proposed to establish the communication between the user-interface code running on the browser and remote embedded devices, taking advantage of AJAX (Asynchronous Javascript and XML) principles. The same protocol used to implement the Web user interfaces can also be used to enable remote monitoring, debug and step-by-step execution of embedded system controllers running on physical devices, or simulated on personal computers.

The proposed architecture is applied to embedded systems designed using the IOPT Petri-net modeling framework [START_REF] Gomes | The Input-Output Place-Transition Petri Net Class and Associated Tools[END_REF] and the associated Web-based IOPT-tools [START_REF] Pereira | Model-checking framework for embedded systems controllers development using IOPT Petri nets[END_REF] tool-chain (http://gres.uninova.pt), including an editor to design IOPT models, a model-checking framework based on a state-space generator and a query system, and automatic "C" and VHDL code generators to produce the controller implementations.

The user interfaces are designed using an Animator tool [START_REF] Gomes | Rapid Prototyping of Graphical User Interfaces for Petri-Net-Based Controllers[END_REF] that permits the interactive rule-based definition of Animated Graphical User interfaces for embedded-systems. This tool has been previously used to design and generate simulation control-panels and graphical user interfaces for systems running on FPGA (Field Programmable Gate Array) reconfigurable devices. Using the Animator tool, the user-interface designer creates a set of screen background images, used to implement application dialogs, and sets of static or animated icons and images. Each dialog contains a table of rules associating internal state variables (IOPT Marking) and Input/Output Signals with the appearance and screen location of the selected icons and images, creating an animated SCADA-like user interface that reflects the system-state in real-time. To control the system from the Web interface, Input Signals can be associated with icons and images activated using mouse clicks to implement bidirectional user-feedback.

The new architecture proposes the execution of Animator-generated user interfaces inside a Web browser, converting the Animator rules into equivalent Javascript code and establishing the communication with the physical systems using remote procedure calls over a protocol based on AJAX XmlHttpRequests.

The creation of Debug and monitoring interfaces has been presented in [START_REF] Pereira | Automatic generation of run-time monitoring capabilities to Petri nets based Controllers with Graphical User Interfaces[END_REF], with the automatic generation of Animator screens that directly depict the corresponding IOPT models and the automatic generation of rules that display the system status in real-time, including place marking, transition firing readiness and the state of Input and Output Signals. However, in order to fully support remote debug sessions over the Internet, the communication protocol will be extended with additional remote procedure calls implementing step-by-step execution, continuous execution, system reset, force input signal values and the definition of breakpoints associated with Transition firings.

Finally, this paper proposes a new type of Transition, called the Test-transition, used during the debug and simulation development phases. Test-transitions differ from standard IOPT Transitions because they are not allowed to change system behavior in any form. This way, the new transitions can be freely added to existing models without the risk of accidentally introducing behavioral modifications, to define breakpoints associated with new conditions that were not verified in the original models.

Related Work and Research Innovation

Over the past decade, Internet enabled embedded devices with Web interfaces have been offered by commercial systems and were implemented on many research prototypes. The traditional architectures used to implement these solutions have resorted to full-featured Web servers running over embedded operation systems, as embedded Linux [START_REF] De Souza | Ethernet communication platform for synthesized devices in Xilinx FPGA[END_REF] and QNX [START_REF]QNX website[END_REF], using standard interface technologies like common-gateway-interface (CGI) to control the physical embedded devices.

However, solutions based on complex operating systems require advanced microprocessors and occupy large amounts of memory, including many megabytes of RAM (Random Access Memory) and mass storage devices to store operating system files. The Web interfaces are generally created using standard Web page authoring tools and the connection to the physical embedded systems are manually programmed. All files used by the Web interface, including images and scripts are usually stored in the device. Due to these requirements, Internet connectivity has usually been skipped from the least expensive devices.

The new solution presented in this paper has many advantages over traditional technologies. To start, the Web user interfaces are semi-automatically generated using the rule-based Animator tool [START_REF] Gomes | Rapid Prototyping of Graphical User Interfaces for Petri-Net-Based Controllers[END_REF] and the Debug interfaces are fully automatically generated [START_REF] Pereira | Automatic generation of run-time monitoring capabilities to Petri nets based Controllers with Graphical User Interfaces[END_REF] without the need to manually write any code. As the static files are stored in external Web servers and the user interface code (Animator rules) is executed by the user's Web browser, the computational requirements of the embedded controller are largely reduced and the need to employ complex operating systems is avoided, allowing the addition of internet connectivity and Web interfaces to the most inexpensive devices without a significant cost increase. Instead of requiring 32-bit microprocessors, the proposed minimalist architecture can be implemented with simpler 8-bit embedded micro-processors using small TCP/IP stacks as uIP and LwIP [START_REF] Dunkels | Full TCP/IP for 8 Bit Architectures[END_REF] that require just tens of Kilobytes of RAM and can entirely fit inside the memory blocks offered by FPGA devices without external RAM. The usage of 8-bit microprocessors also contributes to reduce FPGA resource consumption, enabling the choice of smaller and less expensive reconfigurable devices.

In addition to the automatic generation of Web user interfaces, the proposed communication protocol also permits remote debugging and step-by-step execution of embedded-system controllers running on real hardware devices, allowing long distance troubleshoot and maintenance operations over the internet. As the graphical debug interfaces automatically generated by the PNML2Anim4Dbg [START_REF] Pereira | Automatic generation of run-time monitoring capabilities to Petri nets based Controllers with Graphical User Interfaces[END_REF] tool can be directly presented in the new architecture, it is possible to monitor the state of remote embedded-systems in real time, observing the graphical evolution of the underlying IOPT Petri net model. Contrary to traditional remote administration tools, this solution offers a high degree of intuitiveness and user friendliness, as the system designer operates directly on the Petri net model used to design the original system.

Other Petri net tools, including CPN tools [START_REF] Jensen | Basic Concepts[END_REF], CPN-Ami [START_REF] Hamez | New features in CPN-AMI 3: focusing on the analysis of complex distributed systems[END_REF], Renew [START_REF] Kummer | Renew -User Guide[END_REF] and others have implemented debug and step-by-step execution tools, but as these classes of Petri nets are autonomous, the scope of these tools is generally restricted to simulations running on personal computers and not for final implementations. Inside these simulation tools, some authors have also defined the concept of breakpoints associated with transitions and changes on place-markings [START_REF] Sadilek | Prototyping Visual Interpreters and Debuggers for Domain-Specific Modelling Languages[END_REF], but the new concept of Test-transition presented in this paper offers many advantages over these solutions as it enables the definition of generic breakpoint conditions.

Finally, the new architecture was built on top of previous work, starting with the definition of the IOPT Petri Net class [START_REF] Gomes | The Input-Output Place-Transition Petri Net Class and Associated Tools[END_REF], IOPT design tools [START_REF] Pereira | Model-checking framework for embedded systems controllers development using IOPT Petri nets[END_REF], automatic code generators and the Animator Tool [START_REF] Gomes | Rapid Prototyping of Graphical User Interfaces for Petri-Net-Based Controllers[END_REF]. The proposed architecture enables the porting of previous Animator-designed user interfaces that were executed inside simulations or on FPGA hardware [START_REF] Moutinho | From models to controllers integrating graphical animation in FPGA through automatic code generation[END_REF] [13], to a distributed Web/Internet platform.

IOPT Petri Nets

The characteristics of the IOPT Petri net class [START_REF] Gomes | The Input-Output Place-Transition Petri Net Class and Associated Tools[END_REF] were selected to support the design of embedded-system controllers. Beyond the Places and Transitions inherited from classical Petri nets [START_REF] Reisig | Petri nets: an introduction[END_REF], IOPT nets also contain a set of non-autonomous properties used to specify the interface between the controllers and the external world. This interface comprehends Input and Output Signals, that can hold Boolean logic values or Integer range values, and Input and Output Events associated with changes in Signal values. Figure 1 In order to ensure determinist execution, IOPT nets employ maximal-step execution semantics, where every transition ready to fire will immediately fire on the next execution step. Firing conflicts, when more than one transition is simultaneously ready to fire, but the number of available tokens is not enough to fire all of them, can be solved by assigning different priorities to each conflicting transition. A state-space generation tool offered by IOPT-Tools can be used to automatically detect conflicts,

Distributed Web User-interface Architecture

Figure 2 displays the distributed topology of the proposed embedded-system's Web user interface architecture, employing the Web browser running on the user's personal computer, an external Web server and the embedded-system.

The user interfaces are designed with the Animator tool [START_REF] Gomes | Rapid Prototyping of Graphical User Interfaces for Petri-Net-Based Controllers[END_REF], producing a set of screen dialogs, image files and animation rules. Image files hold the background pictures of each screen and graphical representations of icons, buttons and animation frames. Animation rules define when images are show or hidden according to the instantaneous embedded-system state, including the Place marking, Input signals and Output signals.

As the Animator tool stores the animation rules under XML files, these rules can be easily translated into equivalent Javascript code using XSL (Extensible Style Sheet Transformation) transformations or other XML processing technologies. The resulting Javascript code is executed inside the Web Browser, removing the computational load of the user interface code from the physical embedded device.

All static files, including images and Javascript code, are stored in external servers, eliminating the need to store large files on the embedded device. By moving the user interface code and file storage to external computers, the embedded-system controller can be implemented using minimal hardware specifications. The embedded system controller only needs to implement a micro HTTP server, used to answer remote procedure call from the Web browser and transmit information about the current system state (almost) in real time.

Internet-enabled Embedded-system Internal Architecture

The main goal of the architecture proposed in this paper is the ability to add Internet support to embedded-system devices with minimalist hardware specifications. Figure 3 presents a possible hardware architecture that fulfills these goals. The proposed hardware architecture requires just a minimal set of components to implement the TCP/IP communication protocol over Ethernet networks. The entire system can be implemented in a single FPGA (or ASIC), with the addition of an hysical Layer Integrated Circuit (PHY) and the respective magnetics and connector, or equivalent components to support wireless networking.

Resource consumption inside the FPGA/ASIC device to implement TCP/IP over Ethernet requires a standard Ethernet MII/MAC (Media Independent Interface / Media Access Controller) module and an embedded microprocessor, used to execute the TCP/IP stack and a mini Web-server. There are many microprocessor cores offered by FPGA vendors and many open-source processor cores publicly available.

source LwIP (Light Weight Internet Protocol) is coded using the "C" Programming Language, the only processor choice requirements are the availability of a "C" compiler and a 16 bit memory address space (or larger), in order to s packets, plus the 40Kb LwIP code and a small HTTP command interpreter. These a wide range of microprocessors, ranging from 8-bit Zilog Z80 clones to more advanced 32 bit MicroBlaze cores.

A clock management unit is also employed to allow debugging and step execution of the embedded-system controllers, by disabling the controller clock signal or sending individual clock pulses to run single execution steps.

The embedded microprocessor I/O bus is connected to the embedded core and is able to read signals containing the instantaneous values of Input Signals, Output Signals and Place marking. It can also define the value of Signals associated with Graphical User Interface objects. For example, an Icon or a Button Animator screen can be associated with an Input Signal in the embedded system controller and when the user manipulates that button, a HTTP request is sent to the microprocessor to update the corresponding Signal value.

A set of optional internal signals is used to support remote debugging and maintenance operations, including a breakpoint mask, a forced-input-signal mask, a reset signal and three signals to control the clock management unit: stop, run and step. The breakpoint mask is used to enable breakpoints on selected IOPT Transitions.

a selected Transition fires, it will trigger a breakpoint event that stops The proposed hardware architecture requires just a minimal set of components to implement the TCP/IP communication protocol over Ethernet networks. The entire system can be implemented in a single FPGA (or ASIC), with the addition of an hysical Layer Integrated Circuit (PHY) and the respective magnetics and connector, or equivalent components to support wireless networking.

Resource consumption inside the FPGA/ASIC device to implement TCP/IP over MAC (Media Independent Interface / Media Access Controller) module and an embedded microprocessor, used to execute server. There are many microprocessor cores icly available. source LwIP (Light Weight Internet Protocol) is coded using the "C" Programming Language, the only processor choice requirements are the availability of a "C" compiler and a 16 bit memory address space (or larger), in order to store data reter. These bit Zilog Z80 ed to allow debugging and step-by-step system controllers, by disabling the controller clock signal

Information flow over the Internet

Figure 4 presents the flow of information over the Internet between the Browser, the embedded-system and an external Web server. A typical interac when the user accesses the embedded Browser. The embedded system answers with a Top/Start HTML page containing just a reference to a main script file stored in an external server. As soon as the main is loaded and the user is successfully authenticated, it immediately starts downloading all Animator files required to execute the graphical user interface, including imag and the scripts that execute failures in case the external Web server is not reachable, the Start HTML page might include multiple references to copies of the main scrip that will load only if the first server does not respond during a predef time interval.

After the start-up sequence is finished, a Web user interface main loop starts running, continuously requesting updated state information from the embedded-system, including Place marking and Input and Output Signal values. Using these values, the animation scripts will update the graphical user interface, almost in real time, with an update rate according to the available bandwidth and the requirements of each application.

As the static files stored in the external server are loaded in background, the distributed topo transparent to end user the address (URL) of the embedded device.

The IOPT-Internet Protocol

The proposed Internet defines a set of commands, viewed as remote procedure calls over HTTP, used to establish the communication between the user interface code running Minimalist Architecture to Generate Embedded System Web User Interfaces management unit. The forced-input-signal mask can be used to remotely force the value of Input signals read by the embedded controller, in order to bypass mechanical problems in the physical embedded devices or to easily force error situations and test the model behavior during these conditions.

Information flow over the Internet

Figure 4 presents the flow of information over the Internet between the Browser, the system and an external Web server. A typical interaction session starts when the user accesses the embedded-system URL (Web address) using a Web Browser. The embedded system answers with a Top/Start HTML page containing just a reference to a main script file stored in an external server. As soon as the main is loaded and the user is successfully authenticated, it immediately starts downloading all Animator files required to execute the graphical user interface, including imag and the scripts that execute animation rules. To obtain redundancy and prevent service failures in case the external Web server is not reachable, the Start HTML page might include multiple references to copies of the main script located in different servers that will load only if the first server does not respond during a predefined up sequence is finished, a Web user interface main loop starts running, continuously requesting updated state information system, including Place marking and Input and Output Signal values. Using these values, the animation scripts will update the graphical user interface, almost in realtime, with an update rate configurable to the available bandwidth and the requirements of each As the static files stored in the external server are loaded in background, the distributed topology is transparent to end user that only sees the address (URL) of the embedded

Internet Protocol

The proposed Internet-IOPT protocol defines a set of commands, viewed as remote procedure calls over HTTP, used to establish the communication between the user interface code running Figure 4 presents the flow of information over the Internet between the Browser, the tion session starts system URL (Web address) using a Web Browser. The embedded system answers with a Top/Start HTML page containing just a reference to a main script file stored in an external server. As soon as the main script is loaded and the user is successfully authenticated, it immediately starts downloading all Animator files required to execute the graphical user interface, including images vent service failures in case the external Web server is not reachable, the Start HTML page might t located in different servers

IOPT Information Flow

on the Web Browser and the embedded-system HTTP command interpreter. It comprehends three types of procedures calls: 1) front-page and authentication; 2) status-monitoring and GUI interaction and 3) debug and step-by-step execution.

Start-page requests and user authentication are implemented with the standard HTTP commands used to serve static HTML files. User sessions can be implemented using a temporary HTTP cookie holding a random number that identifies each user after the authentication phase is successfully passed.

The second group of commands implements remote procedure calls that produce XML results, implementing the following methods:

getMarking()

-read the instantaneous IOPT net marking vector getInputs() -read the instantaneous input signal vector getOutputs() -read the instantaneous output signal vector getStateChanges( tm ) -read «marking, inputs and outputs» changed since the previous read or wait «tm» seconds if there are no changes setGUInput( sigName, value ) -write the value of a GUI input signal.

All remote procedure calls are implemented using AJAX xmlHttpRequests, and the embedded-system's Web server answers to each command with XML files containing the requested values. The getStateChanges() method provides reduced bandwidth consumption, as it only returns values that suffered changes since the last read operation and will block when there are no changes during a specified timeout period.

Finally, the debug and step-by-step group of commands, used to directly control the clock management unit shown on figure 3, implement the following methods: -release a forced input signal

Breakpoints and Test-transitions

The proposed hardware architecture and communication protocol supports remote debug and step-by-step execution, including a hardware clock management unit that can stop or run continuously and is able to generate individual clock pulses to perform single execution steps. However, as complex embedded-systems often execute thousands of execution steps before reaching a critical situation being tested, step-bystep execution may not be practical. Other embedded-systems simply cannot be run step-by-step because the controllers must respond to external input changes during very fast time intervals in order to prevent malfunctions and mechanical damages. For example, an automatic door controller must immediately turn off the door motor when the door is being closed and a presence sensor detects a person inside the door limits.

To solve this problem, the concept of breakpoints, usually employed in software debugging systems, was extended to the IOPT Petri net modeling framework, adding the possibility to assign breakpoints to Transitions. When a Transition fires, a Breakpoint event will be raised and execution is stopped before the Transition is actually fired. Observing figure 3, breakpoint events are connected to the clock management unit and will immediately stop the clock signal. This concept can also be easily ported to software implementations and may be applied on simulations or on embedded devices running on microprocessors.

Finally, the test conditions corresponding to the error situations being debugged may not directly correspond to the firing of any Transition existing in the model. As a consequence, it might be necessary to add additional new Transitions to the model, containing Arcs, Input events and Guard conditions that detect the (un)desired situations. However, adding new Transitions to an existing model will usually introduce changes to the behavior of the original model, potentially invalidating the debug conclusions, as the new model may behave differently from the original one.

To solve this problem, a new concept of Test-transition is proposed. A Testtransition has a set of restrictions that does not allow behavioral changes and can be safely used to define test/debug conditions associated with breakpoints. In order to achieve this effect, Test-transitions can only be connected to Test Arcs, cannot be connected to Normal Arcs and may not be associated with Output events. As a result, Test-transitions can only have input Test Arcs and cannot have output Arcs.

The concept of Test-transition has many advantages. First, Test-transitions can be safely added to any model in any configuration without the risk of introducing any behavioral changes. Second, Test-transitions can continue to be viewed as regular Transitions by all IOPT Tools, including the automatic software and hardware code generators, simulators and validation tools, without requiring additional development. Finally, Test-transitions can also be safely removed from models using automated filters, to generate final controller implementations without Debug code.

Conclusions and Future Work

The goal of this paper is to propose a new architecture to automatically add Web User Interfaces to embedded-system controller designed with IOPT Petri net models. This architecture employs a distributed topology to take advantage of the Web browser processing power and the storage capacity offered by external Web servers, in order to minimize the hardware requirements on the physical embedded-systems, implementing Web awareness without almost no additional cost.

This work is an extension to previous work, where the Animator [START_REF] Gomes | Rapid Prototyping of Graphical User Interfaces for Petri-Net-Based Controllers[END_REF] concept and tools were introduced. The proposed architecture can be used to automatically convert existing user interfaces designed with the Animator tool, producing equivalent Web interfaces.

In addition to automatic Web interface generation, the same communication protocol was also extended to support remote debugging and step-by-step execution, offering the possibility to perform maintenance and diagnose problems over the Internet. The association of breakpoints to Transition firing and the new concept of Test-transitions also contribute to reduce test and debugging effort, simplifying the debug of systems where step-by-step execution would be impractical.

Although the proposed architecture was not yet implemented, all the components used in the architecture are currently disseminated technologies, including the suggested hardware platforms, the embedded TCP/IP protocol stack and the AJAX technologies used to execute the user interface code in the Browser. All the components employed are readily available, leading to the conclusion that the implementation of the proposed ideas is feasible. Future work may lead to the creation of prototypes based on the new architecture, with possible improvements to overcome technical difficulties that may occur during development.

  displays an example IOPT Model implementing a UART transmitter hardware module, edited with the IOPT-Tools model editor. The model presented in Fig 1, has three Places (yellow circles), four Transitions (cyan rectangles), three Input Signals (cyan circles), five Output Signals (green circles), and one Output Event (green triangle). Associated with Places there are Output Expressions that assign values to Output Signals whenever these Places are marked. Guard conditions, associated with Transitions, inhibit the firing according to the value of Input/Output Signals, Literals and Place marking. Transition firing is also triggered by Input Events, and can produce Output Events that perform changes in Output Signals. For example, transition TCount raises a Cntr Output Event, used to count the number of bits transmitted by incrementing the value of the Cnt Output.

Fig. 1 .

 1 Fig. 1. IOPT-Tools Editor (UART Transmitter IOPT Model)

F

  . Pereira and L.The proposed hardware architecture requires just a minimal set of components to implement the TCP/IP communication protocol over Ethernet networks. The entire system can be implemented in a single FPGA (or ASIC), with the addition of an external Ethernet Physical Layer Integrated Circuit (PHY) and the respective magnetics and connector, or equivalent components to support wireless networking.Resource consumption inside the FPGA/ASIC device to implement TCP/IP over Ethernet requires a standard Ethernet MII/ Media Access Controller) module and an embedded microprocessor, used to execute the TCP/IP stack and a mini Web offered by FPGA vendors and many open As the open-source LwIP (Light Weight Internet Protocol) is coded using the "C" Programming Language, the only processor choice requirements are the availability of a "C" compiler and a 16 bit memory address space (or larger), in order to s packets, plus the 40Kb LwIP code and a small HTTP command interp requirements cover a wide range of microprocessors, ranging from 8 clones to more advanced 32 bit MicroBlaze cores.A clock management unit is also employ execution of the embedded or sending individual clock pulses to run single execution steps.The embedded microprocessor I/O bus is connected to the embedded core and is able to read signals containing the instantaneous values of Input Signals, Output Signals and Place marking. It can also define the value of Signals associated with Graphical User Interface objects. For example, an Icon or a Button Animator screen can be associated with an Input Signal in the embedded system controller and when the user manipulates that button, a HTTP request is sent to the microprocessor to update the corresponding Signal value.A set of optional internal signals is used to support remote debugging and maintenance operations, reset signal and three signals to control the clock management unit: stop, run and step. The breakpoint mask is used to enable breakpoints on selected IOPT Transitions. When a selected Transition fires, it will trigger a breakp and L. Gomes

Fig. 2 : 3 .

 23 Fig. 2: Distributed Web GUI Topology Fig. 3. Internal Controller Architecture

  controller core and is able to read signals containing the instantaneous values of Input Signals, Output Signals and Place marking. It can also define the value of Signals associated with Graphical User Interface objects. For example, an Icon or a Button inside an Animator screen can be associated with an Input Signal in the embedded system controller and when the user manipulates that button, a HTTP request is sent to the A set of optional internal signals is used to support remote debugging and signal mask, a reset signal and three signals to control the clock management unit: stop, run and step. The breakpoint mask is used to enable breakpoints on selected IOPT Transitions. s the clock management unit. The forced value of Input signals read by the embedded controller, in order to bypass mechanical problems in the physical embedded devices or to easily for the model behavior during these conditions.

Fig. 4 .

 4 Fig. 4. Internet-IOPT Information Flow

  n» execution steps (by default n=1) setBreakpoint( trId ) -enable breakpoints on transition «trId» clearBreakpoint( trId )-disable breakpoints on transition «trId» forceInput( sigName, value )-force the value of a non GUI input signal releaseInput( sigName )

Acknowledgments. This work was partially financed by Portuguese Agency "FCT -Fundação para a Ciência e Tecnologia", in the framework of project Pest-OE/EEI/UI0066/2011.


Łukasz Stefanowicz
email: l.stefanowicz@weit.uz.zgora.pl

Marian Adamski
email: m.adamski@iie.uz.zgora.pl

Remigiusz Wisniewski
email: r.wisniewski@iie.uz.zgora.pl

Application of an Exact Transversal Hypergraph in Selection of SM-Components

Keywords: hypergraph, exact transversal hypergraphs, SM-Components, Petri nets, graphs, transversal, exact cover, exact transversal, concurrency hypergraphs, selection hypergraph, sequentiality hypergraph

. The last step of the decomposition process of the Petri nets is selection of SM-Components. This stage is especially important because it determines the final number of sequential automata.

. The proposed method has been verified experimentally. The conducted investigations have shown that for more than 85% of examined Petri nets the selection process can be done via xt-hypergraphs.

Introduction

Discrete systems model discrete processes: sequential and concurrent, so they are mostly applied to model and represent controlling systems described by Petri nets [START_REF] Murata | Petri Nets: Properties, Analysis and Applications[END_REF]. In some cases the designer may encounter a problem: size of system exceeds the frames imposed by the size of prototyped systems thus the system needs to be decomposed into a series of collaborating subsystems. The most frequently applied synthesis method is decomposition of a concurrent automation into sequential automata [START_REF] Karatkevich | Dynamic analysis of Petri net-based discrete systems[END_REF][START_REF] Wisniewski | A polynomial algorithm to compute the concurrency hypergraph in Petri nets[END_REF].

Petri nets [START_REF] Murata | Petri Nets: Properties, Analysis and Applications[END_REF][START_REF] Karatkevich | Dynamic analysis of Petri net-based discrete systems[END_REF] are widely used for designing and modeling of the concurrency processes [START_REF] Wisniewski | A polynomial algorithm to compute the concurrency hypergraph in Petri nets[END_REF][START_REF] Karatkevich | SM-Components problem reductions of Petri nets[END_REF]. Analysis of the relations (such as concurrency or sequentiality) and decomposition of a Petri net are very often hard to perform because of exponential dependence between number of states and size of the initial net [START_REF] Murata | Petri Nets: Properties, Analysis and Applications[END_REF][START_REF] Karatkevich | Dynamic analysis of Petri net-based discrete systems[END_REF][START_REF] Karatkevich | SM-Components problem reductions of Petri nets[END_REF][START_REF] Kovalyov | Concurrency Relations and the Safety Problem for Petri Nets[END_REF].

The decomposition process can be divided into several stages. At the beginning the concurrency relation is obtained. The operation can be executed via concurrency graph or concurrency hypergraph. The detailed description about those structures can be found in [START_REF] Wisniewski | A polynomial algorithm to compute the concurrency hypergraph in Petri nets[END_REF][START_REF] Karatkevich | Computation of Petri nets covering by SM-components based on the graph theory[END_REF]. Next, the set of SM-Components is obtained. There are several methods that permit to calculate this stage [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF]. Finally, the selection process should be executed to eliminate the redundant elements. The main problem is computational complexity of such an operation. In a general case the selection can be done in an exponential time. Since for some Petri net classes there are polynomial methods for selection of the concurrency graph/hypergraph and generation of SM-Components [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF][START_REF] Berge | Graphs and Hypergraphs[END_REF], the selection process is a bottleneck of the whole decomposition process.

In the article we propose anapplication of xt-hypergraphs in the selection process. Initially, the selection hypergraph is formed. Such a structure is determined from the set of SM-Components. Next, if the selection hypergraph is an xt-hypergraph, the first exact transversal is computed. It directly indicates the proper SM-Components that ought to be selected to reach the optimal solution. The proposed idea will be described later in more details.

Relationship to Internet of Things

Petri nets are widely used for modeling of concurrency processes. Thus, they are very useful in designing and prototyping of concurrent automata. Decomposition of a Petri net permits to split the device into independent finite-state-machines (FSMs) [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF]. SM-Components that are obtained during the decomposition process refer to FSMs. Each FSM can be analyzed and designed as a separate module. Since SM-Components ought to be synchronized [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF][START_REF] Karatkevich | SM-Components problem reductions of Petri nets[END_REF], usually they are implemented in the same programmable device (like an FPGA) [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF]. However, Internet of Things may revolutionize such an approach. Imagine that SM-Components can be synchronized via Internet. Then, different devices may be applied for implementation of modules. Moreover, each module can be designed with different technology! Since the distance is not important, SM-Components can cooperate all over the World. Therefore, decomposition of Petri nets maybe especially fruitful in relation to Internet of Things.

Main Definitions

Hypergraph

Hypergraph H is defined by a pair [START_REF] Berge | Graphs and Hypergraphs[END_REF]:

H=(V,E), (1)
where: V={v 1 ,…,v n } is arbitrary, nonempty set of vertices; E={E 1 ,…,E n } is set of hypergraph edges, i.e., subset of set P(V) of all the possible non-empty sets, elements of which belong to V [START_REF] Berge | Graphs and Hypergraphs[END_REF].

Transversal

Transversal (hitting set, vertex cover) of hypergraph H is set [START_REF] Berge | Graphs and Hypergraphs[END_REF][START_REF] Eiter | Exact Transversal Hypergraphs and Application to Booleanµ-Functions[END_REF]:

V T ⊆ , (2)
containing vertices incident to each edge of hypergraph [START_REF] Berge | Graphs and Hypergraphs[END_REF]. A minimal transversal is such a transversal which contains no other transversal of hypergraph H.

The Exact Transversal

The exact transversal D of hypergraph H is set [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF][START_REF] Eiter | Exact Transversal Hypergraphs and Application to Booleanµ-Functions[END_REF]:

V D ⊆ , (3)
of vertices of hypergraph H, which is incident to all egdes of hypergraph H, where each edge is incident to exactly one vertex of set D.

Exact Transversal Hypergraph (xt-hypergraph)

Exact transversal hypergraph H xt is hypergraph in which all minimal transversal are also exact transversals [START_REF] Eiter | Exact Transversal Hypergraphs and Application to Booleanµ-Functions[END_REF]. In the other words, hypergraph H xt belongs to class xt.

Problem Formulation

The decomposition process of a Petri net can be divided into three main steps [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF]:

1) Formulation of concurrency graph or concurrency hypergraph.

2) Formulation of SM-Components.

3) Selection of SM-Components.

In the first step of the decomposition process, the concurrency relations are determined. They can be obtained in two ways: via concurrency graph or concurrency hypergraph. The concurrency graph is computed during the analysis of the structure and relations in a Petri net. The graph contains concurrency relations between any two places of a net. It was proved that the concurrency graph can be calculated in a polynomial time [START_REF] Kovalyov | Concurrency Relations and the Safety Problem for Petri Nets[END_REF].

The alternative decomposition method bases on the concurrency hypergraph computation. In opposite to the concurrency graph, hypergraph can hold the information between more than two places in a net. Its vertices represent the places of an initial Petri net, while hyperedges are related to the concurrency relations. As it was shown in [START_REF] Wisniewski | A polynomial algorithm to compute the concurrency hypergraph in Petri nets[END_REF], the computation of the concurrency hypergraph may be polynomial, however the main problem is the number of hyperedges, which in some cases can be exponential.

The SM-Components are generated from the concurrency graph or hypergraph. There are several methods; like concurrency graph/hypergraph coloring, application of the graph-search algorithms or computation of exact transversals [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF][START_REF] Kubale | Hypergraphs coloring[END_REF][START_REF] Knuth | Dancing Links[END_REF]. Depending of the structure of an initial Petri net, this process is either polynomial or exponential [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF][START_REF] Knuth | Dancing Links[END_REF].

Most of algorithms generate more SM-Components, that are required to cover the whole Petri net. Then, regardless of the initial structure (concurrency graph or hypergraph), the process of selection ought to be applied.

In the article we propose a new idea of SM-Components selection. The aim of the proposed method is to apply an algorithm that can be performed in polynomial time in most of cases.

Idea of the Proposed Method

The proposed idea of selection of SM-Components can be divided into the following steps (Fig. 1):

1) Formulation of the sequentiality hypergraph that represents the set of achieved SM-Components [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF]. Vertices refer to the places of a Petri net while each hyperedge represents one of SM-Components. 2) Calculation of the dual hypergraph to the sequentiality hypergraph obtained in the previous stage. In practice this operation can be done via transposition of an incidence matrix of the sequentiality hypergraph [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF]. 3) Reduction of dominant edges and dominated vertices and formulation of the selection hypergraph. The dominant edges refer to the two or more places that are covered by the same SM-Components. Analogically, the dominated vertices are also reduced. They refer to the SM-Components that are covered by other SM-Components. Therefore, they can be removed from the further analysis. The concept of presented reduction was taken from [START_REF] Rudell | Logic Synthesis for VLSI Design[END_REF] and [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF], where it was proved that this operation has polynomial computational complexity. Finally, the selection hypergraph is formed which is the result of the reduction process. Y N

Exact transversal calculation

There can be totally five SM-Components found in the presented net: S 1 ={P 1 ,P 2 }, S 2 ={P 1 ,P 3 ,P 5 ,P 7 }, S 3 ={P 1 ,P 3 ,P 6 ,P 7 }, S 4 ={P 1 ,P 4 ,P 5 ,P 7 }, S 5 ={P 1 ,P 4 ,P 6 ,P 7 }. According to the conception presented in the previous section, at the beginning, sequentiality hypergraph H C is formed. An incidence matrix of H C is presented in fig. 3. There are two exact transversals in the selection hypergraph. The first one includes components S 1 , S 2 and S 5 , while the second is realized by S 1 , S 3 and S 4 . Since both transversals have the same number of SMCs, it does not matter which one will be selected. For further analysis we chose the first one. Finally, the initial Petri net can be decomposed. The proper SMCs are indicated by the selection process and in our case P 1 is decomposed into three SMCs, represented by S 1 , S 2 and S 5 . Figure 5 illustrates the result of the decomposition process. The initial concurrent automaton has been decomposed into three sequential automata: S 1 (a), S 2 (b) and S 5 (c).The detailed description about formation of the particular automaton can be found in [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF].

                = 1 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 C A 5

Results of experiments

The proposed method has been verified experimentally. The library of test modules consist of over than 100 Petri nets that belong to the different classes (such as Marked Graphs, Free-Choice, Extended Free-Choice and Simple Nets [START_REF] Murata | Petri Nets: Properties, Analysis and Applications[END_REF][START_REF] Karatkevich | Dynamic analysis of Petri net-based discrete systems[END_REF]). Most of the nets describe real digital controllers and were taken from literature [START_REF] Wisniewska | Application of hypergraphs in decomposition of discrete systems[END_REF][START_REF] Murata | Petri Nets: Properties, Analysis and Applications[END_REF][START_REF] Barkalov | Synthesis of Moore finite state machine with nonstandard presentation of state codes[END_REF][START_REF] Karatkevich | Dynamic analysis of Petri net-based discrete systems[END_REF][START_REF] Wisniewski | A polynomial algorithm to compute the concurrency hypergraph in Petri nets[END_REF][START_REF] Karatkevich | SM-Components problem reductions of Petri nets[END_REF][START_REF] Blanchard | Comprendre, Maîtriser Et Appliquer Le Grafcet Cepadues[END_REF].

The main criterion of the selection was to obtain the minimal (optimal) number of SMCsthat are required in order to decompose the initial Petri net. Obtained average results of experiments are shown in Tab. 1. From the table we can see, that 85% of examined Petri nets have xt-selection hypergraphs, thus the selection process for those nets can be done in polynomial time.

Conclusions

In the article the application of the xt-hypergraphs in the selection of SM-components was presented. The main advantage of the proposed idea is availability (in some cases) to perform the whole selection process in polynomial time.

4 )

 4 Examination of the selection hypergraph. If the hypergraph belongs to the xthypergraphs class, it means that the selection process can be done via xthypergraphs. Otherwise, the selection ought to be performed in the other way (like calculation of transversals, coloring, etc.) [1]. 5) If the selection hypergraph belongs to the xt-class, the first exact transversal has to be calculated. Obtained result indicates SM-Components that form the final solution (the selected set of SM-Components). Since the examination and selection of the subsequent exact transversals in the xt-hypergraph are polynomial, the whole selection process is polynomial.

Fig. 1 .Figure 2 illustratesFig. 2 . 1 Formulation

 1221 Fig. 1. Idea of the proposed method

Fig. 3 .

 3 Fig. 3. Incidence matrix of sequentiality hypergraph H C Next, the duality hypergraph to the H S is calculated. Such an operation can be easily done by transposition of incidence matrix A C . After the reduction of the dominant edges and dominated vertices, the selection hypergraph H S is reached. In our example the selection hypergraph belongs to the xt-class, thus the proposed idea have sense. Incidence matrix A S of selection hypergraph H S is shown in the fig. 4.

Fig. 4 .

 4 Fig. 4. Incidence matrix of selection hypergraph H S

Fig. 5 .

 5 Fig. 5. The result of the decomposition process of Petri net P 1

Table 1 .

 1 Average results of experiments.

	Average number	Average number	Average number	Number of achieved xt-
	of places	of transitions	of SM-Components	selection hypergraphs
	12	10	4	85%

  The initial experiments have proved the effectiveness of the presented method. According to the results of conducted researches showed that over 85% of examined nets have the selection hypergraph that belongs to the xt-class. It means that the selection process can be executed in polynomial time if hypergraph belongs to xt-class.At the moment the essence of research was to determine if the selection hypergraph belonged to the xt-class. Further work will include comparison of achieved results with other selection methods (based on the coloring, transversals, etc.)

Acknowledgment. The research was partially financed from budget resources intended for science in 2010-2013 as an own research project No. N N516 513939.


Carlos Roncero-Clemente

Serhii Stepenko
email: stepenko.sergey@gmail.com

Oleksandr Husev
email: oleksandr.husev@ieee.org

Víctor Miñambres-Marcos

Enrique Romero-Cadaval

Dmitri Vinnikov

Three-Level Neutral-Point-Clamped Quasi-Z-Source Inverter with Maximum Power Point Tracking for Photovoltaic Systems

Keywords: three-level inverter, neutral-point-clamped inverter, quasi-z-source inverter, shoot-through, maximum power point tracking, photovoltaic system, dP/dV feedback

ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

Continual focus of DoCEIS is on general topics of wide-scale importance that create opportunities for researchers to discuss their contribution to the challenges involved in their proposed subjects [START_REF] Camarinha-Matos | Raising Awareness for Value Creation Potential in Engineering Research[END_REF]. A current topic "Technological Innovation for the Internet of Things" is closely connected to the smart grid.

Smart Grid as Application of the Internet of Things

In some studies the application of the Internet of Things in the smart grid is gravely emphasized. But we should keep in mind that the Internet of Things is a rather broad concept. It may concern not only to the smart grid and therefore is not limited by it.

However discussing the contribution of this work to the development of the Internet of Things we will consider it in terms of the smart grid, since this paper is focused on the photovoltaic system as an element of the smart grid.

Smart grid can solve the problem of an energy alternative and compatible use, which integrates system data on the basis of building an open system and a shared information model to optimize the operation and management of the grid. The principal characteristics of the smart grid include self-healing, mutual operation and participation of the users, perfect electricity quality, distributed generations and demand response, sophisticated market and effective asset management [START_REF] Yun | Research on the architecture and key technology of Internet of Things applied on smart grid[END_REF].

Our conviction is that the greatest development of the mentioned concept can be achieved if attention is paid first to the objects of control, and then to the ways and methods of the management. Thus, renewable energy sources (fuel cells, photovoltaic arrays, wind turbines etc.) can be used as electrical sources for a smart grid supply. This work is devoted to the photovoltaic system based on the new topology of a quasi-z-source inverter (QZSI).

Quasi-Z-Source Inverter Based Innovative Approaches

Many studies propose the QZSI for use in PV systems. Some module architecture designs provide a high efficiency up to 98% [START_REF] Zhou | A High Performance Photovoltaic Module-Integrated Converter (MIC) Based on Cascaded Quasi-Z-Source Inverters (qZSI) using eGaN FETs[END_REF]. Moreover, the output current of a QZSI based system has good quality (THD up to 3%) [START_REF] Shahparasti | Quasi Z-source inverter for photovoltaic system connected to single phase AC grid[END_REF]. The QZSI also has necessary voltage boost properties and can be used for the MPPT in PV systems [START_REF] Zakis | Study of Simple MPPT Converter Topologies for Grid Integration of Photovoltaic Systems[END_REF].

Since approaches for the MPPT implementation using QZSI have been required, a lot of new modifications of the MPPT have appeared. Some methods track the MPP without the current sensor [START_REF] Liu | An improved MPPT method for quasi-Z-source inverter based grid-connected photovoltaic power system[END_REF]. Most of the studies suggest tracking by adjusting the shoot-through of the QZSI [START_REF] Chun | Power control for a PV generation system using a single-phase grid-connected quasi Z-source inverter[END_REF]. Methods to control shoot-through by artificial intelligence techniques are known. In [START_REF] Abu-Rub | Quasi-Z-Source Inverter-Based Photovoltaic Generation System With Maximum Power Tracking Control Using ANFIS[END_REF] a method based on an adaptive neuro-fuzzy inference system (ANFIS) is proposed to harness the maximum power of the PV system based on the QZSI. It offers a very fast dynamic response with high accuracy.

A new QZSI topology was proposed and described in [START_REF] Stepenko | FPGA Control of the Neutral Point Clamped Quasi-Z-Source Inverter[END_REF]. It is a combination of the QZSI and the three-level neutral-point-clamped (3L-NPC) inverter. The three-level neutral-point-clamped quasi-z-source inverter (3L-NPC QZSI) has advantages of both of these topologies. It can buck and boost the input voltage, it has short circuit immunity and due to the multilevel topology, high energy density is attainable. The 3L-NPC QZSI is especially suitable for renewable energy sources.

Since the mentioned topology is rather new, in all previous studies the 3L-NPC qZSI was considered as an isolated system [START_REF] Stepenko | FPGA Control of the Neutral Point Clamped Quasi-Z-Source Inverter[END_REF], [START_REF] Husev | CCM Operation Analysis of the Single-Phase Three-Level Quasi-Z-Source Inverter[END_REF], [START_REF] Roncero-Clemente | Simulation Study of Different Modulation Techniques for Three-Level Quasi-Z-Source Inverter[END_REF]. The aim of the current work is to develop and study the capabilities of this topology assuming it as an integrated system. A wide range of problems should be considered (MPPT, anti-islanding methods, reactive power control). This article is focused on the MPPT.

The control system for the 3L-NPC qZSI can be built on the FPGA (Field Programmable Gate Array), as described in [START_REF] Stepenko | FPGA Control of the Neutral Point Clamped Quasi-Z-Source Inverter[END_REF]. The FPGA makes it easier to implement a shoot-through mode. Using FPGA resources, it is sufficient to integrate the MPPT based on the same chip. Furthermore, we can use the FPGA to integrate a PV system in the smart grid and use the remote control of power converters. Sensor technology of the Internet of Things can form an interactive real-time network connection between the users, the corporation and power equipment, which will improve the overall efficiency of the integrated power grid [START_REF] Yun | Research on the architecture and key technology of Internet of Things applied on smart grid[END_REF]. Such control basis makes an excellent contribution to the furtherance of the Internet of Things.

Relationship to Internet of Things

Continual focus of DoCEIS is on general topics of wide-scale importance that create opportunities for researchers to discuss their contribution to the challenges involved in their proposed subjects [START_REF] Camarinha-Matos | Raising Awareness for Value Creation Potential in Engineering Research[END_REF]. A current topic "Technological Innovation for the Internet of Things" is closely connected to the smart grid.

In some studies the application of the Internet of Things in the smart grid is gravely emphasized. But we should keep in mind that the Internet of Things is a rather broad concept. It may concern not only to the smart grid and therefore is not limited by it.

However discussing the contribution of this work to the development of the Internet of Things we will consider it in terms of the smart grid, since this paper is focused on the photovoltaic system as an element of the smart grid.

Smart grid can solve the problem of an energy alternative and compatible use, which integrates system data on the basis of building an open system and a shared information model to optimize the operation and management of the grid. The principal characteristics of the smart grid include self-healing, mutual operation and participation of the users, perfect electricity quality, distributed generations and demand response, sophisticated market and effective asset management [START_REF] Yun | Research on the architecture and key technology of Internet of Things applied on smart grid[END_REF].

Our conviction is that the greatest development of the mentioned concept can be achieved if attention is paid first to the objects of control, and then to the ways and methods of the management. Thus, renewable energy sources (fuel cells, photovoltaic arrays, wind turbines, etc.) can be used as electrical sources for a smart grid supply. This work is devoted to the photovoltaic system based on the new topology of a quasi-z-source inverter (QZSI). The control system for the 3L-NPC qZSI can be built on the FPGA (Field Programmable Gate Array), as described in [START_REF]Photovoltaic Solar Module. Product Information Sheet[END_REF]. The FPGA makes it easier to implement a shoot-through mode. Using FPGA resources, it is sufficient to integrate the MPPT based on the same chip. Furthermore, we can use the FPGA to integrate a PV system in the smart grid and use the remote control of power converters. Sensor technology of the Internet of Things can form an interactive real-time network connection between the users, the corporation and power equipment, which will improve the overall efficiency of the integrated power grid [START_REF] Yun | Research on the architecture and key technology of Internet of Things applied on smart grid[END_REF]. Such control basis makes an excellent contribution to the furtherance of the Internet of Things.

Description of the System

The general structure of the studied system is depicted in Fig. 1. Different models of the system were developed and implemented using Matlab/Simulink as a simulation tool. The power stage of the system is composed of a photovoltaic array and a threelevel neutral-point-clamped quasi-z-source inverter with an output LC filter. The MPPT algorithm and a shoot-through pulse-width modulation (SPWM) technique compose the control stage of the system.

All the mentioned components of the PV system will be described in detail in the following sections.

Photovoltaic Array Model

One of the principal components of the system is the PV array model. It is modelling the real photovoltaic module Shell SP150-P [START_REF]Photovoltaic Solar Module. Product Information Sheet[END_REF].

Several models for solar panel simulation are reported in the literature. Most of them are modelling the solar cell as an electrical equivalent circuit. Due to such representation some electrical parameters are required, such as junction resistance, dark current, effective cell area etc. Usually these parameters are not provided in the solar panel manufacturer datasheet. It makes such model use difficult for engineers and users.

In this work the model based on I-V exponential curve has been used for simulation. This model was proposed in [START_REF] Roncero-Clemente | Comparison of Two Power Flow Control Strategies for Photovoltaic Inverters[END_REF], where detailed description of the model could be found. The influence of temperature and irradiance was also considered.

The simulated I-V curves in different irradiance conditions for the mentioned PV panel are shown in Fig. 2a. Proper work of the model was validated by the comparison of these curves with those provided by manufacturer for the solar panel Shell SP150-P (Fig. 2b). Suitable series-parallel associations of the single photovoltaic panels enable the necessary DC input voltage and the PV system power to be provided.

Three-Level Neutral-Point-Clamped Quasi-Z-Source Inverter

DC/AC conversion is based on the 3L-NPC qZSI proposed and described in [START_REF] Stepenko | FPGA Control of the Neutral Point Clamped Quasi-Z-Source Inverter[END_REF]. It is depicted in Fig. 3.

Each leg of the converter consists of two complementary switching pairs of transistors and four anti-parallel diodes (Fig. 3). The required parameters of the passive elements of the QZS-stage were calculated according to the methodology proposed in [START_REF] Roncero-Clemente | Simulation Study of Different Modulation Techniques for Three-Level Quasi-Z-Source Inverter[END_REF]. This topology has such advantages as continuous input current, the possibility to use shoot-through, lower switching losses and balanced neutral-point voltage in comparison with the traditional two-level voltage source inverter. Due to the above features the neutral-point-clamped quasi-Z-source inverter is especially suitable for the PV systems.

Maximum Power Point Tracking Algorithm

The structure of the proposed MPPT algorithm is depicted in Fig. 4.

The input parameters of this stage are values of the voltage and current of the photovoltaic array. As can be seen from Fig. 4, this MPPT algorithm is based on dP/dV. The novelty of this approach lies in the usage of the shoot-through state of power switches for maintenance of the maximum power. Using the value of the dP/dV, denoted as θ in Fig. 4, PI controller forms the necessary shoot-through duty cycle Ds to achieve the maximum power. Ds is used by the SPWM block to generate the control signals for all switches. Thus, the MPPT algorithm is adapted for the 3L-NPC qZSI in the PV system. In Figs. 5a and5b, I-V and P-V curves show the MPPT. Fig. 5. Modelled I-V (a) and P-V (b) curves with maximum power point tracking.

Modulation Technique

A special shoot-through pulse-width modulation (SPWM) technique was implemented for the 3L-NPC qZSI. This modulation technique as well as the switching strategy are described in detail in [START_REF] Roncero-Clemente | Simulation Study of Different Modulation Techniques for Three-Level Quasi-Z-Source Inverter[END_REF].

The modulation technique differs from the classical modulation techniques for such converters. It has shoot-through states of the power switches distributed during the whole period of the output voltage, while in the classical approaches the shootthrough states are usually applied when the output voltage is equal to zero.

This modulation technique has several benefits. It significantly reduces the DC voltage pulsations and output voltage distortion. Thus it allows a decrease in the values of the passive elements used for the quasi-z-source stage and neutral point clamping. It also influences the output filter parameters.

In addition, the proposed modulation technique allows the boost factor that is needed to be easily achieved only by changes of the shoot-through duty cycle. Thus, it combines the necessary boost factor with acceptable quality of the output power.

Simulation Results

The photovoltaic system was simulated using MATLAB Simulink. All the parameters of the PV array model are presented in Table 1 under standard conditions (irradiance 1000 W/m 2 and temperature 25 0 C). In the PV system study it was necessary to validate its ability to track the maximum power point under nonstandard conditions. Thus, using the changes of irradiance the response of the system was observed and results are depicted in Fig 6.

At the initial time, irradiance was 1000 W/m 2 (Fig. 6a). The module voltage is about 240 V (Fig. 6b). So, the voltage of each of 7 panels was 34 V. Such panel voltage according to the I-V curves in Fig. 2a corresponds to the current 4.4 A in Fig. 6c. The PV module power was 1050 W (Fig. 6d).

At second 8, irradiance was gradually decreased to 900 W/m 2 (Fig. 6a). It caused a sharp decline of the module power (Fig. 6d). The MPPT block by changes of the shoot-through duty cycle (Fig. 6e) is looking for the new maximum power point in such conditions. Thus, when the transient process is finished, the voltage is near to 240 V (Fig. 6b). The voltage of a single panel is about 34 V. For such conditions, the current is 4.0 A (Fig. 6c). The power in a steady state is 960 W (Fig. 6d).

After second 16, the irradiance returns to its initial level. MPPT block by changes of shoot-through duty cycle (Fig. 6e) establishes the initial power. It allows all the variables get their original values.

Conclusions and Further Work

A photovoltaic system based on three-level neutral-point-clamped quasi-z-source inverter with the maximum power point tracking has been modelled and described in this work.

The MPPT algorithm based on dP/dV is featured by the shoot-through duty cycle to achieve the maximum power. Simulation results proved the ability of the proposed system to track the maximum power point under irradiance changes.

Our further work will be devoted to detail analysis of the output voltage of the integrated photovoltaic system. Attention will be paid also to the features affect the output voltage and the ways of its improvement.

Fig. 1 .

 1 Fig. 1. General block-diagram of the analyzed photovoltaic system.

Fig. 2 .

 2 Fig. 2. I-V curves family of the photovoltaic array obtained using Matlab/Simulink model (a) and I-V curves family from the Shell SP150-P Product Information Sheet (b).

Fig. 3 .

 3 Fig. 3. Three-level neutral-point-clamped quasi-z-source inverter fed by a photovoltaic array.

Fig. 4 .

 4 Fig. 4. The structure of the maximum power point tracking algorithm.

Fig. 6 .

 6 Fig. 6. Simulation results: irradiance (a), PV module average voltage (b), PV module average current (c), PV module average power (d), shoot-through duty cycle (e).

Table 1 .

 1 Simulation parameters

		Symbol	Description	Values
		V OC	Open circuit voltage	43.4 V
	Parameters of the used photovoltaic array model	I SC V MPP I MPP N S N P	Short circuit current Maximum power point voltage Maximum power point current Number of panels connected in series Number of panels connected in parallel	4.80 A 34.0 V 4.41 A 7 1
		P MAX	Maximum power	1050 W
		L 1 , L 2 , L 3 , L 4 Inductors of the quasi-Z-stage	160 µH
	Parameters of the used passive elements	C 1 , C 4 C 2 , C 3 L F C F R F	Capacitors of the quasi-Z-stage Capacitors of the neutral point Inductor of the output filter Capacitor of the output filter Resistor of the output filter	1180 µF 940 µF 2.2 mH 0.47 µF 0.25 Ohm
		R L	Resistor of the load	15 Ohm

Acknowledgment. This research work was supported by MOBILITAS Postdoctoral Research Grant (MJD391). This work was (partially) supported by Spanish institutions "Ministerio de Economía y Competitividad" and "Junta de Extremadura" and the funding of "Fondos FEDER".