diff options
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.tex | 37 |
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} |