documenting mock workflow

Change-Id: I7d302f6592e57f5d4a641a21e0d6dd355aa4024e
diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md
index f15a03c..054a8ed 100644
--- a/docs/SUMMARY.md
+++ b/docs/SUMMARY.md
@@ -3,8 +3,10 @@
 * [Introduction](README.md)
     - [Contribute to the documentation](contribute_docs.md)
 * Modules
-	- [Xos Config](modules/xosconfig.md)
+	- [XOS Config](modules/xosconfig.md)
 * Developer How Tos
-	- [Local Dev Environmet](dev/local_env.md)
+    - [Workflow: Mock Config](dev/workflow_mock.md)
+    - [Workflow: CORD-in-a-Box](dev/workflow_ciab.md)
+         	- [Local Dev Environmet](dev/local_env.md)
     - [xproto](dev/xproto.md)
 
diff --git a/docs/dev/workflow_mock.md b/docs/dev/workflow_mock.md
new file mode 100644
index 0000000..817499c
--- /dev/null
+++ b/docs/dev/workflow_mock.md
@@ -0,0 +1,93 @@
+# Mock Workflow
+
+The following describes a workflow for service or core development using a local 
+environment (e.g., a laptop) with the `rcord-mock` or `rcord-single` profile. To learn more about scenarios you can refer to [Build Internals](../../build_internals.md#included-scenarios).
+
+This workflow is suitable for working on (and verifying the
+correctness of):
+
+- `core` models
+- `service` models
+- `gui`
+- `synchronizer` steps
+- `profile` configurations
+
+## Requirements
+
+The following assumes you have cloned the source code as described 
+in: [Getting the Source Code](../../cord_repo.md). 
+
+To deploy a `mock` or a `single` scenario on your machine, you'll also
+need to install [Vagrant](https://www.vagrantup.com/).
+
+## Initial Deployment
+
+You can setup a `mock` deployment on your machine as follows:
+
+```
+cd ~/cord/build
+make PODCONFIG=rcord-mock.yml config
+make -j4 build
+```
+
+This setups a `Vagrant VM`, and once the install is complete,
+you can access:
+- the XOS GUI at `192.168.46.100:8080/xos`
+- the Vagrant VM via `ssh headnode`
+
+### Configure Your Deployment
+
+By default the `libvirt` provider is used to manage the Vagrant VM. 
+If you prefer to use `VirtualBox` (this is the typical Mac OS case),
+you can invoke the build command as:
+```
+VAGRANT_PROVIDER=virtualbox make -j4 build
+```
+
+The VM that is created as part of this lightweight deployment is configured
+by default as:
+
+| Scenario      | Memory        | Cores |
+| ------------- |:-------------:| -----:|
+| mock          | 2048          |     4 |
+| single        | 4096          |     8 |
+
+This configuration is defined in `~/cord/build/scenarios/mock/config.yaml` 
+and `~/cord/build/scenarios/single/config.yaml`. You can
+change those parameters to scale your development
+VM up or down accordingly to the available resources.
+
+## Development Loop
+
+Note that the code is shared in the VM so that:
+- `~/cord` is mounted on `/opt/cord`
+- `~/cord_profile` is mounted on `/opt/cord_profile`
+- `~/cord/platform-install/credentials/` is mounted on `~/opt/credentials` (only in the `single` scenario)
+
+### Update the Code Running in the Containers
+
+```
+cd ~/cord/build
+make xos-update-images
+make -j4 build
+```
+
+### Destroy and Rebuild XOS
+
+This is the workflow that you'll need to follow if you want 
+to start from a fresh XOS installation. Note that it wipes the
+out the XOS database.
+
+```
+cd ~/cord/build
+make xos-teardown
+make -j4 build
+```
+
+### Update the Profile Configuration
+```
+cd ~/cord/build
+make clean-genconfig
+make PODCONFIG=rcord-mock.yml config
+make -j4 build
+```