FEPCOS-Project
aka @FepcosInfo on X (Twitter.com)
Icon of FEPCOS-Model

FEPCOS-Model

The FEPCOS-Model is the abstract basis for the tools developed as part of the FEPCOS-Project.

In a nutshell

The FEPCOS-Model:

Introduction

Programming languages and programming language extensions that enable the programming of composed, networked systems are being developed as part of the FEPCOS-Project. This includes the specification of a semantic domain based on the FEPCOS-Model.

Description

The FEPCOS-Model is an abstract, domain-specific model for composed, networked systems based on the Composite pattern. A composed, networked system denotes a whole made up of parts, the whole communicating with the parts via a network. Both the parts and the whole are systems that can execute activities within a finite time. The activities that the whole can execute are a possible added value. The figure below shows the details.

FEPCOS-Model

A composed system or basic system is a system. A composed system is a whole that consists of at least one part/system; a basic system has no parts. A system can be part of any number of wholes. A system can execute at least one activity. The activities that a system can execute are its capabilities. An activity can manipulate a system. A system user can cause the execution of an activity and receive the resulting output. To do this, it accesses at least one system via an interface within a network. Any number of system users can access a system. A composed system or an application can be a system user.

Background

„The whole is more than the sum of its parts.“
Aristoteles (384 v. Chr. - 322 v. Chr.)

This principle can be transferred to a composed, networked system. In brief, a composed system is a whole that consists of systems/parts. The activities that the whole can execute are a possible added value.

However, the added value is not free. Compared to the programming of the parts, there is more to consider when programming the whole, as this also includes network communication and cross-system concurrency. This is an additional effort.

FEPCOS-J is intended to reduce this additional effort. FEPCOS-J prototypically implements a Java language extension whose semantic domain is based on the FEPCOS-Model.

Trademark Notice

Java is a registered trademark of Oracle Corporation and/or its affiliates.