This chapter describes SSH research infrastructures from a computational viewpoint. It explains the viewpoint, its language and modelling notation and its construction. Then it describes the computational model for the complete data infrastructure and for its different subsystems.
The computational viewpoint is described and discussed in [ISO/IEC 10746-1:2008],[ISO/IEC 10746-3:2009],[Linington] and [Romero]. The computational viewpoint describes the functionality of a system. It decomposes the system into objects performing specific functions with specific interfaces. This allows the functionality to be distributed. The viewpoint can be used as the basis for ensuring consistency of engineering and technology specifications.
The viewpoint is expressed using an object model which defines the interfaces that objects can have, how these can be bound with other interfaces, the interaction that can take place at these interfaces and the actions that an object can perform (such as creation of new objects, interfaces and bindings). The next paragraphs summarizes the most important concepts of this viewpoint.
Computational object are abstractions of systems and functions. They can relate to other computational objects in the following ways:
Interaction: Two objects exchange information as either an operation (request/response), as a (continuous) flow or as a signal.
Instantiation: An objects creates a new object via instantiation.
Inheritance: An inherited object has the same interface(s) as its parent object and extends it with additional interface(s).
Specific types of computational objects are used within this reference model:
Binding object: An object to support more complex interactions between two or more interfaces. These binding objects coordinates this interaction by providing bindings to all required interfaces.
Proxy object: An object that provides all external interactions of a subsystem and takes care of managing the internal objects of that subsystem.
Controller object: An abstract object to represent the external interaction with custom objects. It is used to represent specific instruments and processing.
The data infrastructure system provides functionality for the researcher to create-, process-, manage- and provide data. It is composed of the data creation subsystem, the data processing subsystem, the data management subsystem, the data provision subsystem, the data transfer subsystem, the data identification subsystem and the user authentication subsystem. We will summarize the functions that are provided to the end users.
Overview of computational subsystems
The Data Creation Subsystem is a computational object that provides functions for creating data. It supports the following interactions:
deploy instrument
retrieve data
The Data Processing Subsystem is a computational object that provides functions for transforming data from its original state to the desired state. It supports the following interactions:
deploy process
provide data
The Data Transfer Subsystem is a binding object that provides functions for transferring data between computational objects. It supports the following interactions:
deploy transfer
execute transfer
resolve identifier
The Data Provision Subsystem is a computational object that provides functions for publishing, discovering and accessing data. It supports the following interactions:
publish data
discover data
access data
The Data Curation Subsystem is a computational object that provides functions for registering and curating data. It supports the following interactions:
curate data
register data
The User Authentication Subsystem is a computational object that provides functions for verifying the identity of a user. The management of users is outside the scope of this reference model. It supports the following interactions:
authenticate user
The Data Identification Subsystem is a computational object that provides functions for registering and resolving an object's identity and location. It supports the following interactions:
register identifier
resolve identifier