Information System

From Gcube Wiki
Revision as of 09:30, 7 November 2017 by Luca.frosini (Talk | contribs) (Non-Functional Requirements)

Jump to: navigation, search

The gCube Information System (IS) has been designed to support Research Infrastructure federation.

Definition

Several definitions of Information System (henceforth IS) exist. Each definition aims to capture either a specific role or a specific behavior in systems managing some kind of information.

It is quite common to define an IS as "any organized system for the collection, organization, storage and communication of information".

The Encyclopaedia Britannica defines an IS as "an integrated set of components for collecting, storing, and processing data and for providing information, knowledge, and digital products".

All the definitions convey on the characteristics of Information. Information consists of data that:

  • is accurate and timely,
  • is specific and organized for a purpose,
  • is presented within a context that gives it meaning and relevance,
  • can increase understanding and decrease uncertainty

According to the Business Dictionary, an IS is "a combination of hardware, software, infrastructure and trained personnel organized to facilitate planning, control, coordination, and decision making in an organization" In this context, trained personnel consists of

  • human resources
  • procedures for using, operating, and maintaining the information system
  • set of basic principles and associated guidelines, a.k.a policies, formulated and enforced to direct and limit actions in pursuit of long-term goals.

Looking at the MIT Press, an IS is "a software system to capture, transmit, store, retrieve, and manipulate data produced by software systems to provide access to information, thereby supporting people, organizations, or other software systems". This definition makes evident that software systems become producer and consumer of the Information System making it at the core of their business activities.

In the context of the research infrastructures [1] and the system of systems, we can define an information system (IS) as:

A software system

  • to capture, transmit, store, retrieve, and manipulate data produced by software systems
  • to provide access to information, organized for a purpose and within a contextual domain
    • used, accessed, and maintained according to well-known procedures operated under the limit of the (evolving) organization policies
  • to support people within an organization and other software systems

Requirements

The Analysis of the requirements of an IS capable of providing support for a Federated Research Infrastructure bring to define the functionality the system has to provide (functional requirements) and the constraint and performances it has to respect (non-functional requirements).

Functional Requirements

Functional Requirements have been defined as "A requirement that specifies a function that a system or system component must be able to perform"[2]

From functional point of view we identified the following requirements:

  • Data Definition Language (DDL) for schemas definition (entities and relations);
  • Entity and Relation instances must be:
    • Univocally identifiable;
    • Selective/Partial updatable;
    • Validated against the Schema.
  • Referential Integrity;
  • Dynamic Query (no pre-define query);
  • Standard Abstraction (desiderata);
  • Subscription Notification Support.

Non-Functional Requirements

Wikipedia defines Non-Fuctional Requirements as "requirements that specify criteria that can be used to judge the operation of a system, rather than specific behaviors"[3]. Unfortunately, there is no consensus in the scientific community for a non-functional requirements definition. To fill this gap Martin Glinz has defined a taxonomy to identify a non-functional requirement [4]

  • An attribute is a performance requirement or a specific quality requirement.
    • A performance requirement is a requirement that pertains to a performance concern.
    • A specific quality requirement is a requirement that pertains to a quality concern other than the quality of meeting the functional requirements.
  • A constraint is a requirement that constrains the solution space beyond what is necessary for meeting the given functional, performance, and specific quality requirements.

Under this taxonomy fall:

  • High Availability (HA);
  • Eventual Consistency;
  • Horizontal Scalability;
  • Multi-Tenancy, i.e. a single instance of the technology should be able to serve many “independent” contexts (between the same Application Domain) [5];
  • EUPL licence compatibility of all its components.

Architecture

Information-system-architecture.png

The constituent components are:

Notes

  1. The term ‘research infrastructures’ refers to facilities, resources and related services used by the scientific community to conduct top-level research in their respective fields, ranging from social sciences to astronomy, genomics to nanotechnologies https://ec.europa.eu/research/infrastructures/index_en.cfm?pg=about
  2. IEEE (1990). Standard Glossary of Software Engineer ing Terminology. IEEE Standard 610.12-1990.
  3. https://en.wikipedia.org/wiki/Non-functional_requirement
  4. M. Glinz. On non-functional requirements. In Proc. 15th IEEE Int. Requirements Eng. Conf., 2007.
  5. Please note that different Application domain must be managed by completely separated instances of the whole IS.