ENCLOSURE (1) to COMDTINST 5230.59
DECEMBER 1999
U.S. Coast Guard Common Operating Environment (USCG COE)
2.4. Common Support Applications Layer
Common support applications are an upper level layer of applications software and toolkits
designed to provide specific functionality to an end user or to support the development of an
application or process (e.g. Office Automation services, developer's toolkit, etc.). Support
applications are tailored to user functions that will be performed at a workstation. Support
applications consist of COTS (commercial off-the-shelf) and GOTS (government off-the-shelf)
products.
2.5. Applications Programmer Interfaces (API) Layer
APIs provide software applications access to the Platform Services or to the COE component
services. A programmer invokes specific services in a software application by using API calls.
Standards-based API calls (as specified in the COE) provide a level of application portability and
independence from the underlying Platform Services.
3. CG COE FUNCTIONAL ELEMENTS DEFINED
In COE-based systems, all software and data - except certain portions of the kernel such as the
operating system and basic windowing software - are packaged in self-contained units called
functional elements. Functional elements are the most basic building blocks from which a COE-
based system can be built. Functional elements are defined in terms of the functionality they
provide. A functional element may consist of one or more "modules." They are defined as a
collection of related functions as seen from the perspective of the end user, not the developer. The
reason for defining functional elements in this way is that it is a more natural way of expressing and
communicating what software features are to be included in the system than by individual process,
file name, or data table.
For example, it is more natural to think of a system as containing a Message Processing
Functional element than executable software files called MP_In.exe and/or MP_Out.com. It's
easier for the end user to think of a Word Processor Functional element than a software module that
opens a file, another module that paginates a file, another module that compresses a file, etc.
Those functional elements that are part of the COE are known as COE-component functional
elements, or more precisely, as functional elements that are contained within the COE based on
their functionality. Functional elements that are built on top of the COE to provide capabilities
specific to a particular mission domain are mission-application functional elements and exist in the
Mission Applications Layer. The principles which govern how functional elements are loaded,
removed, or interact with one another are the same for all functional elements, but COE-
component functional elements are treated more strictly because they are the foundation on which
the entire system rests. The following USCG COE model illustrates this modular concept:
4