Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/html/etrice-docse3.html')
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse3.html190
1 files changed, 88 insertions, 102 deletions
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
index 85dcd6377..55deb4b5b 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -23,16 +23,11 @@ href="etrice-docch2.html#etrice-docse3.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">2.1 </span> <a
id="x7-60002.1"></a>Scope of ROOM</h3>
<!--l. 5--><p class="noindent" >This chapter will give a rough overview of what ROOM (<img
-src="etrice-doc0x.png" alt="R
-¯ " class="b" /> eal time <img
-src="etrice-doc1x.png" alt="O
- ¯ " class="b" /> bject <img
-src="etrice-doc2x.png" alt="O
-¯ " class="b" />
-riented <img
-src="etrice-doc3x.png" alt="M
-¯ " class="b" /> odeling) is and what it is good for. It will try to answer the following
-questions: </p>
+src="etrice-doc0x.png" alt="R¯ " class="b" /> eal time <img
+src="etrice-doc1x.png" alt="O¯ " class="b" /> bject <img
+src="etrice-doc2x.png" alt="O¯ " class="b" /> riented <img
+src="etrice-doc3x.png" alt="M¯ " class="b" /> odeling) is
+and what it is good for. It will try to answer the following questions: </p>
<ul class="itemize1">
<li class="itemize">Where does it come from?
</li>
@@ -43,49 +38,48 @@ questions: </p>
<li class="itemize">What are the benefits of ROOM?
</li>
<li class="itemize">Which consequences must be taken into account?</li></ul>
-
-
-
+
+
<!--l. 14--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.1 </span> <a
id="x7-70002.1.1"></a>Where does it come from?</h4>
-<!--l. 16--><p class="noindent" >Room was developed in the 1990th on the background of the upcoming mobile
-applications with the goal to manage the complexity of such huge SW-Systems. From
-the very beginning ROOM has focused on a certain type of SW-Systems and is, in
-contrast to the UML, well suited for this kind of systems. In this sense, ROOM is a
-DSL (Domain Specific Language) for distributed, event driven, real time
+<!--l. 16--><p class="noindent" >Room was developed in the 1990th on the background of the upcoming mobile applications with the goal
+to manage the complexity of such huge SW-Systems. From the very beginning ROOM has focused on a
+certain type of SW-Systems and is, in contrast to the UML, well suited for this kind of systems. In this
+sense, ROOM is a DSL (Domain Specific Language) for distributed, event driven, real time
systems.
-</p><!--l. 18--><p class="noindent" >Bran Selic, Garth Gullekson and Paul T. Ward have published the concepts 1994 in
-the book <span
-class="ecbx-1000">Real-Time Object-Oriented Modeling</span>. The company <span
-class="ecti-1000">object time</span>
-<sup class="textsuperscript"><span
-class="ecrm-0900">TM</span></sup>developed a ROOM tool which was taken over by <span
-class="ecti-1000">Rational SW </span><sup class="textsuperscript"><span
-class="ecrm-0900">TM</span></sup>and later
-on by <span
+</p><!--l. 18--><p class="noindent" >Bran Selic, Garth Gullekson and Paul T. Ward have published the concepts 1994 in the book <span
+class="ecbx-1000">Real-Time</span>
+<span
+class="ecbx-1000">Object-Oriented Modeling</span>. The company <span
+class="ecti-1000">object time </span><sup class="textsuperscript"><span
+class="ecrm-0900">TM</span></sup>developed a ROOM tool which was
+taken over by <span
+class="ecti-1000">Rational SW </span><sup class="textsuperscript"><span
+class="ecrm-0900">TM</span></sup>and later on by <span
class="ecti-1000">IBM </span><sup class="textsuperscript"><span
class="ecrm-0900">TM</span></sup>. The company <span
-class="ecti-1000">Protos Software Gmbh </span><sup class="textsuperscript"><span
-class="ecrm-0900">TM</span></sup>also developed a
-ROOM tool called <span
+class="ecti-1000">Protos Software</span>
+<span
+class="ecti-1000">Gmbh </span><sup class="textsuperscript"><span
+class="ecrm-0900">TM</span></sup>also developed a ROOM tool called <span
class="ecti-1000">Trice </span><sup class="textsuperscript"><span
-class="ecrm-0900">TM</span></sup>for control software for production machines and
-automotive systems. <span
+class="ecrm-0900">TM</span></sup>for control software for production
+machines and automotive systems. <span
class="ecti-1000">Trice </span><sup class="textsuperscript"><span
class="ecrm-0900">TM</span></sup>is the predecessor of eTrice (see Introduction to
eTrice).
-</p><!--l. 21--><p class="noindent" >From our point of view ROOM provides still the clearest, simplest, most complete
-and best suited modeling concepts for the real time domain. All later proposals like
-the UML do not fit as well to this kind of problems.
+</p><!--l. 21--><p class="noindent" >From our point of view ROOM provides still the clearest, simplest, most complete and best suited
+modeling concepts for the real time domain. All later proposals like the UML do not fit as well to this
+kind of problems.
</p><!--l. 24--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.2 </span> <a
id="x7-80002.1.2"></a>Which kind of SW-Systems will be addressed?</h4>
-<!--l. 26--><p class="noindent" >As mentioned before ROOM addresses distributed, event driven, real time systems.
-But what is a *real time system*? ROOM defines a set of properties which are
-typical for a real time system. These properties are: </p>
+<!--l. 26--><p class="noindent" >As mentioned before ROOM addresses distributed, event driven, real time systems. But what is a *real
+time system*? ROOM defines a set of properties which are typical for a real time system. These
+properties are: </p>
<ul class="itemize1">
<li class="itemize">Timeliness
</li>
@@ -98,52 +92,47 @@ typical for a real time system. These properties are: </p>
<li class="itemize">Distribution
</li>
<li class="itemize">Reliability</li></ul>
-
-
-
-<!--l. 36--><p class="noindent" >Each of these properties has potential to make SW development complex. If a given
-system can be characterized with a combination of or all of these properties, ROOM
-might be applied to such a system.
-</p><!--l. 38--><p class="noindent" >As an example take a look at a washing machine. The system has to react on user
-interactions, has to handle some error conditions like a closed water tap or a defective
-lye pump. It has to react simultaneously to all these inputs. It has to close the water
-valve in a certain time to avoid flooding the basement. So, the system can be
-characterized as timely, concurrent and reactive. As long as the washing machine
-does not transform to a laundry drier by itself, the system has no dynamic
-internal structure and as long as all functions are running on a single micro
-controller the (SW)-system is not distributed. ROOM fits perfect to such a
+<!--l. 36--><p class="noindent" >Each of these properties has potential to make SW development complex. If a given system can be
+characterized with a combination of or all of these properties, ROOM might be applied to such a
+system.
+</p><!--l. 38--><p class="noindent" >As an example take a look at a washing machine. The system has to react on user interactions, has
+to handle some error conditions like a closed water tap or a defective lye pump. It has to
+react simultaneously to all these inputs. It has to close the water valve in a certain time to
+avoid flooding the basement. So, the system can be characterized as timely, concurrent and
+reactive. As long as the washing machine does not transform to a laundry drier by itself,
+the system has no dynamic internal structure and as long as all functions are running on
+a single micro controller the (SW)-system is not distributed. ROOM fits perfect to such a
system.
-</p><!--l. 42--><p class="noindent" >A SW system which mainly consists of data transformations like signal/image
-processing or a loop controller (e.g. a PID controller) cannot be characterized with
-any of the above mentioned properties. However, in the real world most of the SW
-systems will be a combination of both. ROOM can be combined with such systems,
-so that for example an actor provides a *run to completion* context for calculating
-an image processing algorithm or a PID controller.
+
+
+</p><!--l. 42--><p class="noindent" >A SW system which mainly consists of data transformations like signal/image processing or a loop
+controller (e.g. a PID controller) cannot be characterized with any of the above mentioned properties.
+However, in the real world most of the SW systems will be a combination of both. ROOM can be
+combined with such systems, so that for example an actor provides a *run to completion* context for
+calculating an image processing algorithm or a PID controller.
</p><!--l. 44--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.3 </span> <a
id="x7-90002.1.3"></a>What is the relation between OOP and ROOM?</h4>
-<!--l. 46--><p class="noindent" >The relation between classical object oriented programming and ROOM is
-comparable to the relation between assembler programming and C programming. It
-provides a shift of the object paradigm. As the picture shows, the classic object
-paradigm provides some kind of information hiding. Attributes can be accessed via
-access methods. Logical higher level methods provide the requested behavior to the
+<!--l. 46--><p class="noindent" >The relation between classical object oriented programming and ROOM is comparable to the relation
+between assembler programming and C programming. It provides a shift of the object paradigm. As the
+picture shows, the classic object paradigm provides some kind of information hiding. Attributes can be
+accessed via access methods. Logical higher level methods provide the requested behavior to the
user.
</p><!--l. 48--><p class="noindent" ><img
src="images/010-RoomIntroduction01.png" alt="PIC"
/>
-</p><!--l. 51--><p class="noindent" >As the figure illustrates, the classical object paradigm does not care about
-concurrency issues. The threads of control will be provided by the underlying
-operating system and the user is responsible to avoid access violations by using those
-operating system mechanisms directly (semaphore, mutex).
+</p><!--l. 51--><p class="noindent" >As the figure illustrates, the classical object paradigm does not care about concurrency issues. The
+threads of control will be provided by the underlying operating system and the user is responsible to
+avoid access violations by using those operating system mechanisms directly (semaphore,
+mutex).
</p><!--l. 53--><p class="noindent" ><img
src="images/010-RoomIntroduction02.png" alt="PIC"
/>
-</p><!--l. 56--><p class="noindent" >ROOM provides the concept of a logical machine (called actor) with its
-own thread of control. It provides some kind of cooperative communication
-infrastructure with *run to completion* semantic. That makes developing of
-business logic easy and safe (see basic concepts). The logical machine provides
-an encapsulation shell including concurrency issues (see chapter <span
+</p><!--l. 56--><p class="noindent" >ROOM provides the concept of a logical machine (called actor) with its own thread of control. It
+provides some kind of cooperative communication infrastructure with *run to completion*
+semantic. That makes developing of business logic easy and safe (see basic concepts). The logical
+machine provides an encapsulation shell including concurrency issues (see chapter <span
class="ecbx-1000">Run to</span>
<span
class="ecbx-1000">completion</span>).
@@ -151,48 +140,45 @@ class="ecbx-1000">completion</span>).
src="images/010-RoomIntroduction03.png" alt="PIC"
/>
</p><!--l. 61--><p class="noindent" >This thinking of an object is much more general than the classic one.
-
-
-
</p><!--l. 63--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.4 </span> <a
id="x7-100002.1.4"></a>What are the benefits of ROOM?</h4>
-<!--l. 65--><p class="noindent" >ROOM has a lot of benefits and it depends on the users point of view which is the
-most important one. From a general point of view the most important benefit is, that
-ROOM allows to create SW systems very efficient, robust and safe due to the fact
-that it provides some abstract, high level modeling concepts combined with code
-generation and a small efficient runtime environment.
+<!--l. 65--><p class="noindent" >ROOM has a lot of benefits and it depends on the users point of view which is the most important one.
+From a general point of view the most important benefit is, that ROOM allows to create
+SW systems very efficient, robust and safe due to the fact that it provides some abstract,
+high level modeling concepts combined with code generation and a small efficient runtime
+environment.
</p><!--l. 67--><p class="noindent" >In detail: </p>
<ul class="itemize1">
- <li class="itemize">ROOM models contain well defined interfaces (protocols), which makes it
- easy to reuse components in different applications or e.g. in a test harness.
+ <li class="itemize">ROOM models contain well defined interfaces (protocols), which makes it easy to reuse
+ components in different applications or e.g. in a test harness.
</li>
- <li class="itemize">Graphical modeling makes it easy to understand, maintain and share code
- with other developers
+ <li class="itemize">Graphical modeling makes it easy to understand, maintain and share code with other
+ developers
</li>
- <li class="itemize">Higher abstraction in combination with automated code generation
- provides very efficient mechanisms to the developer.
+ <li class="itemize">Higher abstraction in combination with automated code generation provides very efficient
+ mechanisms to the developer.
+
+
</li>
- <li class="itemize">ROOM provides graphical model execution, which makes it easy to
- understand the application or find defects in a very early phase.</li></ul>
+ <li class="itemize">ROOM provides graphical model execution, which makes it easy to understand the
+ application or find defects in a very early phase.</li></ul>
<!--l. 75--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.5 </span> <a
id="x7-110002.1.5"></a>Which consequences must be taken into account?</h4>
-<!--l. 77--><p class="noindent" >Generating code from models will introduce some overhead in terms of memory
-footprint as well as performance. For most systems the overhead will be negligible.
-However, the decision for using ROOM should be made explicitly and it is always a
-trade off between development costs, time to market and costs in terms of a little bit
-more of memory and performance. Thanks to the powerful component model, ROOM
-is especially well suited for the development of software product lines with their need
-for reusable core assets.
-</p><!--l. 79--><p class="noindent" >Care must be taken during the introduction of the new methodology. Due to the fact
-that ROOM provides a shift of the object paradigm, developers and teams need a
-phase of adaption. Every benefit comes at a price.
-
-
-
+<!--l. 77--><p class="noindent" >Generating code from models will introduce some overhead in terms of memory footprint as well as
+performance. For most systems the overhead will be negligible. However, the decision for using ROOM
+should be made explicitly and it is always a trade off between development costs, time to market and
+costs in terms of a little bit more of memory and performance. Thanks to the powerful component model,
+ROOM is especially well suited for the development of software product lines with their need for reusable
+core assets.
+</p><!--l. 79--><p class="noindent" >Care must be taken during the introduction of the new methodology. Due to the fact that ROOM
+provides a shift of the object paradigm, developers and teams need a phase of adaption. Every benefit
+comes at a price.
+
+
</p>
<!--l. 81--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse4.html" >next</a>] [<a

Back to the top