For a better experience (videos, images, download documentation, etc) it is highly recommended that you register (or log in if you already have an account) yourself by clicking the button "Sign in/Register" from the top-right corner


Check vf-OS article on CORDIS

What is vf-OS?

European SMEs' needs around Manufacturing ICT solutions are far from being satisfied in an affordable way in terms of cost and time. The goal of vf-OS Project is to develop such an Open Operating System for Virtual Factories, composed of a Virtual Factory System Kernel, a Virtual Factory Application Programming Interface, and Virtual Factory Middleware. An Open Applications Development Kit (OAK) has been provided to software developers for deploying Smart Manufacturing Applications (vApps) for industrial users, using the vf-OS Manufacturing Applications Store (vf-Store) to purchase vApps and modules and its Virtual Factory Platform to execute these. vf-OS Platform provides a range of services to the connected factory of the future to integrate better manufacturing and logistics processes. The vf-Store is open to software developers who, using the free OAK provided, are able to quickly develop and deploy smart applications to enable and optimise communication and collaboration among supply networks of all manufacturing sectors in all the stages manufacturing and logistic processes: demand forecast, planning, supply, manufacturing, distribution, storage, and replacement / recycling.

vf-OS aims to become a reference system software for managing factory related computer hardware and software resources and providing common services for factory computational programs. This operating system is the component of the system software in a physical factory system where all factory application programs will run. This includes full management through virtualisation of the whole factory and related supply networks, including time-sharing schedule tasks for efficient use of the system. The Service Providers, as managers of the vf-OS Platform and the vf-Store, guarantee the quality of the vApps and define a clear revenue business model for the complementors.

vf-OS provides the developer with information and documentation of the components and assets currently existing in the vf-OS ecosystem. This includes general information about the component itself and further documentation to support developers during the vApp and other vf-OS Assets development.

vf-OS has provided a working prototype to help software developers when producing vApps to solve the needs of manufacturing industry users. The working prototype of vf-OS Environment, as multi-sided market, is capable of allowing:

  • Software Developers to:
    • Develop Smart Manufacturing Applications (vApps) by using the design-time components made available
    • Interact with other developers, and creating a community, to solve issues, problems, and exchange of ideas.
  • Manufacturing Users to:
    • Host local installations of the vf-OS environment for executing vApps in their IT premises
    • Demand or request new vApps to the software developers’ community, through the vf-Store, so their needs are solved by IT professionals.
  • ICT and Manufacturing Providers to:
    • Develop their own ICT interfaces and manufacturing connections to access their products (Device Drivers) and/or services (API connectors).
  • Service Providers to:
    • Provide 3rd party services, such as hosting, storage, connected cloud services, etc., including those based on developed solutions.

Installation instructions

vf-OS intends to be the reference system/platform for providing common services for manufacturing industry.
Like a regular OS, vf-OS has core functionalities but is focused on a manufacturing environment.
This document describes the way that the vf-OS Environment should be deployed within a manufacturing company for exploiting
vf-OS in a full fledge.

The instructions can be found following the link

How is vf-OS organised?

vf-OS is composed of 4 major modules covering the main functionalities of vf-OS: host, design, execute and use. See figures below.

vf-OS Architecture vf-OS Approach
vf-OS_Architecture vf-OS_Approach


The Environment is a ‘container’ and most outer module that contains the execution of all the features and functionalities, ie other vf-OS components and/or vf-OS Assets/vApps.

The components included in this module are:

  • vf-Platform environment: The vf-OS Platform is the most outer component of vf-OS. Its purpose is to integrate the services for application development, middleware and deployment. A vApp Hello World Demo can be seen here

Application Development (vf-OAK Toolkit)

The Application Development comprises the different vf-OS components that are used for the development of vf-OS Manufacturing Assets/vApps. The vf-OS OAK Toolkit is a composition of tools for developers in the context of vf-OS. The contained tools provide means to develop vf-OS Assets, such as vApps, Enablers, etc.

