KasperskyOS Community Edition

EDL description

May 21, 2024

ID ice_edl

EDL descriptions are placed into separate *.edl files and contain declarations in the Entity Definition Language (EDL):

  1. Process class name. The following declaration is used:

    entity <process class name>

  2. [Optional] List of instances of components. The following declaration is used:

    components {

    <component instance name : component name>

    [...]

    }

    Each component instance is indicated in a separate line. The component instance name must not contain any underscores _. The list can contain multiple instances of one component. Each component instance in the list has a unique name.

  3. [Optional] Security interface. The following declaration is used:

    security <interface name>

  4. [Optional] List of endpoints. The following declaration is used:

    endpoints {

    <endpoint name : interface name>

    [...]

    }

    Each endpoint is indicated in a separate line. The endpoint name must not contain any underscores _. The list can contain multiple endpoints with the same interface. Each endpoint in the list has a unique name.

The EDL language is case sensitive.

Single-line comments and multi-line comments can be used in an EDL description.

A security interface and provided endpoints can be defined in an EDL description and in a CDL description. If solution component development is utilizing already prepared constituent parts (such as libraries) that are accompanied by CDL descriptions, it is advisable to refer to them from the EDL description by using the components declaration. Otherwise, you can describe all provided endpoints in the EDL description. In addition, you can separately define the security interface in the EDL description and in each CDL description.

Examples of EDL files

Hello.edl

// Class of processes that do not contain components.

entity Hello

Signald.edl

/* Class of processes that contain

* one instance of one component. */

entity kl.Signald

components {

signals : kl.Signals

}

LIGHTCRAFT.edl

/* Class of processes that contain

* two instances of different components. */

entity kl.drivers.LIGHTCRAFT

components {

KUSB : kl.drivers.KUSB

KIDF : kl.drivers.KIDF

}

Downloader.edl

/* Class of processes that do not contain

* components and provide one endpoint. */

entity updater.Downloader

endpoints {

download : updater.Download

}

Did you find this article helpful?
What can we do better?
Thank you for your feedback! You're helping us improve.
Thank you for your feedback! You're helping us improve.