2 Copyright (c) 2000-2014 Ericsson Telecom AB
4 All rights reserved. This program and the accompanying materials
5 are made available under the terms of the Eclipse Public License v1.0
6 which accompanies this distribution, and is available at
7 http://www.eclipse.org/legal/epl-v10.html
11 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8">
12 <meta http-equiv=
"Content-Language" content=
"en-us">
13 <title>component
</title>
15 <body bgcolor=
"#DAD3C5" vlink=
"#0094D2" link=
"#003258">
16 <table align=
"left" border=
"0" cellspacing=
"0" cellpadding=
"0" valign=top
>
18 <td width=
105 height=
40><a href=
"https://projects.eclipse.org/projects/tools.titan"><img src=
"../images/titan_transparent.gif" border=
0 width=
105 height=
40 align=
"left" alt=
"Titan"></a></td>
21 <table border=
"0" align=
"right" cellpadding=
"0" cellspacing=
"0">
23 <td><a href=
"../titan_main.html" alt=
"contents"><img border=
"0" src=
"../images/ao.jpg" width=
"53" height=
"40"></a></td>
24 <td><a href=
"../titan_index.html" alt=
"index"><img border=
"0" src=
"../images/up.jpg" width=
"53" height=
"40"></a></td>
25 <td><a href=
"complement.html" alt=
"previous"><img border=
"0" src=
"../images/left.jpg" width=
"53" height=
"40"></a></td>
26 <td><a href=
"connect.html" alt=
"next"><img border=
"0" src=
"../images/right.jpg" width=
"53" height=
"40"></a></td>
33 <hr align=
"left" width=
"75%">
34 <p>The keyword is used to define a test component type.
36 <li>Test component is an entity on which test behavior is executed
</li>
37 <li>Test component is owner of the test ports
</li>
38 <li>Constants, variable and timers declared in the component type are visible from all functions and test cases, which execute on that very component type
</li>
39 <li>Several test components can run in parallel – each executes independently
</li>
41 <p>Related keywords:
</p>
43 <li><a href=
"type.html"><b><font face=
"Courier New" color=
"#003258" size=
"4">type
</font></b></a></li>
44 <li><a href=
"port.html"><b><font face=
"Courier New" color=
"#003258" size=
"4">port
</font></b></a></li>
45 <li><a href=
"const.html"><b><font face=
"Courier New" color=
"#003258" size=
"4">const
</font></b></a></li>
46 <li><a href=
"var.html"><b><font face=
"Courier New" color=
"#003258" size=
"4">var
</font></b></a></li>
47 <li><a href=
"timer.html"><b><font face=
"Courier New" color=
"#003258" size=
"4">timer
</font></b></a></li>
49 <hr align=
"left" width=
"50%">
52 <table border=
"0" width=
"90%" bgcolor=
"#FFB599" cellpadding=
"4">
55 <h3 align=
"center"><font face=
"Courier New" color=
"#003258" size=
"5"><b>type component
</b></font> <i>component_identifier
</i><font face=
"Courier New" color=
"#003258" size=
"5"><b>{
</b></font>
56 [
<i>port_instance
</i><font face=
"Courier New" color=
"#003258" size=
"5"><b>;
</b></font> ]
[
<i>const_def
</i><font face=
"Courier New" color=
"#003258" size=
"5"><b>;
</b></font> ]
[
<i>var_instance
</i><font
57 face=
"Courier New" color=
"#003258" size=
"5"><b>;
</b></font> ]
[
<i>timer_instance
</i><font face=
"Courier New" color=
"#003258" size=
"5"><b>;
</b></font> ]
<font face=
"Courier New"
58 color=
"#003258" size=
"5"><b>};
</b></font></h3>
66 <p>The
<a href=
"type.html"><font face=
"Courier New" color=
"#003258" size=
"4"><b>type
</a> component
</b></font> keywords introduce the component definition.
</p>
69 <p><i>component_identifier
</i> is the
name used to refer to the component. Must begin with a letter, may contain letters, numbers and underscore characters.
<br>
70 According to the
Naming convention, the suffix
<b> _CT
</b> is recommended.
</p>
73 <p><i>port_instance
</i> identifies the ports owned by the port. For the syntax see the initial keyword
<a href=
"port.html"><b><font face=
"Courier New" color=
"#003258"
74 size=
"4">port
</font></b></a>.
</p>
77 <p><i>const_def
</i> defines constants visible from all functions and test cases, which execute on that very component type. For the syntax see the initial keyword
<a href=
"const.html"
78 target=
"_blank"><b><font face=
"Courier New" color=
"#003258" size=
"4">const
</font></b></a>.
</p>
81 <p><i>var_instance
</i> identifies variables visible from all functions and test cases, which execute on that very component type. For the syntax see the initial keyword
<a href=
"var.html"
82 target=
"_blank"><b><font face=
"Courier New" color=
"#003258" size=
"4">var
</font></b></a>.
</p>
85 <p><i>timer_instance
</i> identifies timers visible from all functions and test cases, which execute on that very component type. For the syntax see the initial keyword
<a href=
"timer.html"
86 target=
"_blank"><b><font face=
"Courier New" color=
"#003258" size=
"4">timer
</font></b></a>.
</p>
89 <p>Every element within the curly brackets may be repeated.
</p>
90 <hr align=
"left" width=
"50%">
92 <p><font face=
"Courier New">type component MyComponentType_CT {
<br>
93 port MyMessagePortType_PT P1_PCO,P2_PCO;
<br>
94 const bitstring c_MyConst := ’
1001’B;
<br>
95 var integer v_MyVar;
<br>
96 timer T_MyTimer :=
1.0;
<br>
98 <p>The component called MyComponentType_CT is declared.
<br>
99 It contains two ports (P1_PCO,P2_PCO) of type MyMessagePortType_PT,
<br>
100 a constant called c_MyConst which equals
1001,
<br>
101 a variable called v_MyVar
<br>
102 and a timer called T_MyTimer with a default value of
1 second.
</p>
103 <hr align=
"left" width=
"25%">
104 <hr align=
"left" width=
"25%">
105 <p><a HREF=
"BNF.html#componentdef">BNF definition
</a> of
<font face=
"Courier New"> component
</font></p>