summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatiana Jamison <tjamison@jaguarlandrover.com>2016-02-24 08:59:17 -0800
committerTatiana Jamison <tjamison@jaguarlandrover.com>2016-02-24 08:59:17 -0800
commit5bfeebd7c59a531977ed50c1f4009fd6dcbd94e3 (patch)
treeee58a49b75b16cde30d6854c055d63adb736dffd
parent1529f48c8c2e4d98a99b2f3a28cbe01f8be9cc43 (diff)
downloadrvi_core-5bfeebd7c59a531977ed50c1f4009fd6dcbd94e3.tar.gz
[53177] Fix typos
Fix typos in README.md
-rw-r--r--README.md49
1 files changed, 25 insertions, 24 deletions
diff --git a/README.md b/README.md
index c23db32..869e39c 100644
--- a/README.md
+++ b/README.md
@@ -82,8 +82,8 @@ RVI shall be able to function over transient and unreliable data channels, but a
# TECHNOLOGY CHOICES #
The following chapters describe the technology choices made for the
reference implementation. An overall goal was to avoid technology
-lock-in while easing adoption by allowing organiztions to replace
-individual components with in-house developted variants using their
+lock-in while easing adoption by allowing organizations to replace
+individual components with in-house developed variants using their
own technology.
## INTERCHANGEABILITY ##
@@ -104,7 +104,7 @@ and a backend server, in an RVI network. An organization is free to
integrate with any existing protocols, or develop new ones, as
necessary.
-The reference implemantation provides an example of how to handle a
+The reference implementation provides an example of how to handle a
classic client-server model. The RVI design, however, can easily
handle such cases such as wakeup-SMS (used to get a vehicle to call in
to a server), packet-based data, peer-to-peer networks without any
@@ -116,7 +116,7 @@ management and data encoding / decoding over any media (IP or non-IP).
[Erlang](http://www.erlang.org) was chosen to implementation the core
components of the RVI system. Each component (see the
[HLD](https://wiki.automotivelinux.org/_media/eg-rvi/15-456-poc-rvi-hld_reva.pdf)
-for details) run as an erlang application inside a single erlang node.
+for details) run as an Erlang application inside a single Erlang node.
Several reasons exist for this somewhat unorthodox choice of
implementation language:
@@ -124,32 +124,32 @@ implementation language:
* **Robustness**<br>
Erlang has the ability to gracefully handle component crashes /
restarts without availability degradation. This makes a deployment
-resiliant against the occasional bug and malfunction. In a similar
+resilient against the occasional bug and malfunction. In a similar
manner, redundant sites can be setup to handle catastrophic failures
and geographically distributed deployments.
* **Tool availability**<br>
-There are a multitude of open source erlang components available to
+There are a multitude of open source Erlang components available to
handle SMS, GPIO, CAN buses, GPS, PPP links, and almost any protocol
-out there. Since erlang was designed to handle the mobile
+out there. Since Erlang was designed to handle the mobile
communication requirements that is at the center of the connected
vehicle, integrating with existing systems and protocols is often a
straight-forward process.
* **Scalability**<br>
-The concurrent nature of an erlang system sets the stage for
+The concurrent nature of an Erlang system sets the stage for
horizontal scalaility by simply adding hosts to a deployment, allowing
-an organziation to expand from a pilot fleet to a full fledged
+an organization to expand from a pilot fleet to a full fledged
international deployment.
* **Carrier grade availability**<br>
-The robustness and scalaiblity, in conjunction with the built-in
-erlang feature of runtime code upgrades, is a part of erlang's
+The robustness and scalability, in conjunction with the built-in
+Erlang feature of runtime code upgrades, is a part of Erlang's
five-nines uptime design that is rapidly becoming a core requirement
of the automotive industry.
* **Proven embedded system solution**<br>
-Erlang has been adapted to operate well in embeded environments
+Erlang has been adapted to operate well in embedded environments
with unreliable power, limited resources, and the need to integrate
with a wide variety of hardware.
@@ -157,7 +157,7 @@ with a wide variety of hardware.
Python is used to implement all demonstrations, beginning
with the HVAC demo available in the `hvac_demo` subdirectory.
-By using Python for the demos, which is better known than erlang,
+By using Python for the demos, which is better known than Erlang,
examples are given on how to write applications and services
interfacing with the RVI system.
@@ -170,38 +170,39 @@ understanding and adoption.
One example is the use of JSON-RPC (over HTTP) to handle internal
communication between components in a single Erlang node.
-Using a traditional erlang solution such as genserver, the
+Using a traditional Erlang solution such as genserver, the
overhead for internal transactions could be cut to a few percent in
comparison with the current JSON-RPC implementation. That route,
however, would force all components of the RVI system to be
-implemented in Erlang, thus severly limiting an organizations
+implemented in Erlang, thus severely limiting an organization's
abilities to replace individual components with their own versions.
## CODE STRATEGY ##
-All code in the RVI reference implementaion and its demonstrations are
+All code in the RVI reference implementation and its demonstrations are
written with a minimum of complexity and "magic". Readability is
-paramount, even if it severly impact performance and memory usage.
+paramount, even if it severely impacts performance and memory usage.
-All components in the RVI are kept small and distcinct, with a
-well-defined JSON-RPC external interface and a simple call flows.
+
+All components in the RVI are kept small and distinct, with a
+well-defined JSON-RPC external interface and simple call flows.
Only three external modules (lager, bert and exo) are used by the
code, with two more (setup and edown) used for release and
documentation management.
The reason for minimizing external module usage is to make the code
-comprehensible and minimize the time a developer has to travesrse
+comprehensible and minimize the time a developer has to traverse
through obscure libraries trying to understand what a specific call
flow actually does.
-The entire reference implementation (as of the first alpa release) is
+The entire reference implementation (as of the first alpha release) is
2800 lines of code, broken down into six standalone modules and one
library of shared primitive functions.
## JSON-RPC ##
-JSON-RPC is used for all communication between components in an RVI
-system, and also to communicate with services connected to it. The
-ubiquity of JSON-RPC, and its close relationship with Java/Javascript,
+JSON-RPC is used for all communication between components in an RVI
+system, and also to communicate with services connected to it. The
+ubiquity of JSON-RPC, and its close relationship with Java/JavaScript,
provides maximum of freedom of technology choices when new components,
services, and applications are developed.