.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

XXXX Component Information
==========================
High level architecture, design, and packaging information for release planning and delivery.

.. toctree::
   :maxdepth: 1


Delivery
--------
Th package component is composed of the functional layers and packaged into run-time components as illustrated in the following diagrams.

.. blockdiag::
   

   blockdiag layers {
   orientation = portrait
   a -> m;
   b -> n;
   c -> x;
   m -> y;
   m -> z;
   group l1 {
	color = blue;
	x; y; z;
	}
   group l2 {
	color = yellow;
	m; n; 
	}
   group l3 {
	color = orange;
	a; b; c;
	}

   }


Offered APIs
------------

.. csv-table:: 
   :header-rows: 0
   :header: "Container or Library", "API Reference", "Purpose", "Protocol", "Port", "TCP/UDP"
   :widths: 20, 25, 25, 10, 10, 10
   :delim: |
   :file: offered-apis.csv


Consumed APIs
-------------

.. csv-table:: 
   :header-rows: 0
   :header: "Project Repo/Group ID", "Container or Library Offering API"
   :widths: 30, 30
   :delim: |
   :file: consumed-apis.csv

Logging & Diagnostic Information
--------------------------------
Description of how to interact with and diagnose problems with the components in the run-time packaging.
