Use alive-type components for "infrastructure" components

According to feedback received from TITAN developers in
https://www.eclipse.org/forums/index.php?t=msg&th=1106652&goto=1848616&#msg_1848616
the use of alive-type components has the following advantage:

> Also the DTE during the shutdown can be avoided to use alive type
> components.  The test ports of the alive components are not
> disconnected/unmapped when the component finished only when killed or
> the MTC terminated.

So the idea of this patch is to use alive-type components for all the
underlying infrastructure, such as the *_Emulation_CT starting from M3UA
to SCCP and further up the stack.  This way, only the MTC and the
highest level of components (such as ConnHdlr) remain as normal
components.

The hope is that using more alive-type components in the lower protocol
layer emulations will reduce the probability of DTE during shutdown if
some message is received during the component shutdown after the MTC
has completed.

Change-Id: I61d791d6d1bfe9226aabbe223baafc5f8f6d4f04
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index c2ea258..0c71581 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -916,12 +916,12 @@
 	timer T := 10.0;
 
 	clnt.id := "IPA" & int2str(i) & "-RSL";
-	clnt.vc_IPA := IPA_Emulation_CT.create(clnt.id & "-IPA");
+	clnt.vc_IPA := IPA_Emulation_CT.create(clnt.id & "-IPA") alive;
 	clnt.ccm_pars := c_IPA_default_ccm_pars;
 	clnt.ccm_pars.name := "Osmocom TTCN-3 BTS Simulator";
 	clnt.ccm_pars.unit_id := int2str(1234+i) & "/0/0";
 	if (handler_mode) {
-		clnt.vc_RSL := RSL_Emulation_CT.create(clnt.id & "-RSL");
+		clnt.vc_RSL := RSL_Emulation_CT.create(clnt.id & "-RSL") alive;
 		connect(clnt.vc_RSL:CCHAN_PT, self:RSL_CCHAN[i]);
 	}
 
@@ -1024,7 +1024,7 @@
 		multi_conn_mode := (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_SCCPlite_SERVER)
 	};
 
-	vc_MGCP := MGCP_Emulation_CT.create(id);
+	vc_MGCP := MGCP_Emulation_CT.create(id) alive;
 	vc_MGCP.start(MGCP_Emulation.main(ops, mgcp_pars, id));
 }
 
@@ -3569,7 +3569,7 @@
 	timer T := 10.0;
 
 	bts[0].rsl.id := "IPA-0-RSL";
-	bts[0].rsl.vc_IPA := IPA_Emulation_CT.create(bts[0].rsl.id & "-IPA");
+	bts[0].rsl.vc_IPA := IPA_Emulation_CT.create(bts[0].rsl.id & "-IPA") alive;
 	bts[0].rsl.ccm_pars := c_IPA_default_ccm_pars;
 	bts[0].rsl.ccm_pars.name := "Osmocom TTCN-3 BTS Simulator";
 	bts[0].rsl.ccm_pars.unit_id := "99/0/0"; /* value which is unknown at BTS */
diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index ddf98a9..3f822c2 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -447,8 +447,8 @@
 private function f_init_gb_pcu(inout GbInstance gb, charstring id, integer offset) runs on test_CT {
 	var charstring ns_id := id & "-NS(PCU[" & int2str(offset) & "])";
 	var charstring bssgp_id := id & "-BSSGP(PCU[" & int2str(offset) & "])";
-	gb.vc_NS := NS_CT.create(ns_id);
-	gb.vc_BSSGP := BSSGP_CT.create(bssgp_id);
+	gb.vc_NS := NS_CT.create(ns_id) alive;
+	gb.vc_BSSGP := BSSGP_CT.create(bssgp_id) alive;
 	/* connect lower end of BSSGP emulation with NS upper port */
 	connect(gb.vc_BSSGP:BSCP, gb.vc_NS:NS_SP);
 
@@ -470,8 +470,8 @@
 private function f_init_gb_sgsn(inout GbInstance gb, charstring id, integer offset) runs on test_CT {
 	var charstring ns_id := id & "-NS(SGSN[" & int2str(offset) & "])";
 	var charstring bssgp_id := id & "-BSSGP(SGSN[" & int2str(offset) & "])";
-	gb.vc_NS := NS_CT.create(ns_id);
-	gb.vc_BSSGP := BSSGP_CT.create(bssgp_id);
+	gb.vc_NS := NS_CT.create(ns_id) alive;
+	gb.vc_BSSGP := BSSGP_CT.create(bssgp_id) alive;
 	/* connect lower end of BSSGP emulation with NS upper port */
 	connect(gb.vc_BSSGP:BSCP, gb.vc_NS:NS_SP);
 
diff --git a/library/BSSAP_LE_Adapter.ttcn b/library/BSSAP_LE_Adapter.ttcn
index dba8841..256d8fa 100644
--- a/library/BSSAP_LE_Adapter.ttcn
+++ b/library/BSSAP_LE_Adapter.ttcn
@@ -85,13 +85,13 @@
 	ops.sccp_addr_peer := ba.sccp_addr_peer;
 
 	/* create components */
-	ba.vc_SCCP := SCCP_CT.create(id & "-SCCP");
+	ba.vc_SCCP := SCCP_CT.create(id & "-SCCP") alive;
 	if (isvalue(ops)) {
-		ba.vc_BSSAP_LE := BSSAP_LE_Emulation_CT.create(id & "-BSSAP_LE");
+		ba.vc_BSSAP_LE := BSSAP_LE_Emulation_CT.create(id & "-BSSAP_LE") alive;
 	} else {
 		ba.vc_BSSAP_LE := null;
 	}
-	ba.vc_M3UA := M3UA_CT.create(id & "-M3UA");
+	ba.vc_M3UA := M3UA_CT.create(id & "-M3UA") alive;
 	map(ba.vc_M3UA:SCTP_PORT, system:sctp);
 	/* connect MTP3 service provider (M3UA) to lower side of SCCP */
 	connect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT);