Difference between revisions of "Engineering Objects (Draft)"
(Created page with "The objects described by the engineering viewpoint directly support research data management functionalities which are commonly shared among more than one RI (Identification a...") |
|||
(9 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
The definition of the basic engineering objects are given as follows. All of the definitions with the exception of pid manager and provenance service, are derived from the definitions of the corresponding computational viewpoint objects. | The definition of the basic engineering objects are given as follows. All of the definitions with the exception of pid manager and provenance service, are derived from the definitions of the corresponding computational viewpoint objects. | ||
− | * annotation service | + | * [[Engineering Objects (Draft)#annotation service|annotation service]] |
− | * catalogue service | + | * [[Engineering Objects (Draft)#catalogue service|catalogue service]] |
− | * coordination service | + | * [[Engineering Objects (Draft)#coordination service|coordination service]] |
− | * data exporter | + | * [[Engineering Objects (Draft)#data exporter|data exporter]] |
− | * data importer | + | * [[Engineering Objects (Draft)#data importer|data importer]] |
− | * data store controller | + | * [[Engineering Objects (Draft)#data store controller|data store controller]] |
− | * data transfer service | + | * [[Engineering Objects (Draft)#data transfer service|data transfer service]] |
− | * pid manager | + | * [[Engineering Objects (Draft)#pid manager|pid manager]] |
− | * process controller | + | * [[Engineering Objects (Draft)#process controller|process controller]] |
− | * provenance service | + | * [[Engineering Objects (Draft)#provenance service|provenance service]] |
− | * raw data collector | + | * [[Engineering Objects (Draft)#raw data collector|raw data collector]] |
| style="width: 70%; background-color: #fcfcfc; border-radius: 5px; border: 1px solid #ccc; padding: 10px 10px 10px 40px"| | | style="width: 70%; background-color: #fcfcfc; border-radius: 5px; border: 1px solid #ccc; padding: 10px 10px 10px 40px"| | ||
Line 92: | Line 92: | ||
|- | |- | ||
| Computational || [[CV Service Objects#Catalogue service|'''catalogue service''']] | | Computational || [[CV Service Objects#Catalogue service|'''catalogue service''']] | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === <span style="color: #BBCE00">coordination service</span> === | ||
+ | |||
+ | A basic engineering object that that supports the ability to coordinate data processing tasks on infrastructure execution resources. A coordination service should provide at least three functions: process request, coordinate process, create process controller, and prepare data transfer | ||
+ | |||
+ | {| style="width: 85%;" | ||
+ | |- | ||
+ | | style="width: 55%; vertical-align: top; padding: 10px 10px 10px 10px"| | ||
+ | Coordination service functions | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Function</span>''' !! '''<span style="color: #BBCE00">Description</span>''' !! | ||
+ | |||
+ | '''<span style="color: #BBCE00">Type</span>''' | ||
+ | |- | ||
+ | | process request || function for scheduling the execution of data processing tasks. This could require executing complex workflows involving many (parallel) sub-tasks. || server | ||
+ | |- | ||
+ | | coordinate process || function used to coordinate the execution of data processing tasks on execution resources presented by process controllers. || server | ||
+ | |- | ||
+ | | create process controller || function for creating and configuring the required [[Engineering Objects (Draft)#process controller|'''process controllers''']] required for the different processing tasks || internal | ||
+ | |- | ||
+ | | prepare data transfer || function used to retrieve data (and metadata) from the data stores and to return the processing results. || server | ||
+ | |} | ||
+ | | style="width: 45%; vertical-align: top; padding: 10px 10px 10px 40px"| | ||
+ | Catalogue service correspondences | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Viewpoint</span>''' !! '''<span style="color: #BBCE00">Correspondence</span>''' | ||
+ | |- | ||
+ | | Science || [https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_serRolesintheDataProcessingCommunity '''data processing subsystem'''] (role) <br>[https://confluence.egi.eu/display/ERMdev/SV+Community+Behaviours#SVCommunityBehaviours-beh_serBehavioursoftheDataProcessingCommunity '''coordinate service'''] (behaviour) | ||
+ | |- | ||
+ | | Information || [[IV Information Action Types#processdata|'''process data''']] (action) | ||
+ | |- | ||
+ | | Computational || [[CV Service Objects#Coordination service|'''coordination service''']] | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === <span style="color: #BBCE00">data exporter</span> === | ||
+ | |||
+ | A basic engineering object for exporting assets from the data stores. A data exporter should provide five functions: retrieve asset, update records, export metadata, export asset, deliver asset. | ||
+ | |||
+ | {| style="width: 85%;" | ||
+ | |- | ||
+ | | style="width: 55%; vertical-align: top; padding: 10px 10px 10px 10px"| | ||
+ | data exporter functions | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Function</span>''' !! '''<span style="color: #BBCE00">Description</span>''' !! | ||
+ | |||
+ | '''<span style="color: #BBCE00">Type</span>''' | ||
+ | |- | ||
+ | | retrieve asset || function provided to enable requesting data from a designated data store (inherited from [https://confluence.egi.eu/display/ERMdev/CV+Component+Objects#CVComponentObjects-data_transporter '''data transporter''']). || client | ||
+ | |- | ||
+ | | update records || function provided to inform downstream resources about impending asset transfers (inherited from [https://confluence.egi.eu/display/ERMdev/CV+Component+Objects#CVComponentObjects-data_transporter '''data transporter''']). || client | ||
+ | |- | ||
+ | | export metadata || function provided for requesting any additional metadata associated with the asset being transferred. || client | ||
+ | |- | ||
+ | | export asset || function provided for extracting assets from a designated data store || consumer | ||
+ | |- | ||
+ | | deliver asset || function provided for delivery of assets to a designated data store. || producer | ||
+ | |} | ||
+ | | style="width: 45%; vertical-align: top; padding: 10px 10px 10px 40px"| | ||
+ | data exporter correspondences | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Viewpoint</span>''' !! '''<span style="color: #BBCE00">Correspondence</span>''' | ||
+ | |- | ||
+ | | Science || [https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_pubRolesintheDataPublishingCommunity '''data publishing subsystem'''] (role) <br>[https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_usaRolesintheDataUseCommunity '''data use subsystem'''] (role) | ||
+ | |- | ||
+ | | Computational || [[CV Component Objects#Data exporter|'''data exporter''']] | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === <span style="color: #BBCE00">data importer</span> === | ||
+ | |||
+ | A basic engineering object for importing assets into the data stores. A data importer should provide six functions: retrieve asset, update records, export metadata, export asset, deliver asset. | ||
+ | |||
+ | {| style="width: 85%;" | ||
+ | |- | ||
+ | | style="width: 55%; vertical-align: top; padding: 10px 10px 10px 10px"| | ||
+ | data importer functions | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Function</span>''' !! '''<span style="color: #BBCE00">Description</span>''' !! | ||
+ | |||
+ | '''<span style="color: #BBCE00">Type</span>''' | ||
+ | |- | ||
+ | | retrieve asset || function provided to enable requesting data from a designated data store (inherited from [https://confluence.egi.eu/display/ERMdev/CV+Component+Objects#CVComponentObjects-data_transporter '''data transporter''']). || client | ||
+ | |- | ||
+ | | update records || function provided to inform downstream resources about impending asset transfers (inherited from [https://confluence.egi.eu/display/ERMdev/CV+Component+Objects#CVComponentObjects-data_transporter '''data transporter''']). || client | ||
+ | |- | ||
+ | | acquire identifier || function provided for requesting new persistent identifier to be associated with the data being transferred. Generally, identifiers are requested when importing new data into an infrastructure. || client | ||
+ | |- | ||
+ | | update catalogues || function for populating the catalogues with the metadata associated to the imported data assets. || client | ||
+ | |- | ||
+ | | import asset || function provided for receiving assets from a designated data store || consumer | ||
+ | |- | ||
+ | | deliver asset || function provided for delivery of assets to a designated data store. || producer | ||
+ | |} | ||
+ | | style="width: 45%; vertical-align: top; padding: 10px 10px 10px 40px"| | ||
+ | data importer correspondences | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Viewpoint</span>''' !! '''<span style="color: #BBCE00">Correspondence</span>''' | ||
+ | |- | ||
+ | | Science || [https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_acqRolesintheDataAcquisitionCommunity '''data acquisition subsystem'''] (role) <br>[https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_curRolesintheDataCurationCommunity '''data curation subsystem'''] (role) | ||
+ | |- | ||
+ | | Computational || [[CV Component Objects#Data importer|'''data importer''']] | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === <span style="color: #BBCE00">data store controller</span> === | ||
+ | |||
+ | A basic engineering object that encapsulates the functions required to store and maintain data assets managed by the RI. The data store controller also provides access to authorised agents. A data store controller should provide five functions: update records, query resoruce, retrieve data, import data, export data. | ||
+ | |||
+ | {| style="width: 85%;" | ||
+ | |- | ||
+ | | style="width: 55%; vertical-align: top; padding: 10px 10px 10px 10px"| | ||
+ | data store controller functions | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Function</span>''' !! '''<span style="color: #BBCE00">Description</span>''' !! | ||
+ | |||
+ | '''<span style="color: #BBCE00">Type</span>''' | ||
+ | |- | ||
+ | | update records || function for editing data records within a data store, as well as preparing ingestion of data streams. || server | ||
+ | |- | ||
+ | | query resource || function for querying the data store. || server | ||
+ | |- | ||
+ | | retrieve data || functions to manage the retrieval of assets from a data store || server | ||
+ | |- | ||
+ | | import asset || function provided for receiving assets into a designated data store || consumer | ||
+ | |- | ||
+ | | export asset || function provided for extracting assets from a designated data store. || producer | ||
+ | |} | ||
+ | | style="width: 45%; vertical-align: top; padding: 10px 10px 10px 40px"| | ||
+ | data store controller correspondences | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Viewpoint</span>''' !! '''<span style="color: #BBCE00">Correspondence</span>''' | ||
+ | |- | ||
+ | | Science || [https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_curRolesintheDataCurationCommunity '''data curation subsystem'''] (role) | ||
+ | |- | ||
+ | | Computational || [[CV Component Objects#Data store controller|'''data store controller''']] | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === <span style="color: #BBCE00">data transfer service</span> === | ||
+ | |||
+ | A basic engineering object for managing the transfer of assets into and out-of the data stores. The data transfer service is responsible for setting up data transfers, including any repackaging of assets necessary prior to delivery. | ||
+ | |||
+ | {| style="width: 85%;" | ||
+ | |- | ||
+ | | style="width: 55%; vertical-align: top; padding: 10px 10px 10px 10px"| | ||
+ | data transfer service functions | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Function</span>''' !! '''<span style="color: #BBCE00">Description</span>''' !! | ||
+ | |||
+ | '''<span style="color: #BBCE00">Type</span>''' | ||
+ | |- | ||
+ | | prepare data transfer || function for managing and scheduling a data transfer either into or out of the data stores || server | ||
+ | |- | ||
+ | | create transporter || function for creating and configuring the required data transporters ( [[Engineering Objects (Draft)#raw data collector|'''raw data collector''']], [[Engineering Objects (Draft)#data importer|'''data importer''']], or [[Engineering Objects (Draft)#data exporter|'''data exporter''']]) || internal | ||
+ | |} | ||
+ | | style="width: 45%; vertical-align: top; padding: 10px 10px 10px 40px"| | ||
+ | data transfer service correspondences | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Viewpoint</span>''' !! '''<span style="color: #BBCE00">Correspondence</span>''' | ||
+ | |- | ||
+ | | Science || [https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_curRolesintheDataCurationCommunity '''data curation subsystem'''] (role) | ||
+ | |- | ||
+ | | Computational || [[CV Service Objects#Data transfer service|'''data transfer service''']] | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === <span style="color: #BBCE00">pid manager</span> === | ||
+ | |||
+ | A basic engineering object for managing the acquisition, registration, and maintenance of persistent identifiers for data assets. Persistent identifiers can be generated internally or externally. For assigning resolvable global unique identifiers, the pid manager commonly depends of an external [[CV Service Objects#PID service|'''PID service''']]. A pid manager should provide three functionalities: acquire identifier, manage identifier, and resolve identifier. | ||
+ | |||
+ | {| style="width: 85%;" | ||
+ | |- | ||
+ | | style="width: 55%; vertical-align: top; padding: 10px 10px 10px 10px"| | ||
+ | pid manager functions | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Function</span>''' !! '''<span style="color: #BBCE00">Description</span>''' !! | ||
+ | |||
+ | '''<span style="color: #BBCE00">Type</span>''' | ||
+ | |- | ||
+ | | acquire identifier || function for providing new persistent identifiers for assets || server | ||
+ | |- | ||
+ | | manage identifier || function for retrieving, updating and deleting identifiers || server | ||
+ | |- | ||
+ | | resolve identifier || function for providing the physical location of an asset to authorised requester || server | ||
+ | |} | ||
+ | | style="width: 45%; vertical-align: top; padding: 10px 10px 10px 40px"| | ||
+ | data transfer service correspondences | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Viewpoint</span>''' !! '''<span style="color: #BBCE00">Correspondence</span>''' | ||
+ | |- | ||
+ | | Science || [https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_curRolesintheDataCurationCommunity '''PID Manager'''] (role) | ||
+ | |- | ||
+ | | Information || [https://confluence.egi.eu/display/ERMdev/IV+Information+Action+Types#IVInformationActionTypes-assignuniqueidentifier '''assign unique identifier'''] (action) | ||
+ | |- | ||
+ | | Computational || [[CV Component Objects#PID manager|'''PID manager''']] (object) | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === <span style="color: #BBCE00">process controller</span> === | ||
+ | |||
+ | A basic engineering object providing the functions required for using an execution resource (generically, any computing platform that can host some process) as part of a predefined workflow. A process controller should provide five functions: | ||
+ | |||
+ | {| style="width: 85%;" | ||
+ | |- | ||
+ | | style="width: 55%; vertical-align: top; padding: 10px 10px 10px 10px"| | ||
+ | process controller functions | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Function</span>''' !! '''<span style="color: #BBCE00">Description</span>''' !! | ||
+ | |||
+ | '''<span style="color: #BBCE00">Type</span>''' | ||
+ | |- | ||
+ | | coordinate process || function for controlling the execution resource associated with a given process || server | ||
+ | |- | ||
+ | | retrieve results || functions for retrieving results from an execution resource || server | ||
+ | |- | ||
+ | | update records || provides functions for modifying data on an execution resource, including preparing the resource for the ingestion of bulk data streams || server | ||
+ | |- | ||
+ | | stage data || used to acquire streams of data from data store objects as part of some process. || consumer | ||
+ | |- | ||
+ | | export asset || function provided for retrieving the assets produced by some process || producer | ||
+ | |} | ||
+ | | style="width: 45%; vertical-align: top; padding: 10px 10px 10px 40px"| | ||
+ | Catalogue service correspondences | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Viewpoint</span>''' !! '''<span style="color: #BBCE00">Correspondence</span>''' | ||
+ | |- | ||
+ | | Science || [https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_serRolesintheDataProcessingCommunity '''data processing subsystem'''] (role) <br>[https://confluence.egi.eu/display/ERMdev/SV+Community+Behaviours#SVCommunityBehaviours-beh_serBehavioursoftheDataProcessingCommunity '''compose service'''] (behaviour) | ||
+ | |- | ||
+ | | Information || [https://confluence.egi.eu/display/ERMdev/IV+Information+Action+Types#IVInformationActionTypes-processdata '''process data'''] (action) | ||
+ | |- | ||
+ | | Computational || [[CV Component Objects#Process controller|'''process controller''']] | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === <span style="color: #BBCE00">provenance service</span> === | ||
+ | |||
+ | A basic engineering object that supports the ability to publish and search collections of provenance metadata for assets such as data, services, and related information objects managed by a research infrastructure. A provenance service is a specialisation of a catalogue service. A provenance service must provide at least four functionalities: query catalogues, update catalogues, export metadata, and query resource. | ||
+ | |||
+ | {| style="width: 85%;" | ||
+ | |- | ||
+ | | style="width: 55%; vertical-align: top; padding: 10px 10px 10px 10px"| | ||
+ | Provenance service functions | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Function</span>''' !! '''<span style="color: #BBCE00">Description</span>''' !! | ||
+ | |||
+ | '''<span style="color: #BBCE00">Type</span>''' | ||
+ | |- | ||
+ | | export metadata || function for gathering metadata to be exported with assets extracted from the data store objects. || server | ||
+ | |- | ||
+ | | query catalogues || function for querying assets held by the infrastructure, including the retrieval of assets associated with a given persistent identifier. || server | ||
+ | |- | ||
+ | | update catalogues || function for updating of catalogues and the associated data assets. || server | ||
+ | |- | ||
+ | | invoke resource || function for enabling the invocation of other services such as harvesting, exporting data, or automated update. This includes the communication with internal components such as the data store controller for retrieving data. || client | ||
+ | |} | ||
+ | | style="width: 45%; vertical-align: top; padding: 10px 10px 10px 40px"| | ||
+ | Catalogue service correspondences | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Viewpoint</span>''' !! '''<span style="color: #BBCE00">Correspondence</span>''' | ||
+ | |- | ||
+ | | Science || [https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_curRolesintheDataCurationCommunity '''catalogue system'''] (role) | ||
+ | |- | ||
+ | | Information || [[IV Information Action Types#trackprovenance|'''track provenance''']] (action) <br>[[IV Information Objects#metadatacatalogue|'''metadata catalogue''']] (instance of object) | ||
+ | |- | ||
+ | | Computational || [[CV Service Objects#Catalogue service|'''catalogue_service''']] (instance of object) | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | === <span style="color: #BBCE00">raw data collector</span> === | ||
+ | |||
+ | A basic engineering object to acquire, package, and transfer raw data produced by acquisition objects. A raw data collector should provide six functions: retrieve asset, update records, export metadata, export asset, deliver asset. | ||
+ | |||
+ | {| style="width: 85%;" | ||
+ | |- | ||
+ | | style="width: 55%; vertical-align: top; padding: 10px 10px 10px 10px"| | ||
+ | raw data collector functions | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Function</span>''' !! '''<span style="color: #BBCE00">Description</span>''' !! | ||
+ | |||
+ | '''<span style="color: #BBCE00">Type</span>''' | ||
+ | |- | ||
+ | | retrieve asset || function provided to enable requesting data from a designated data store (inherited from [https://confluence.egi.eu/display/ERMdev/CV+Component+Objects#CVComponentObjects-data_transporter '''data transporter''']). || client | ||
+ | |- | ||
+ | | update records || function provided to inform downstream resources about impending asset transfers (inherited from [https://confluence.egi.eu/display/ERMdev/CV+Component+Objects#CVComponentObjects-data_transporter '''data transporter''']). || client | ||
+ | |- | ||
+ | | acquire identifier || function provided for requesting new persistent identifier to be associated with the data being transferred. Generally, identifiers are requested when importing new data into an infrastructure. || client | ||
+ | |- | ||
+ | | update catalogues || function for populating the catalogues with the metadata associated to the imported data assets. || client | ||
+ | |- | ||
+ | | import asset || function provided for retrieving raw data from data acquisition objects || consumer | ||
+ | |- | ||
+ | | deliver asset || function provided for delivery of assets to a designated data store. || producer | ||
+ | |} | ||
+ | | style="width: 45%; vertical-align: top; padding: 10px 10px 10px 40px"| | ||
+ | raw data collector correspondences | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! '''<span style="color: #BBCE00">Viewpoint</span>''' !! '''<span style="color: #BBCE00">Correspondence</span>''' | ||
+ | |- | ||
+ | | Science || [https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_acqRolesintheDataAcquisitionCommunity '''data acquisition subsystem'''] (role) <br>[https://confluence.egi.eu/display/ERMdev/SV+Community+Roles#SVCommunityRoles-roles_curRolesintheDataCurationCommunity '''data curation subsystem'''] (role) | ||
+ | |- | ||
+ | | Computational || [[CV Component Objects#Raw data collector|'''raw data collector''']] | ||
|} | |} | ||
|} | |} | ||
Line 99: | Line 421: | ||
<ref name="Deliverable 8.3">ENVRIplus. (2017) Deliverable 8.3 Interoperable cataloging and harmonization for environmental RI projects: system design. ENVRI plus, 30/01/2017, Horizon 2020 Grant Agreement No 654182 http://www.envriplus.eu/wp-content/uploads/2015/08/D8.3-Interoperable-cataloging-and-harmonization-for-environmental-RI-projects-system-design.pdf</ref> | <ref name="Deliverable 8.3">ENVRIplus. (2017) Deliverable 8.3 Interoperable cataloging and harmonization for environmental RI projects: system design. ENVRI plus, 30/01/2017, Horizon 2020 Grant Agreement No 654182 http://www.envriplus.eu/wp-content/uploads/2015/08/D8.3-Interoperable-cataloging-and-harmonization-for-environmental-RI-projects-system-design.pdf</ref> | ||
</references> | </references> | ||
− | + | __NOTOC__ | |
[[Category:Engineering Viewpoint (Draft)]] | [[Category:Engineering Viewpoint (Draft)]] |
Latest revision as of 22:30, 28 March 2020
The objects described by the engineering viewpoint directly support research data management functionalities which are commonly shared among more than one RI (Identification and Citation, Curation, Cataloguing, Processing, and Provenance) [1], [2].
The engineering objects are grouped in the four top packages shown in the figure to the right: identification, catalogue, processing, and provenance, in line with the support needed for the four common data management functionalities. Two additional groups are defined to accommodate supporting objects which are needed for any working configuration: storage and data transfer. The objects included are defined as Basic Engineering Object (BEO) and provide functionalities described by CV Objects, this means that each BEO maps one to one to a CV Objects.
The grouping is not strict, these objects can be deployed side by side on a single physical machine or be distributed across network and institutional limits.
The engineering objects coupled with the Container Structure, are used to further define how the engineering objects can support the data management functionalities in different Object Configuration.
The definition of the basic engineering objects are given as follows. All of the definitions with the exception of pid manager and provenance service, are derived from the definitions of the corresponding computational viewpoint objects. |
|
annotation service[edit]
A basic engineering object that supports the ability associate annotations (free texts and semantic) with the assets managed by a research infrastructure. An annotation service must provide three functionalites: annotate data, update catalogues and update records
Annotation service functions
|
Annotation service correspondences
|
catalogue service[edit]
A basic engineering object that supports the ability to publish and search collections of metadata (descriptive information) for assets such as data, services, and related information objects managed by a research infrastructure. A catalogue service must provide at least four functionalities: query catalogues, update catalogues, export metadata, and query resource.
Catalogue service functions
|
Catalogue service correspondences
|
coordination service[edit]
A basic engineering object that that supports the ability to coordinate data processing tasks on infrastructure execution resources. A coordination service should provide at least three functions: process request, coordinate process, create process controller, and prepare data transfer
Coordination service functions
|
Catalogue service correspondences
|
data exporter[edit]
A basic engineering object for exporting assets from the data stores. A data exporter should provide five functions: retrieve asset, update records, export metadata, export asset, deliver asset.
data exporter functions
|
data exporter correspondences
|
data importer[edit]
A basic engineering object for importing assets into the data stores. A data importer should provide six functions: retrieve asset, update records, export metadata, export asset, deliver asset.
data importer functions
|
data importer correspondences
|
data store controller[edit]
A basic engineering object that encapsulates the functions required to store and maintain data assets managed by the RI. The data store controller also provides access to authorised agents. A data store controller should provide five functions: update records, query resoruce, retrieve data, import data, export data.
data store controller functions
|
data store controller correspondences
|
data transfer service[edit]
A basic engineering object for managing the transfer of assets into and out-of the data stores. The data transfer service is responsible for setting up data transfers, including any repackaging of assets necessary prior to delivery.
data transfer service functions
|
data transfer service correspondences
|
pid manager[edit]
A basic engineering object for managing the acquisition, registration, and maintenance of persistent identifiers for data assets. Persistent identifiers can be generated internally or externally. For assigning resolvable global unique identifiers, the pid manager commonly depends of an external PID service. A pid manager should provide three functionalities: acquire identifier, manage identifier, and resolve identifier.
pid manager functions
|
data transfer service correspondences
|
process controller[edit]
A basic engineering object providing the functions required for using an execution resource (generically, any computing platform that can host some process) as part of a predefined workflow. A process controller should provide five functions:
process controller functions
|
Catalogue service correspondences
|
provenance service[edit]
A basic engineering object that supports the ability to publish and search collections of provenance metadata for assets such as data, services, and related information objects managed by a research infrastructure. A provenance service is a specialisation of a catalogue service. A provenance service must provide at least four functionalities: query catalogues, update catalogues, export metadata, and query resource.
Provenance service functions
|
Catalogue service correspondences
|
raw data collector[edit]
A basic engineering object to acquire, package, and transfer raw data produced by acquisition objects. A raw data collector should provide six functions: retrieve asset, update records, export metadata, export asset, deliver asset.
raw data collector functions
|
raw data collector correspondences
|
- ↑ ENVRIplus. (2016) Deliverable 5.1 A consistent characterisation of existing and planned RIs, ENVRI plus, 24/05/2016, Horizon 2020 Grant Agreement No 654182 http://www.envriplus.eu/wp-content/uploads/2016/06/A-consistent-characterisation-of-RIs.pdf
- ↑ ENVRIplus. (2017) Deliverable 8.3 Interoperable cataloging and harmonization for environmental RI projects: system design. ENVRI plus, 30/01/2017, Horizon 2020 Grant Agreement No 654182 http://www.envriplus.eu/wp-content/uploads/2015/08/D8.3-Interoperable-cataloging-and-harmonization-for-environmental-RI-projects-system-design.pdf