Open Architecture

Huseyin Kutluca
Software Architecture Foundations
9 min readDec 8, 2020

Open Architecture can be defined as a computer or software architecture that has been developed using open standards and makes it easier to add, change and replace new components. Openness refers to the use of standards that are published and freely available on hardware and software interfaces. The open standard allows development by other companies using the same standard.

In large-scale complex projects, it is critical in terms of time and cost to develop a new product, test it and see that it works correctly in the field. Pioneering studies on open architecture were created to reduce the costs of defense industry systems and to enable the solutions of different companies to be used in expensive and critical projects. Open architectures also support the agile approach. It also allows complex systems, which were produced once before and worked with the same configuration for years, to renew capabilities more frequently.

Today, approaches such as Industrial Internet of Things, IOT, IIOT smart cities require open architecture designs at a higher level in order to ensure interoperability. In this area, sometimes an integrated standard including reference architecture stands out, sometimes common data distribution standards are created to ensure interoperability. One of the prominent requirements in this area is the implementation of the Distributed Intelligence philosophy instead of taking all critical decisions from the center. From a technical point of view, the distributed mind approach provides an alternative to processing the data generated by end IOT devices directly in the cloud or on a central server. In this approach, Edge Computing is possible with servers placed close to end systems. Edge computing is seen as one of the most promising technological fields of today.

The prominent Open Architecture standards are given below (Reference architectures for these standards are distributed throughout the presentation.):

  • Future Avinonics Capability Environment (FACE): Avionic Systems
  • Open Field Message Bus (OPEN FMB): Solar, Wind etc. Energy Systems
  • AUTomotive Open System ARchitecture (AUTOSAR): Automotive Software
  • Nato Generic Vehicle Architecture (NGVA): Military vehicles
  • Open Architecture Computing Environment (OACE): Ship Command Control Systems
  • Open Banking API: Banking systems

What are the Open Architecture Features:

General characteristics of Open Systems are listed below:

  • Use of open and commonly accepted standards
  • Adoption of interface protocols and data standards
  • Determination of standard services
  • Use of products provided by more than one manufacturer
  • Interoperability with minimal effort
  • Easily scalable and upgradeable systems
  • Cross-platform portable applications
  • Portable users (users can easily adapt to different systems for the same purpose)

Open Architecture and Open Source do not mean the same thing. Open source software means that their source code is open. On the other hand, open architecture is the development and integration of different companies into the same product. For example, the fact that we can easily integrate different hardware elements with interfaces such as PCI bus, PCI Express, VME into the computers we use today means that they provide the necessary conditions for open architecture. In this way, it is aimed to add a new capability to an existing software by third party developers or companies, thus preventing company dependency. It is aimed that the electrical and protocol level standard interfaces provided in the hardware are also in software products.

OACE-Ship Command Control Systems

Open Architectures as Reference Architecture

Open Architectures are also reference architectures for the relevant field. It generally includes application services based on layered architecture but independent from each other. In the reference architecture, the services in almost every system in that area are determined and the interfaces of these services are defined. These reference architectures are important gains in software architectures. They are mature architectures that use the best practices of the industry, created with the perspective of different companies and software architects. Even if we do not work directly in the same sector, these architectures are structures that we will examine and obtain important information.
As an example, let’s examine the Future Avinonics Capability Environment (FACE) architecture, which is the open architectural standard of avionic systems such as aircraft and helicopters. As can be seen in the figure, Input / Output Services (IO Services Segment) are defined in order to provide data to applications over a common interface for hardware produced by different manufacturers. Graphic Services, Health and Configuration, which are thought to take place in almost every flying system, are named as platform specific service. Communication as a common interface on midilware such as DDS, CORBA in the communication layer Service is defined. All applications at the top level application software communicate over this communication layer. As can be seen, fusion, which produces a common union from the management of the aircraft’s position, fuel management and radar information, is envisaged as a common service.

FACE-Avionic Systems

