OS Applications [kernel_applications]
	* Application.h: structure to manage application administrative data (e.g. trusted attribute)
	* ApplicationSupport.ah: advices the following slices to scheduler and Task/ISR objects
	* ApplicationSupport_OSObjects_Slice.ah: extends Task/ISR objects with their application ID
	* ApplicationSupport_SchedImpl_Slice.ah: extends Scheduler bei getApplicationID to get currently active App (BROKEN)

Memory Protection
  * common_pointcuts.ah: defines pointcuts, particularly syscall related ones (pcToOS())

	- HAL 
		* MPU.h: defines the platform dependent MPU interface implementation

		- MPU initialization [hal_protection]
			* MPU_Init.ah: add hal::MPU::init to the hal::init function

	- Common Files [memprot]
		* UCInfo_dummy.h: substitutes for UCInfo.h when CiAO is built as lib only
		* app_pointcuts_dummy.ah: substitutes for app_pointcuts.ah if CiAO is built as a lib only
		* pointcuts.ah: defines pointcuts to match domain transitions (e.g. pcNtoT())

	- MPU [memprot]
		* MPU.h: platform independent MPU interface, subclass of hal::MPU
		* MPU.cpp: implementation of platform independent MPU functions, currently only an init function 
		* MPU_Init.ah: add mp::MPU::init to the os::init function

	- Trusted [memprot_trusted]
		* Trusted.ah: provides kernel protection, i.e. restricts writes of NT apps to the NT data space

	- MP Context Management []
		* Context.h: Interface to the MP context, subclass of Context Manifestation 

		- MP Context in Task objects
			* ContextAccess_Task.h: static interface to access MP context info of the active task 
			* Context_Manifestation_Task.ah -> Context_Manifestation.ah: typedef ContextAccess_Task ContextAccess

		- Context [memprot_apps || memprot_ntf]
			* Context_Switch.ah: invokes Context::load() upon each Context switch

		- Context Slice order
			* Context_SliceOrder.ah: specifies order in that slices are applied to the context container (i.e., the Task class)


	- Protect Tasks' stacks [memprot_stacks]
		* Stacks.ah: ensures that tasks can access their stacks 

	- Lower Stackbound [memprot_stacks || memprot_ntf]
		* Context_LowerStackBound.ah: advices the following slices to the context container (i.e., the Task class)
		* LowerStackBound_ContextAccessSlices.ah: adds getStackLower(), returning stack_l_
		* LowerStackBound_ContextContainerSlice.ah: adds stack_l_ attribute

	- Execution protection disabled [!memprot_x]
		* NotExecution.ah: advices mp::MPU::init() to enable execution permissions on the entire address space

	- Read protection disabled [!memprot_r]
		* NotRead.ah: advices mp::MPU::init() to enable read access to the entire address space

	- Non-Trusted Applications

		- Apps [memprot_apps]
			* Apps.ah:
				@ applies following slice to krn::Application
				@ advices Context::load_hook to enable access to application data range
				@ enter/leavetrusted on NtoN transitions
				@ sets the task's CURRENT application on *toN and NtoT transitions
				@ reconfigures the MPU on a *toN transition
				@ exports the stack on NtoN transitions
				
			* Apps_AppSlice.ah: introduces setPrivate(appID)

		- Application Data [memprot_data]
			* AppData.ah:
				@ advices Application::setPrivate to enable access to the private data range of the application
				@ applies the following slice to krn::Application
			* AppData_AppSlice.ah: introduces data_l and data_u fields

	- Non-Trusted Functions [memprot_ntf]
		* NonTrustedFunctions.ah
			@ applies the following slices to ContextAccess_Task and the context container (Task class)
			@ advices the Context functions that provide current application and upper stackbound to use the dynamic versions introduced below
		* NonTrustedFunctions_ContextAccessSlices.ah: introduces functions to get/set the current application and upper stack bound
		* NonTrustedFunctions_ContextContainerSlice.ah: introduces fields current_stack_h_ and current_application_

		- Manage Exported Stacks [!memprot_stacks]
			* Stacks_ExportOnly.ah
				@ applies the following slices to ContextAccess_Task and the context container (Task class)
				@ advices the load_hook to program the stack range registers if the control flow is in a foreign domain
				@ advices exportStack_begin to set the lower stackbound and inc the transition counter
				@ advices exportStack_end to set the upper stackbound and dec the transition counter 
			* Stacks_ExportOnly_ContextAccessSlices.ah: introduces methods to maintain the transition counter
			* Stacks_ExportOnly_ContextContainerSlice.ah: introduces field transistions_to_nt_ 

