a constrained device? First, we should emphasize
that a smartphone might not be considered as a con-
strained device of a very restricted class, i.e., c0, c1,
or c2 (Bormann et al., 2014). Likewise, we do not
consider a high-end smartphone as a computation-
ally constrained device neither. Nonetheless, some of
these devices operate with the minimum requirements
and therefore can be considered as computationally
constrained. Moreover, the minimum requirements to
run ‘modern’ versions of mobile operating systems as
Android 4.4 require a minimum of 340MB of RAM
(Google, 2013). Nonetheless, this memory is utilized
for the operating system kernel and user space, and
for that reason, the memory gets consumed with dif-
ferent applications from the user, including memory-
intensive applications as web browsers. As a conse-
quence, this fact leaves fewer resources for checking
the trustworthiness of such applications. Intuitively,
one of the most important aspects which influences
the trustworthiness of a mobile application is its re-
source utilization. We note that different parameters
might be considered for the resource utilization of a
given mobile application. However, we consider the
following 5 parameters.
1. Heap size: The size of the memory occupied by
the application’s dynamic memory allocation.
2. Stack size: The size of the memory occupied by
the application’s execution thread.
3. CPU usage: The load of the application in per-
centage of utilized CPU(s).
4. Disc usage: The space taken by the application
data.
5. Energy Consumption: The amount of energy con-
sumed by the application.
A very important question that needs to be ad-
dressed is how to estimate the trustworthiness of an
application based on the previously established pa-
rameters. Certainly, if the values of all parameters
are rather big, the application is not trustworthy but,
assuming the application has high disc usage or, low
CPU usage and low heap and stack sizes, perhaps it
means that the application performs some caching and
this is considered trustworthy. What if the trustwor-
thiness of an application is only negatively assessed
when high disc usage is combined with high CPU
usage? Certainly, simple trust management models
are not capable to express complex patterns. How-
ever, the human-cognitive concept of trust can be used
through a self-adaptive model, for example through
the use of a complex machine learning model.
Nevertheless, utilizing such complex machine
learning approach inside a computationally con-
strained device seems rather contradicting. In this pa-
per, we attempt to overcome this complexity through
the replacement of software to hardware solutions.
As shown in Algorithm 1 (Kushik and Yevtushenko,
2015), a digital circuit can be ‘trained’ to produce the
desired result. In the current work, we employ this
technique to predict the trustworthiness of the appli-
cations being executed in the computationally con-
strained devices. We note that this technique seems
suitable given the fact that values in the data set are
small due to its nature, i.e., resource utilization in
a computationally constrained device. Nevertheless,
there exist some limitations in utilizing known strate-
gies for logic synthesis for the binary classification
problem. In the next section, we outline these limita-
tions, and provide solutions to them.
4 DIGITAL CIRCUITS AS
SCALABLE MACHINE
LEARNING APPARATUS
The algorithm to synthesize a digital circuit for ‘pre-
diction’ using a data set (Algorithm 1) has one ma-
jor limitation. In fact, the digital circuit implements
a system of Boolean functions F , where |F | is the
number of primary outputs. Moreover, these func-
tions are partially specified, and the number of train-
ing examples is much smaller than the number of pos-
sible inputs (combinations).
One might think of this problem as the model nat-
urally over-fits to the trained data set. At the same
time, over-defining the behavior of partially speci-
fied functions from F for the tested set is performed
via logic synthesis solutions, and thus the prediction
model is as good as such synthesis can make it. To
better outline the problem, and the proposed solution,
we present the following running example. Assume a
data set D, as shown in Figure 2, with two features,
x1 and x2, where the classes are labeled by o ∈ {0, 1},
the blue x represents a positive (1) class, and the pink
circle represents the negative (0) class.
To synthesize a digital circuit from the data set
D using Algorithm 1, a data transformation is neces-
sary, to only include positive values. To do so, a sim-
ple normalization can be used in this case, by shift-
ing the origin to the minimum point in the feature
space. For example, the point (0,−2) becomes (2,0)
as the minimum point in the feature space is x1 = −2,
and x2 = −2. The circuit C obtained from the data
set D (depicted in Fig. 2) is depicted in Figure 3 (as
an and-inverter graph), where 2-input and gates are
represented by circles, NOT gate is represented by a
dashed line in the connector of the gate to invert, the
Scalable Supervised Machine Learning Apparatus for Computationally Constrained Devices
521