<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Software Architecture for Distributed Edge Computing Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Urjaswala Vora</string-name>
          <email>urja.vora@psu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Edge Computing</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Distributed Systems</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Precepts</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Pennsylvania State University</institution>
          ,
          <addr-line>University Park</addr-line>
          ,
          <institution>State College</institution>
          ,
          <addr-line>PA-16802</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The world is progressing towards the hyper-connected era where every object in our physical world will possess built-in computing and connectivity. As the number of these smart devices grows, these Systems of Systems will transition from integrated domain-specific solutions to horizontal platforms where all systems will be designed for knowledge-based automation, driving the decentralization of computing, communications and business processes. The recent unpredictability in various business process scenarios has high-lighted the need for collaboration and the advantages of participating. Edge computing facilitates segregation of computing responsibilities between edge devices and cloud infrastructure to process and analyze data. Researchers are working on reconfigurable edge computing systems based on varied technology solutions. We propose a software architectural framework to facilitate sustainability and evolvability in such ecosystems.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        IoT envisions that most physical devices will be connected to communicate with data centers to
exchange information. This introduces the next massive jump in scale of data production. The
conventional centralized cloud computing is struggling to satisfy the QoS for many applications due to
the rapid increase in the number of mobile devices. With 5G network technology on the horizon edge
computing will become the key solution to solving this issue [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        Edges of a network put strict requirements on packaging, delivering and deploying code on devices
that are often costly and positioned at hard-to-reach remote locations. Code pushed to the edge thus
needs to be self-contained, that is, each build must be complete within itself. Any change to the code
requires a complete package deployment where the package includes code, configurations, required
libraries and software-de-fined environments, ensuring the container or VM can run anywhere without
any ex-ternal dependencies [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Latency has been always a key issue for edge applications, and hence
it is important to keep as much functionality at the edge as possible. This tends to impact the application
design as well as change management process significantly.
      </p>
      <p>
        Real-time edge processing as well as server applications in the cloud are looking up to the possible
acceleration by FPGA. Systems that need to change behavior at runtime and yet to be high-performing
are the major candidates for such a software architecture. Thus, the significance of hardware
reconfiguration and software rewriting is increasing. In this context, each of the technologies
progressing individually along with the advancements in codesign have been proposed [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Another domain aiming to prioritize quality parameters such as robustness, adaptability,
selforganization, flexibility, scalability and decentralization is Swarm Intelligence (SI) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Zedadra et al.
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] propose SI-based framework of for complex system of systems of smart cities with edge-devices
as swarm of entities. Swarm intelligence is the collective behavior of decentralized and self-organized
systems / agents that work in continuous coordination.
      </p>
      <p>2020 Copyright for this paper by its authors.</p>
      <p>In this paper, we aim to define an architectural framework for reconfigurable edge-computing based
systems. We present a software design paradigm that facilitates re-configurability in edge-computing
more effectively using technology advancements in FPGA and Swarm intelligence. Section 2 here
discusses the related work done presenting the study of existing design methods used in edge computing
softwares. Section 3 presents the precept as a design paradigm for accelerating reconfigurability in edge
computing further. Section 4 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Reconfigurable computing intends to fill the gap between hardware and software, achieving
potentially much higher performance than software, while maintaining a higher level of flexibility than
hardware [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. FPGAs and reconfigurable computing have shown to accelerate a variety of applications
such as data encryption, which is able to leverage both parallelism and fine-grained data manipulation
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Ohkawa et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] propose a method of system development which includes FPGA reconfiguration
based on a context, which is defined in Context-Oriented Programming (COP). The crosscutting
concern problem at runtime is claimed to be resolved. FPGA reconfiguration with software is then
managed easily, though the time for switching context is majorly used for the reconfiguration of FPGA.
The COP framework then manages re-programming timing and consistency with surrounding software
systems.
      </p>
      <p>
        Adário and Bampi[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] particularly discuss the pressing needs of powerful software tools to support
the mapping of high-level language specifications into a runtime environment that automatically
partitions the reconfigurable modules of the hardware [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Zhao, Xiao and Liu [13] present edge
computing as a computing model between an edge-device and cloud computing centres and it enabling
a wide deployment for IoT.
      </p>
      <p>Zhao et al. propose a real-time reconfigurable edge computing system divided into cloud-based
configuration information management module, high-performance embedded module based on FPGA
and combinable function module based on multi-processor core. They do acknowledge that the research
on the multi-level scheduling algorithm of cloud-edge collaboration is an open research problem [13].</p>
      <p>
        Artificial Swarm Intelligence (ASI) facilitates decision-making by converging in unison on solutions
that combine the participating agents' diverse knowledge, wisdom, insights, and opinions in real-time
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. ASI combined with edge computing applications will provide the ultimate solution to the real-time
analysis and processing of the data captured by the edge devices without any external dependency on
the server-based or cloud-based infrastructure. Reconfigurability supported by FPGA will ensure the
effective modification of configuration of the edge devices enhancing the QoS.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Precept Orientation for Reconfigurable Edge Computing</title>
      <p>
        Shi et al.[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] propose the concept of computing stream to facilitate programmability in edge
computing model. That is defined as a serial of functions / computing applied on the data along the data
propagation path. The functions / computing could be entire or partial functionalities of an application,
and the computing can occur anywhere on the path as long as the application defines where the
computing should be conducted. We wish to position the design paradigm of precept in concurrence
with the computing stream proposed for edge computing model and the concept of context-oriented
programming based on which the dynamic reconfiguration of FPGA will result in reconfigurable edge
computing architecture.
3.1.
      </p>
    </sec>
    <sec id="sec-4">
      <title>Precept</title>
      <p>
        Precept is a declaratively programmed component that controls, and coordinates actions required to
achieve a business goal of an activity. Precept implements the control structure of the activities using a
rule set. The resulting architecture reduces control complexity and control coupling and hence is more
modular and evolvable [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In a precept-oriented system, the activity is translated into a precept that
comprises a set of declarative control flow rules. The rules control the execution of the modules. A
precept’s execution cycle depends on the state change of its data parameters.
      </p>
      <p>0..*
0..*
&lt;&lt;boundary/view&gt;&gt;</p>
      <p>0..*
&lt;&lt;entity/model&gt;&gt;
1..*
invokes
methods
0..*
0..*
0..*
invokes
another
precept
invokes
0..*</p>
      <p>
        The precept orientated design is presented in Figure 1. The precept model is a critical element in the
design of precept oriented system. A precept is defined by a 4-tuple as, Precept = ({input parameters},
{output parameters}, {internal parameters}, {rules}). A rule in precept oriented system belongs to a
single precept. We define the rule by a 2-tuple as: rule = (pre-condition, action). Pre-condition defines
the required state of the working memory for the selection of the rule. The working memory includes
the input, output and internal parameters of the precept. The action of a rule contains the module(s)
invocations. Precept oriented systems have an advantage that the rules as well as the data required of
the rule selection and execution have a well-defined scope of the activity [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. It makes a precept
oriented system more maintainable than a rule-based system.
3.2.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Precept-Oriented Design and Reconfigurable Architecture</title>
      <p>
        FPGA is intrinsically a reconfigurable device which can be programmed as an arbitrary user circuit.
The slow speed of reconfiguration is problematic at runtime reconfiguration. Partial reconfiguration
partly solves this problem by reducing the size of bitstream. However, the time order of reconfiguration
is much longer than the method switching of software [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Precept-oriented design is conceptualized to address the evolvability part of any system, especially
for the ones having high control-flow complexity. We have illustrated with support of a number of case
studies that control components in any system if are modelled similar to other imperative components,
tend to become highly coupled and complex. Any changes to be made to such a system get propagated
farther than anticipated when evolution impacts them. It was observed that control components, though
approximately 1/4th in number of total components, bear more than 3/4th of the application’s
complexity making them high risk centres in the evolution of a software system [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. A software
architecture for ASI-based system requires the swarms of agents or edge computing applications to be
collectively self-learning and self-modifying and work in collaboration to result in an intelligent system
at the edges without any dependency on centralized components.
      </p>
      <p>
        Precept oriented systems have control-flow modularised and externalised as rules for each activity
leading to provide the reconfigurability desired by ASI-based edge computing and FPGA-based
architecture. The computing stream proposed by Shi et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is software defined computing flow such
that data can be processed in distributed and efficient fashion on data generating devices, edge nodes,
and the cloud environment. The computing stream intends to help the user in determining the functions
that need to be executed at edge and the data propagation thereafter.
      </p>
      <p>
        When we try to provide for the reconfigurability in edge computing model with the help of
technologies like ASI and FPGA, we need a design paradigm that will be able to determine high-risk
centres or highly coupled components such as the control com-ponents of a software and segregate
them and/or deal with them differently. This segregation can facilitate the resolution to deal with these
components differently in time of reconfiguration of the software system. When this crosscutting
concern of control-flow complexity within a software system is modularised declaratively it
complements the philosophy of COP [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Precept-oriented design can be a strong solution for the
reconfigurability in edge computing model with its challenges such as the ones listed by Shi et al.[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
programmability, naming, data abstraction, service management, privacy and security, as well as
optimization metrics.
      </p>
    </sec>
    <sec id="sec-6">
      <title>4. Conclusion</title>
      <p>
        The IoT paradigm raises a number of new challenges in the software engineering domain. To
accomplish smart connectivity and context-aware computation, the Internet of Things demands
software architectures and pervasive communication networks to process and convey the contextual
information to where it is relevant [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Edge computing enables technologies allowing computation to
be performed at the edge of the network, on downstream data on behalf of cloud services and upstream
data on behalf of IoT services [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We have presented that IoT-based systems designed using
preceptbased architecture provide that balance of the controlled environment even though crowdsourcing is
used for system’s development and sustenance [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. We extend the software architecture for
reconfigurable edge computing model based on precepts and ASI which does concur with the
resolutions offered for crosscutting concerns such as application of COP. Precept oriented design does
aim to overcome challenges faced by cyber-physical systems that have explicit requirements of
reconfigurable edge computing.
5. References
[13] C. Zhao, C. Xiao and Y. Liu: A Real-time Reconfigurable Edge computing System in Industrial Internet
of Things Based on FPGA. In Proceedings of 2021 IEEE 16th Conference on Industrial Electronics and
Applications (ICIEA), 2021, pp. 480-485.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] State of the Edge 2021: A Market and Ecosystem Report for Edge Computing</article-title>
          .
          <source>The Linux Foundation</source>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Adário</surname>
          </string-name>
          , and
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>Bampi: Reconfigurable Computing: Viable Applications and Trends</article-title>
          .
          <source>In Proceedings of the IFIP TC10/WG10.5 Tenth International Conference on Very Large Scale Integration: Systems on a Chip (VLSI'99)</source>
          ,
          <year>1999</year>
          , pp.
          <fpage>583</fpage>
          -
          <lpage>594</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>Batista</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Joolia</surname>
          </string-name>
          and
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Coulson: Managing Dynamic Reconfiguration in Component-Based Systems"</article-title>
          .
          <source>In the Proceedings of the 2nd European conference on Software Architecture (EWSA'05)</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Chamoso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>De la Prieta</surname>
          </string-name>
          , F. De Paz and
          <string-name>
            <given-names>J.</given-names>
            <surname>Corchado</surname>
          </string-name>
          <article-title>: Swarm Agent-Based Architecture Suitable for Internet of Things and Smartcities</article-title>
          . In: , et al.
          <source>Distributed Computing and Artificial Intelligence</source>
          , 12th International Conference.
          <source>Advances in Intelligent Systems and Computing</source>
          , Vol
          <volume>373</volume>
          . Springer, Cham,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>K.</given-names>
            <surname>Compton</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Hauck</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Reconfigurable computing: A Survey of Systems and Software</article-title>
          .
          <source>ACM Computing Surveys</source>
          , Volume
          <volume>34</volume>
          , Issue 2.
          <year>2002</year>
          , pp.
          <fpage>171</fpage>
          -
          <lpage>210</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ohkawa</surname>
          </string-name>
          , I. Tanigawa,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Hisazumi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Ogura</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Watanabe</surname>
          </string-name>
          :
          <article-title>Prototype of FPGA Dynamic Reconfiguration Based on Context-Oriented Programming</article-title>
          .
          <source>In Proceedings of 2019 IEEE 13th International Symposium on Embedded Multi-core/Many-core Systems-on-Chip (MCSoC)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>116</fpage>
          -
          <lpage>122</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>L.</given-names>
            <surname>Rosenberg</surname>
          </string-name>
          and G.
          <source>Willcox: Artificial Swarm Intelligence. In the Proceedings of the IntelliSys</source>
          <year>2019</year>
          , UK.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>W.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q. Zhang. Y.</given-names>
            <surname>Li</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          :
          <article-title>Edge Computing: Vision and Challenges</article-title>
          .
          <source>In IEEE Internet of Things Journal</source>
          , Vol.
          <volume>3</volume>
          , no.
          <issue>5</issue>
          ,
          <issue>2016</issue>
          , pp.
          <fpage>637</fpage>
          -
          <lpage>646</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>U.</given-names>
            <surname>Vora</surname>
          </string-name>
          et al.:
          <article-title>Precept-Based Framework for Using Crowdsourcing in IoT-based Systems</article-title>
          .
          <source>In the Proceedings of 5th IEEE International Conference on Smart Computing, USA</source>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>U.</given-names>
            <surname>Vora</surname>
          </string-name>
          <article-title>: Precepts and Evolvability of Complex Systems</article-title>
          .
          <source>In the Proceedings of the International Conference on Soft Computing and Software Engineering (SCSE)</source>
          , University of California, Berkeley, USA,
          <year>2015</year>
          , pp.
          <fpage>565</fpage>
          -
          <lpage>574</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>W.</given-names>
            <surname>Yu</surname>
          </string-name>
          et al.:
          <article-title>A Survey on the Edge Computing for the Internet of Things</article-title>
          .
          <source>in IEEE Access</source>
          , Vol.
          <volume>6</volume>
          ,
          <issue>2018</issue>
          , pp.
          <fpage>6900</fpage>
          -
          <lpage>6919</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>O.</given-names>
            <surname>Zedadra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Guerrieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Jouandeau</surname>
          </string-name>
          , G. Spezzano,
          <string-name>
            <given-names>H.</given-names>
            <surname>Seridi</surname>
          </string-name>
          and
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Fortino: Swarm Intelligence and IoT-Based Smart Cities: A Review</article-title>
          . In: Cicirelli,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Guerrieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Mastroianni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Spezzano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Vinci</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (
          <article-title>eds) The Internet of Things for Smart Ur-ban Ecosystems</article-title>
          .
          <source>Internet of Things</source>
          . Springer, Cham,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>