Conformance
Note: This page has not been updated to include both Linux Execution Environment and Virtual Execution Environment details.
See
GEISA is focused on interoperability and security. Where it is possible to maintain interoperability without specifying aspects of the implementation, details are left to the implementer.
GEISA divides conformance into three general areas:
An ideal GEISA implementation would be compliant in all three areas; however, there may be devices or systems that are not. Implementations that are only able to offer compliance in one or two of the areas are still an advancement over proprietary solutions. For example, a utility may obtain substantial benefit from having a unified interoperable edge management system, even if the applications running on the devices are not interoperable. An application vendor may still find it useful to have a common GEISA API available across platforms, even if the execution environments differ, limiting compatibility.
Application & Device Management (ADM) [shown in red above] focuses on allowing utilities to manage GEISA ADM compliant platform implementations (e.g. devices with edge environments) using a standard over-the-network interface. A GEISA ADM compliant edge management system provides two interfaces: one to GEISA ADM compliant platforms and one for external systems which need to interact with edge applications via LWM2M (see Network Communications). Internal implementation details of the edge management system are out of scope for GEISA. External systems are also out of scope for GEISA, but are shown as a matter of completeness.
A GEISA ADM compliant platform implementation will be able to register and communicate with a GEISA ADM compliant edge management system using a standard over-the-air interface. It will be able to start, start, and reset applications, as well as performing other tasks described under Application Management. The exact implementation of the GEISA edge management agent is up to the platform implementer. For platform implementers offering a GEISA compliant Execution Environment, the GEISA ADM compliant platform implementation must also offer a standard interface to the applications it is managing within the platform.
Application Programming Interface (API) [shown in green] focuses on providing application vendors consistent access to utility edge computing platform capabilities and data, such as obtaining metering values, waveform data, or operating actuators like the meter disconnect switch. The API also provides information on the operating environment and allowed access to resources such as the remaining network quota. As described in Application Programming Interfaces (APIs), the GEISA API is message bus based. An open source message bus technology will be used, providing a default implementation. Compliant API implementations must include this message bus. Platform implementers may provide a binary compatible implementation of the message bus if they choose to not use the GEISA selected open source technology. Platform implementers must provide an implementation which exposes the data and capabilities defined in the GEISA specification via the message bus. The GEISA API acts the a abstraction layer between the edge applications and the capabilities provided by the platform implementation. Internal implementation details are out of scope for GEISA.
Execution Environment (EE) [shown in blue] focuses on providing a consistent operating system environment for application vendors. The GEISA execution environment is Linux-based and provides a standard POSIX API. Of course, the GNU/Linux environment is expansive and the target device platforms are limited. With this in mind, GEISA selects a variety of specific components (e.g. Base Libraries and Core Services) which must be included in any GEISA EE compliant implementation. The components are standard open source offerings that platform implementers can simply adopt; however, platform implementers may choose to provide different implementations provided that they are fully binary compatible.
Edge applications may be written to require the GEISA API, the GEISA EE, or both. When platform implementer offer both, edge application should be able to run across different environments requiring at most a re-compile for each specific target platform. When a platform implementation does not offer both, applications must be ported to address the platform-specific API or EE.