Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/doc-tex/000-etrice-introduction.tex')
-rw-r--r--plugins/org.eclipse.etrice.doc/doc-tex/000-etrice-introduction.tex37
1 files changed, 37 insertions, 0 deletions
diff --git a/plugins/org.eclipse.etrice.doc/doc-tex/000-etrice-introduction.tex b/plugins/org.eclipse.etrice.doc/doc-tex/000-etrice-introduction.tex
new file mode 100644
index 000000000..60ff164da
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/doc-tex/000-etrice-introduction.tex
@@ -0,0 +1,37 @@
+\chapter{eTrice Overview}
+
+\section{What is eTrice?}
+
+eTrice provides an implementation of the ROOM modeling language (Real Time Object Oriented Modeling) together with editors, code generators for Java, C++ and C code and exemplary target middleware.
+
+The model is defined in textual form (Xtext) with graphical editors (Graphiti) for the structural and behavioral (i.e. state machine) parts.
+
+\section{Reduction of Complexity}
+
+eTrice is all about the reduction of complexity:
+
+\begin{itemize}
+ \item structural complexity
+ \begin{itemize}
+\item by explicit modeling of hierarchical Actor containment, layering and inheritance \end{itemize}
+\item behavioral complexity
+\begin{itemize}
+\item by hierachical statemachines with inheritance \end{itemize}
+\item teamwork complexity
+ \begin{itemize}
+\item because loosely coupled Actors provide a natural way to structure team work
+\item since textual model notation allows simple branching and merging \end{itemize}
+\item complexity of concurrent \& distributed systems
+ \begin{itemize}
+\item because loosely coupled Actors are deployable to threads, processes, nodes \end{itemize}
+\item complexity of variant handling and reuse (e.g. for product lines)
+ \begin{itemize}
+\item by composition of existing Actors to new structures
+\item since Protocols and Ports make Actors replaceable
+\item by inheritance for structure, behavior and Protocols
+\item by making use of model level libraries \end{itemize}
+\item complexity of debugging
+ \begin{itemize}
+\item model level debugging: state machine animation, data inspection and manipulation, message injection, generated message sequence charts
+\item model checking easier for model than for code (detect errors before they occur) \end{itemize}
+\end{itemize}

Back to the top