A4MCAR - Readme file for the project added.

Signed-off-by: Mustafa Ozcelikors <mozcelikors@gmail.com>
diff --git a/a4mcar/readme.txt b/a4mcar/readme.txt
new file mode 100644
index 0000000..5820c23
--- /dev/null
+++ b/a4mcar/readme.txt
@@ -0,0 +1,116 @@
+Description:
+	A4MCAR Project - Readme File
+
+Author:
+	M. Ozcelikors <mozcelikors@gmail.com>, Fachhochschule Dortmund
+
+Supervision & Mentoring:
+	Robert Hoettger 
+
+Disclaimer:
+	Copyright (c) 2017 FH Dortmund and others
+	All rights reserved. This program and the accompanying materials are made available under the
+	terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at
+	http://www.eclipse.org/legal/epl-v10.html
+	
+	This project has been granted during the Google Summer of Code 2017.
+
+Scope:
+	In this readme file, the project descriptions and objectives are given. This readme file also 
+	introduces the file system of all the applications developed for XMOS xCORE-200 eXplorerKIT, 
+	Raspberry Pi 3, and Android phones, as well its shows where created models and scripts are 
+	located. 
+	
+Project Abstract:
+	Distributing software effectively to multi core, many core, and distributed systems has been 
+	studied for decades but still advances successively driven by domain specific constraints. 
+	Programming vehicle ECUs is one of the most constrained domains that recently approached the need
+	for concurrency due to advanced driver assistant systems or autonomous driving approaches. 
+	To answer the needs of automotive industry in this manner with an open-source approach, recent 
+	studies have been made such as the Eclipse-based APP4MC platform. Although APP4MC provides 
+	sufficient tooling in parallel computing for automotive domain, the demonstration and evaluation 
+	of its results would improve its performance and allow to investigate the optimization of goals 
+	such as resource usage and energy consumption. With the project, software distribution challenges
+	for such automotive systems should be analyzed upon instruction precise modeling, affinity
+	constrained distribution, and reducing task response times achieved by advanced software 
+	parallelization. Advanced software parallelization will be achieved on a remote controlled
+	demonstrator car that will have a distributed and parallel architecture.
+
+	A4MCAR is a demonstrator car which features not only low level functionalities such
+	as sensor and motor driving but also high level features such as image processing,
+	camera streaming, server-based wireless driving via Web, bluetooth connectivity 
+	via Android application, system core monitoring and analysis features and touchscreen UI.
+	Our experiments along the multi-task heterogeneous demonstrator A4MCAR show that using APP4MC 
+	results instead of OS-based or sequential implementations on a distributed heterogeneous 
+	system significantly improves its responsiveness in order to potentially reduce energy
+	consumption and replaces error prone manual constraint considerations for mixed-critical
+	applications.  
+	
+Project Objectives:
+	- Development of a distributed multi-core demonstrator for the APP4MC platform that involves
+	features with the emphasis of automotive applications.
+	- General study on parallelization, scheduling, and popular trends (such as POSIX threads,
+	RTOS paralellization etc.)
+	- Researching techniques to retrieve information (number of instructions, communication costs)
+	and system trace from platforms such as xCORE and Linux to achieve precise modelling with APP4MC.
+	- In order to achieve optimization goals such as reduced energy consumption and reduced resource
+	usage, different affinity constrained software distributions will be evaluated and energy features
+	will be invoked to see if the goals are met.
+	- Developing a basic and modular online parallelization evaluation software that will retrieve 
+	scheduling properties such as slack times, execution times, and deadlines from all the processes
+	and that will tell how many of the deadlines are met, how good of a software distribution it is
+	while the software is being executed.
+	- Also taking system traces from the software to carry out offline software evaluation in order
+	to figure out means to balance the load on cores.
+	- Comparing the conventional schedulers non-constrained affinity distribution (such as a Linux OS
+	scheduler) to the affinity constrained distribution from APP4MC to see if performance can be 
+	improved.
+	
+File System and Applications:
+	The a4mcar directory have to be placed in the home directory: /home/pi
+	The external libraries and modules that needs to be downloaded are located at: 
+		https://gitlab.pimes.fh-dortmund.de/RPublic/a4mcar_required_modules.git
+		
+		The dependencies are installed using setup scripts that are created. External modules involve 
+		virtkeyboard, psutil, mjpg_streamer for those who want to manually install the dependencies.
+		
+	The repository should have the following main folders:
+	
+	web_interface :				The web interface that is developed for A4MCAR project which is used to control 
+								A4MCAR over remote Wi-Fi connection. 
+								
+								In order to set up web_interface, run the setup script:
+								web_interface/setup_web_interface.sh
+										
+								In order to run the web_interface correctly, the high-level modules core_reader
+								and ethernet_client should be ready and working.
+								To run the web_interface one should connect to the access point of Raspberry Pi
+								from a client computer web browser and visit 
+								http://<IP_Address>/jqueryControl2.php or http://<IP_Address>/jqueryControl.php
+					
+	high_level_applications :	This module consists of several high-level applications that are developed for
+								A4MCAR's high-level module (Raspberry Pi). These applications involve: 
+								touchscreen_display, core_recorder, dummy_loads, ethernet_client, and 
+								image_processing.
+								
+								In order to run the applications, respective Python files could be run or C/C++
+								binaries could be executed. Also the scripts that are located under scripts 
+								folder could be used to initialize some of the applications.
+								
+								In order to set up high_level_applications module dependencies, one should run
+								the setup script and follow the instructions:
+								high_level_applications/setup_high_level_applications.sh
+									
+	models:						A4MCAR's hardware and software model with Eclipse APP4MC is located in this 
+								directory.
+								
+	android_application:		This directory consists of the source files that belong to the A4MCAR's bluetooth
+								based driving application. The source and design files could be used in an Android
+								IDE in order to make tweaks to the application and to generate new .apk files.
+								
+	low_level_applications:		low_level_applications module involves the source code for the low-level module that
+								are run using a multi-core microcontroller XMOS xCORE-200 eXplorerKIT. The low level
+								applications are responsible for tasks such as sensor driving, actuation, communication,
+								and core monitoring of the A4MCAR. The low_level_applications module could be imported
+								into xTIMEcomposer to make tweaks to the tasks.
+					
\ No newline at end of file