The components included in this module are:

  • vf-OAK SDK: The SDK is the kernel and heart of the vf-OS Framework, putting all needed vf-OS resources at the tip of the developers’ fingers.
  • vf-OAK Studio: The vf-OAK Studio is the vf-OS IDE and provides necessary tools and means to develop, publish and deploy applications.
  • vf-OAK Frontend: Frontend Environment provides a framework which facilitates the composition of Application frontends.
  • Process Designer: The vf-OS Process Designer is a front-end application that lets you design vApps by connecting the different Assets provided by vf-OS.
  • Data Mapping: Data Mapping allows designing Manufacturing Maps to support Data Integration activities between different document schemas. These maps can then be published on vf-OS Marketplace.

Application Services & Middleware

The Application Services & Middleware includes the vf-OS components that will be used by the Assets/vApps when they are executing or when they are trying to execute some of the vf-OS resources. This category includes the vf-OS components that will be used by the Assets/vApps when they are executing or when they are trying to execute any of the vf-OS resources. It is possible to distinguish four different modules depending on their functionality: Middleware, Data Management, I/O Toolkit, and Control modules.

The components included in this module are:

  • Middleware: Software for data exchange between vf-OS components and assets in heterogeneous networks.
    • Process Enabler provides backend support to the Process Designer, translates process models into source code and acts as a bridge for the process engine.
    • Messaging component is used by the vf-OS components to exchange direct messages with each component.
    • Publish / Subscribe (Pub/Sub) component is used to broadcast messages for the vf-OS components.
  • Data Management: Software and storage to pre-process, store, and post-process data coming from and to the vf-OS environment.
    • Data Storage allows other vf-OS components and assets to persist information efficiently. It offers different subcomponents oriented to an optimal storage of different types of information.
    • Data Analytics allows developing and deploying models for solving analytics manufacturing problems and needs
  • I/O Toolkit: Integration of various external resources into the vf-OS environment.
    • Enablers Framework (EF) component is used by the vf-OS components to facilitate the usage of FIWARE, manufacturing, and vf-OS enablers.
    • Device Drivers provide a collection of reference implementations to collect data from, and send commands to physical devices such as industrial automation devices.
    • API Connectors allow to leverage and incorporate functionalities in and from other applications (ERPs, CRM, etc.) as needed.
    • External Service Provision (ESP) provides a standard approach to access external services, in the form of documentation, standards, and access libraries to the external APIs. Through this framework applications are facilitated in their usage of external services.
  • Control: Security and control instance of running processes in the vf-OS environment.

Application Deployment

Finally, the Application Deployment is composed of vf-OS components that will be taken into consideration when the vf-OS environment is going to be in use. This category is composed of vf-OS components that will be taken into consideration when the vf-OS environment is going to be in use.

The components included in this module are:

  • Marketplace Services: vf-Store enables online transactions between enterprises and the desired consumers of products and services.
  • vf-OS Assets: vf-OS assets are all possible entities that are smuggled through the vf-OS ecosystem. This includes vApps, any kind of enabler and also external services. These Assets include the Enablers which, in scope of vf-OS, are composed of three types: FIWARE Generic Enablers, Manufacturing Enablers, and vf-OS Enablers which are mainly classified based on their origin.
    • Generic Enablers: The FIWARE Generic Enablers “component” is composed of various generic enablers that have been developed in the FIWARE project. These enablers provide functionalities in different domains such as IoT, data, context management, middleware, etc.
    • Manufacturing Enablers: Manufacturing Enablers form the basis for developing applications by integrating existing manufacturing specific enablers serving different functional requirements.
    • vf-OS Enablers: The vf-OS Enablers cover the specific needs of the project both in terms of requirements and pilots’ needs. These enablers are characterised by specific developments oriented to different types of use, either to be integrated in other enablers and thus to fulfil the pilots and project needs as a whole.

Interesting links

(Some) Tutorials

Software Deliverables

Finally, this page contains the SW deliverables snapshots submitted during the vf-OS project life. It is necessary to take into consideration that these snapshots might be deprecated by the different components' repositories. So, for the deployment of any component in a local environment, please go to the corresponding component repository.

These SW deliverables are available following this link