![](bg4.png)
KnowLang employs special knowledge
structures and a reasoning mechanism for modeling
autonomic self-adaptive behavior (Vassev and
Hinchey, 2015a; Vassev and Hinchey, 2015b). Such
a behavior can be expressed via KnowLang policies,
events, actions, situations and relations between
policies and situations (see Definitions 1 through
10). Policies () are at the core of autonomic
behavior. A policy has a goal (), policy situations
(
), policy-situation relations (
), and policy
conditions (
) mapped to policy actions (
)
where the evaluation of
may eventually (with
some degree of probability) imply the evaluation of
actions (denoted
) (see Definition 6). A
condition () is a Boolean expression over an
ontology (see Definition 2), e.g., the occurrence of a
certain event. Policy situations
are situations
(see Definition 7) that may trigger (or imply) a
policy , in compliance with the policy-situations
relations
(denoted by
), thus implying
the evaluation of the policy conditions
(denoted
by
)(see Definition 6). Therefore, the
optional policy-situation relations (
) justify the
relationships between a policy and the associated
situations (see Definition 10).
(
policies
) (1)
(
Boolean expression over ontology
) (2)
() (3)
(
state
) (4)
(
goal
) (5)
(
policy
) (6)
(
situations
) (7)
(
situation
) (8)
(
relations
) (9)
(
relation
) (10)
,
Note that in order to allow for self-adaptive
behavior, relations must be specified to connect
policies with situations over an optional probability
distribution () where a policy might be related to
multiple situations and vice versa. Probability
distribution () is provided to support probabilistic
reasoning and to help the reasoner to choose the
most probable situation-policy "pair". Thus, we may
specify a few relations connecting a specific
situation to different policies to be undertaken when
the system is in that particular situation and the
probability distribution over these relations
(involving the same situation) should help the
reasoner decide which policy to choose (denoted by
) (see Definition 10). Hence, the presence of
probabilistic beliefs () in both mappings and policy
relations justifies the probability of policy execution,
which may vary with time.
Ideally, KnowLang policies are specified to
handle specific situations, which may trigger the
application of policies. A policy exhibits a behavior
via actions generated in the environment or in the
system itself. Specific conditions determine which
specific actions (among the actions associated with
that policy (see Definition 6) shall be executed.
These conditions are often generic and may differ
from the situations triggering the policy. Thus, the
behavior not only depends on the specific situations
a policy is specified to handle, but also depends on
additional conditions. Such conditions might be
organized in a way allowing for synchronization of
different situations on the same policy. When a
policy is applied, it checks what particular
conditions
are met and performs the mapped
actions
(
) (see Definition 6).
An optional probability distribution may
additionally restrict the action execution. Although
specified initially, the probability distribution at both
mapping and relation levels is recomputed after the
execution of any involved action. The re-
computation is based on the consequences of the
action execution, which allows for reinforcement
learning.
States and goals drive the specification of any
system modeled with KnowLang. States are used to
specify goals (see Definition 5) and situations (see
Definition 8), which on other side are used to
specify policies (see Definition 6) often intended to
provide self-adaptive behavior. The following is an
example of a Boolean expression defining a state in
KnowLang.
STATE ArrivedOnTime {
carSafety.eCars.CONCEPT_TREES.Journey.STATES.Arrived
AND
(carSafety.eCars.CONCEPT_TREES.JourneyTime <=
carSafety.eCars.CONCEPT_TREES.Journey.PROPS.journeyTime)}
As shown, the logical expression above needs to
be evaluated as true in order to consider the
ArrivedOnTime state as active.
VEHITS 2018 - 4th International Conference on Vehicle Technology and Intelligent Transport Systems
484