DOC: update documentation.

Add documentation covering:
  - developer information about architecture
  - project structure and building
  - project overview and service descriptions
  - the portability model for supporting hardware

Signed-off-by: Julian Hall <julian.hall@arm.com>
Co-Authored-By: Gyorgy Szing <gyorgy.szing@gmail.com>
Change-Id: I8bf9c01a66350719d82a7ca2bc1c78a8ab17978d
diff --git a/docs/developer/uml/BuildFlow.puml b/docs/developer/uml/BuildFlow.puml
new file mode 100644
index 0000000..0dc1468
--- /dev/null
+++ b/docs/developer/uml/BuildFlow.puml
@@ -0,0 +1,55 @@
+'-------------------------------------------------------------------------------
+' Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
+'
+' SPDX-License-Identifier: BSD-3-Clause
+'
+'-------------------------------------------------------------------------------
+
+@startuml
+
+(*) --> [cmake command] "Generating"
+note right
+    Generate native build files from deployment
+    configuration files. External components are
+    fetched and built.  Child deployments are
+    generated, built and installed.
+end note
+
+If "success"
+    --> [false]"Generation Errors" #Red
+else
+    --> [true]"Generated"
+Endif
+
+--> [make install command] "Building"
+note right
+    Compile and link to create build output.
+end note
+
+If "success"
+    --> [false]"Build Errors" #Red
+else
+    --> [true]"Built"
+Endif
+
+--> "Installing"
+note right
+    Copy build output files to installation
+    directory specified by CMAKE_INSTALL_PREFIX.
+end note
+
+If "success"
+    --> [false]"Install Errors" #Red
+else
+    --> [true]"Installed"
+Endif
+
+--> "Deploying" #Green
+note right
+    Perform environment specific
+    deployment steps.
+end note
+
+--> "Deployed" #Green
+
+@enduml
\ No newline at end of file