<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type"content="text/html; charset=utf-8">
    <link href="../style.css" rel="Stylesheet" type="text/css">
    <title>API interfaces editor</title>
  </head>
  <body>
    <h2>API interfaces editor</h2>
    <p>
      This is Kactus2 extension <br><img
      src="../images/appicon.png"><br><br> <i>API interface</i>
      (application programming interface) means the protocol that SW
      components use to communicate, in practice it is set of function
      calls. Purpose is to increase portability by abstacting the
      details of underlying HW. These are a lower level concept than
      COM interfaces and cannot appear in HW components. API
      interfaces make rather tight coupling between SW components, and
      often both the sender and receiver are mapped on the same CPU.
      COM interfaces are meant for communication between application
      modules, whereas API interfaces are mainly between application
      and platform (OS, drivers) and inside the platform.  </p>
    <p>
      For example, a SW component could have API interfaces 'lower'
      and 'upper'. It <i>requests</i> the 'lower' one, DMA driver,
      i.e. calls its functions. At the same, this component 'provides'
      the 'upper' interface, MCAPI, i.e. other SW components can call
      its functions.<br> <img src="../images/api_interfaces.png"
      alt="screen_cap"><br>
    </p>

  </body>
</html>
