/****************************************************************************** * Copyright (c) 2000-2016 Ericsson Telecom AB * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Balasko, Jeno * Kulcsar, Endre * Szabados, Kristof * ******************************************************************************/ module Test344T { import from Test344A all; type objid MyObjectIdentifierType2 // AS A CONSTANT ********************************************* const MyObjectIdentifierType2 myObjectIdentifierValue2 := myObjectIdentifierValue1 type port MyPort message { inout MyType } with { extension "internal" } type record MyType { objid field1 } template MyType myMessage(objid par_objid) := { field1 := par_objid } type component MyMainComponent { port MyPort M_PCO; } type component MyParallelComponent { port MyPort P_PCO; } function handle_msg_on_ptc() runs on MyParallelComponent { // AS A PARAMETER ********************************************* P_PCO.receive (myMessage(myObjectIdentifierValue1)) setverdict ( pass ); } testcase Test() runs on MyMainComponent { // AS A VARIABLE ********************************************* var MyObjectIdentifierType2 myObjectIdentifierValue3 := myObjectIdentifierValue1 var MyParallelComponent myparallelcomponent := MyParallelComponent.create; connect ( mtc:M_PCO, myparallelcomponent: P_PCO ); myparallelcomponent.start(handle_msg_on_ptc()); // AS A PARAMETER ********************************************* M_PCO.send(myMessage(myObjectIdentifierValue1)) myparallelcomponent.done; } control { execute (Test()) } }