To subscribe to our mailing list please complete and submit the form below:
To find out more why not download the CREMA Project newletter below:
CREMA is a platform that provides mechanisms and tools to manufacturers to present, advertise, sell, and lease their manufacturing services. In order to do this, manufacturing services need to be abstracted and virtualized. Abstraction is a process when manufacturing services are conceptualized to be represented as services in the CREMA platform. Virtualization provides means to interact with those services. The CREMA platform contains a component called CREMA Service Virtualization and Abstraction (SVA) dedicated specifically to enable abstraction and virtualization of manufacturing services. A concrete manufacturing service in CREMA consist of a service profile, service grounding and semantic annotation. A service profile contains a general description of a service, specification of a service owner, keywords to facilitate search in the CREMA Marketplace, and Quality of Service parameters. A service grounding is a set of details needed to establish interaction with the manufacturing service, e.g., communication protocols, message formats, port numbers. In CREMA, the service grounding is defined to have a unified interface. Specifically, each service (cyber-physical device, human operator, sensor etc.) is expected to be wrapped by a proxy service wrapper. These wrappers implement a specific REST API. The first method of this API is start service. It is used by the CREMA Process and Messaging Runtime Environment (PRU) to invoke the actual service. The second method of this API is get availability that is used by the CREMA On-demand Service Leasing and Releasing (OSL) component to query whether the service is available (i.e., check the machine is operational, the sensor is reachable, the human operator is present, etc.). Also, in each proxy service wrapper, there is a dedicated subcomponent called notification service that sends messages to CREMA PRU as soon as the service fails or finishes. The architecture of a proxy service wrapper is shown in Figure 1.
A semantic annotation is the specification of inputs, outputs, preconditions, and effects (IOPE) of a manufacturing service. Inputs and outputs are semantic concepts chosen from available concepts and instances of the CREMA CDM-Core ontology. Preconditions and effects are triples consisting of a subject, predicate and object. Subjects and objects can be chosen either from available concepts and instances of the CREMA CDM-Core ontology, or from already chosen inputs and outputs. The search of predicates is performed not in the whole CREMA CDM-Core ontology, but in those concepts that are predicates. For predicates, the first order logic operators are enabled. Additionally, for preconditions and effects, two different modes of adding concepts and editing expressions were implemented, i.e., basic and advanced. In the basic mode, the user fills in the offered fields. In Figure 2, an example of a semantic annotation created by the means of SVA in the basic mode is shown.
After changing to the advanced mode (see Figure 3), the preconditions and effects are compiled into Planning Domain Definition Language (PDDL) expressions, and the user can directly edit them. PDDL expressions can directly written in the textboxes for preconditions and effects according to standard PDDL rules. More details can be found in our public deliverables D4.9 CREMA Service Virtualisation and Abstraction – Prototype I and D4.10 CREMA Service Virtualisation and Abstraction – Prototype II.
All the data about a service profile, service grounding and semantic annotation of a manufacturing service are saved as a Service Data Transfer Object (DTO) in the Service Repository of the CREMA Marketplace. After this, service DTOs become available in the design palette of the CREMA Process Design Time Environment (PDE), and are the basic structural units to design and execute manufacturing processes.
Friday, January 19, 2018
Friday, January 19, 2018
Tuesday, January 2, 2018