The developed Open architecture systems prioritize the following quality attributes in their designs:

  • Adaptability (Applicability to the requirements of different platforms)
  • Modularity (Detachable from the system, or add-on)
  • Portability (Transferable from one system to another)
  • Scalability (Scale to be larger or smaller according to need)
  • Interoperability (effective data sharing with other systems

Of course, beyond these, the main concern is to reduce the costs of the systems.

Common Data Model and Protocols

One of the important features of open system architecture is the common data model and protocol. This common protocol and data model enables different hardware and software services to work together. The common data model and protocol enable the components developed by the companies to exchange data with each other using different technologies.

Open FMB-Energy

The common data model is created with meticulous work by experts from the industry and users. The common data model is defined independently of the programming language and technology. Here it is defined with XMI or Interface Definition Language (IDL) with the Platform Independent Modeling approach. Below is such a model defined by the OPEN FMB standard for the solar panel to transmit its energy state to other components. Solar panels developed or integrated by different companies broadcast data to the system in the same way and receive data in the same way regardless of which company’s device it comes from the components that read.
It is standard in protocols with the common data model. Standards generally recommend broadcast subscribe based technologies as communication protocols. Because these middlewre make it easy to add, remove and integrate new components into the system. The NGVA standard recommends the DDS interlayer as a standard. On the other hand, OPEN recommends using one of the FMB DDS, MQTT or AMQP middleware. Similarly, the OACE standard recommends DDS or CORBA. FACE, on the other hand, puts a Transport Service layer on these protocols, although more than one protocol can be used, including DDS.
Since this common data model is managed by a common organization or government, changes are made in a controlled manner. Avionics system architecture FACE and Military Vehicle Standard NGVA are the standards that most effectively manage such a data model.

NGVA-Military Vehicles

Open Standards:

Prominent organizations for open standards are given below:
Object Management Group (OMG): It sets standards in different areas, including modeling standards such as UML, SYSML, middleware standards such as DDS, CORBA, Alarm Management Service named ALMAS, radar ‘nterface standard called Open Architecture Radar Interface Standard (OARIS) .
Institute for Electronics and Electrical Engineers (IEEE): It publishes hundreds of standards, mainly POSIX operating system services, 802.X wired and wireless network standards.
Organization for the Advancement of Structured Information Standards(OASIS): Web Services publishes standards.
Open Group: It publishes standards such as the Future Avinonics Capability Environment (FACE) standard.

Apart from these standard organizations, different sectors’ own standard organizations are established with the participation of companies serving in the sector and set sectoral standards.
Open Architectures, operating system (POSIX), database (ODBC, JDBC), video / image sharing (Mpeg4, Jpeg 2000, RTSP), middleware (DDS, CORBA, MQTT, AMQP) are also envisaged as a standard.

Advantages of Open Architecture

This Open Architecture approach, which emphasizes re-use in large-scale systems such as defense systems, automotive, energy, and enables more than one company to develop components for the same product, has been adopted.
Open systems enable different manufacturers to compete. Thus, it is ensured that they offer the best solutions in terms of design, technology and price. Large firms are prevented from dominating the market by using their power. It functions as a risk reducer in terms of large projects, as critical components will be produced and developed by more than one company.
The architectures established are created by teamwork and implement the best practices of the industry. These architectures reduce the complexity of systems by suggesting a low dependency and highly compatible component architecture.

FACE-Avionic Systems
The developed Open architecture systems prioritize the following quality attributes in their designs:
Adjustability (Applicability to the requirements of different platforms)
Modularity (Detachable from the system, or add-on)
Portability (Transferable from one system to another)
Scalability (Scale to be larger or smaller according to need)
Interoperability (effective data sharing with other systems)
Of course, beyond these, the main concern is to reduce the costs of the systems.
Common Data Model and Protocols
One of the important features of open system architecture is the common data model and protocol. This common protocol and data model enables different hardware and software services to work together. The common data model and protocol enable the components developed by the companies to exchange data with each other using different technologies.
Image for post
Open FMB-Energy
The common data model is created with meticulous work by experts from the industry and users. The common data model is defined independently of the programming language and technology. Here it is defined with XMI or Interface Definition Language (IDL) with the Field Independent Modeling approach. Below is such a model defined by the OPEN FMB standard for the solar panel to transmit its energy state to other components. Solar panels developed or integrated by different companies broadcast data to the system in the same way and receive data in the same way regardless of which company’s device it comes from the components that read.
It is standard in protocols with the common data model. Standards generally recommend broadcast subscribe based technologies as communication protocols. Because these intermediate layers make it easy to add, remove and integrate new components into the system. The NGVA standard recommends the DDS interlayer as a standard. On the other hand, OPEN recommends using one of the FMB DDS, MQTT or AMQP middleware. Similarly, the OACE standard recommends DDS or CORBA. FACE, on the other hand, puts a Transport Service layer on these protocols, although more than one protocol can be used, including DDS.
Since this common data model is managed by a common organization or government, changes are made in a controlled manner. Avionics system architecture FACE and Military Vehicle Standard NGVA are the standards that most effectively manage such a data model.
Image for post
NGVA-Military Vehicles
Open Standards:
Prominent organizations for open standards are given below:
Object Management Group (OMG): It sets standards in different areas, including modeling standards such as UML, SYSML, middleware standards such as DDS, CORBA, Alarm Management Service named ALMAS, radar called Open Architecture Radar Interface Standard (OARIS), sensor interface standard such as EO. .
Institute for Electronics and Electrical Engineers (IEEE): It publishes hundreds of standards, mainly POSIX operating system services, 802.X wired and wireless network standards.
Organization for the Advancement of Structured Information Standards (OASIS): Web Services publishes standards.
Open Group: It publishes standards such as the Future Avinonics Capability Environment (FACE) standard.
Apart from these standard organizations, different sectors’ own standard organizations are established with the participation of companies serving in the sector and set sectoral standards.
Open Architectures, operating system (POSIX), database (ODBC, JDBC), video / image sharing (Mpeg4, Jpeg 2000, RTSP), middleware (DDS, CORBA, MQTT, AMQP) are also envisaged as a standard.
Advantages of Open Architecture
This Open Architecture approach, which emphasizes re-use in large-scale systems such as defense systems, automotive, energy, and enables more than one company to develop components for the same product, has been adopted.
Open systems enable different manufacturers to compete. Thus, it is ensured that they offer the best solutions in terms of design, technology and price. Large firms are prevented from dominating the market by using their power. It functions as a risk reducer in terms of large projects, as critical components will be produced and developed by more than one company.
The architectures established are created by teamwork and implement the best practices of the industry. These architectures reduce the complexity of systems by suggesting a low dependency and highly compatible component architecture.

--

--

Huseyin Kutluca
Software Architecture Foundations

Highly motivated Software Architect with hands-on experience in design and development of mission critical distributed systems.