  With the advent of modern embedded systems, logging as a process is becoming
more and more prevalent for diagnostic and analytic services. Traditionally,
storage and managing of the logged data are generally kept as a part of one
entity together with the main logic components. In systems that implement
network connections, this activity is usually handled over a remote device.
However, enabling remote connection is still considered a limiting factor for
many embedded devices due to the demanding production cost. A significant
challenge is presented to vendors who need to decide how the data will be
extracted and handled for an embedded platform during the design concept phase.
It is generally desirable that logging memory modules are able to be addressed
as separate units. These devices need to be appropriately secured and
verifiable on a different system since data compromise can lead to enormous
privacy and even financial losses. In this paper, we present two patterns.
First, a pattern that allows flexible logging operation design in terms of
module and interface responsibility separation. Second, a pattern for the
design of secure logging processes during the utilization of constrained
embedded devices. The introduced patterns fulfil the following conditions: (i)
flexibility, design is independent of the chip vendors making the logging
memory modules easily replaceable, (ii) self-sufficiency, every logging
controller is maintained as a separate entity in a decentralized topology,
(iii) security, through providing authenticity, confidentiality, and integrity
by means of using a dedicated security module.
