diff --git a/regression_test/BER/.gitignore b/regression_test/BER/.gitignore
deleted file mode 100644
index 9967ab4b1a670daf1000b63a8a567eded4de535c..0000000000000000000000000000000000000000
--- a/regression_test/BER/.gitignore
+++ /dev/null
@@ -1,17 +0,0 @@
-Regr
-Regr.cc
-Regr_se[qt].cc
-Regr_se[qt]of.cc
-Regr_union.cc
-Regr.hh
-Regr.log
-Regr1.cc
-Regr1_se[qt].cc
-Regr1_se[qt]of.cc
-Regr1_union.cc
-Regr1.hh
-Regr2.cc
-Regr2_se[qt].cc
-Regr2_se[qt]of.cc
-Regr2_union.cc
-Regr2.hh
diff --git a/regression_test/BER/MyPort1.cc b/regression_test/BER/MyPort1.cc
deleted file mode 100644
index e19b7be26ebad339de92ce907fd07cd1d9f40fcf..0000000000000000000000000000000000000000
--- a/regression_test/BER/MyPort1.cc
+++ /dev/null
@@ -1,115 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Forstner, Matyas
- *   Lovassy, Arpad
- *   Raduly, Csaba
- *   Szabo, Janos Zoltan – initial implementation
- *
- ******************************************************************************/
-// This Test Port skeleton source file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.2.pl2
-// for Matyas Forstner (tmpmfr@saussure) on Thu Oct 17 16:56:18 2002
-
-
-// You may modify this file. Complete the body of empty functions and
-// add your member functions here.
-
-#include "MyPort1.hh"
-
-#ifndef OLD_NAMES
-namespace Regr {
-#endif
-
-MyPort1::MyPort1(const char *par_port_name)
-	: MyPort1_BASE(par_port_name)
-{
-
-}
-
-MyPort1::~MyPort1()
-{
-
-}
-
-void MyPort1::set_parameter(const char *parameter_name,
-	const char *parameter_value)
-{
-
-}
-
-void MyPort1::Event_Handler(const fd_set *read_fds,
-	const fd_set *write_fds, const fd_set *error_fds,
-	double time_since_last_call)
-{
-
-}
-
-void MyPort1::user_map(const char *system_port)
-{
-
-}
-
-void MyPort1::user_unmap(const char *system_port)
-{
-
-}
-
-void MyPort1::user_start()
-{
-
-}
-
-void MyPort1::user_stop()
-{
-
-}
-
-#ifndef OLD_NAMES
-
-#define SEND_MACRO(module, type) \
-void MyPort1::outgoing_send(const module::type& send_par) \
-{ \
-  TTCN_Buffer buf; \
-  send_par.encode(module::type##_descr_, buf, \
-                  TTCN_EncDec::CT_BER, BER_ENCODE_DER); \
-  OCTETSTRING os; \
-  buf.get_string(os); \
-  incoming_message(os); \
-}
-
-#else
-
-#define SEND_MACRO(module, type) \
-void MyPort1::outgoing_send(const type& send_par) \
-{ \
-  TTCN_Buffer buf; \
-  send_par.encode(type##_descr_, buf, \
-                  TTCN_EncDec::CT_BER, BER_ENCODE_DER); \
-  OCTETSTRING os; \
-  buf.get_string(os); \
-  incoming_message(os); \
-}
-
-#endif
-
-SEND_MACRO(Regr1, T0)
-SEND_MACRO(Regr1, T2)
-SEND_MACRO(Regr1, T3)
-SEND_MACRO(Regr1, T4)
-SEND_MACRO(Regr1, T5)
-SEND_MACRO(Regr1, T6)
-SEND_MACRO(Regr1, T7)
-SEND_MACRO(Regr1, T8)
-SEND_MACRO(Regr2, T10)
-SEND_MACRO(Regr2, T11)
-
-#ifndef OLD_NAMES
-} /* end of namespace */
-#endif
diff --git a/regression_test/BER/MyPort1.hh b/regression_test/BER/MyPort1.hh
deleted file mode 100644
index c59c4a38aa57b7b8939cd729c106386bc27063b8..0000000000000000000000000000000000000000
--- a/regression_test/BER/MyPort1.hh
+++ /dev/null
@@ -1,73 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Forstner, Matyas
- *   Lovassy, Arpad
- *   Raduly, Csaba
- *   Szabo, Janos Zoltan – initial implementation
- *
- ******************************************************************************/
-// This Test Port skeleton header file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.2.pl2
-// for Matyas Forstner (tmpmfr@saussure) on Thu Oct 17 16:56:18 2002
-
-
-// You may modify this file. Add your attributes and prototypes of your
-// member functions here.
-
-#ifndef MyPort1_HH
-#define MyPort1_HH
-
-#include "Regr.hh"
-
-#ifndef OLD_NAMES
-namespace Regr {
-#define REGR1_NS Regr1::
-#define REGR2_NS Regr2::
-#else
-#define REGR1_NS
-#define REGR2_NS
-#endif
-
-class MyPort1 : public MyPort1_BASE {
-public:
-	MyPort1(const char *par_port_name);
-	~MyPort1();
-
-	void set_parameter(const char *parameter_name,
-		const char *parameter_value);
-
-	void Event_Handler(const fd_set *read_fds,
-		const fd_set *write_fds, const fd_set *error_fds,
-		double time_since_last_call);
-
-protected:
-	void user_map(const char *system_port);
-	void user_unmap(const char *system_port);
-
-	void user_start();
-	void user_stop();
-
-	void outgoing_send(const REGR1_NS T0& send_par);
-	void outgoing_send(const REGR1_NS T1& send_par);
-	void outgoing_send(const REGR1_NS T3& send_par);
-	void outgoing_send(const REGR1_NS T4& send_par);
-	void outgoing_send(const REGR1_NS T5& send_par);
-	void outgoing_send(const REGR1_NS T6& send_par);
-	void outgoing_send(const REGR1_NS T7& send_par);
-	void outgoing_send(const REGR1_NS T8& send_par);
-	void outgoing_send(const REGR2_NS T10& send_par);
-	void outgoing_send(const REGR2_NS T11& send_par);
-};
-
-#ifndef OLD_NAMES
-} /* end of namespace */
-#endif
-
-#endif
diff --git a/regression_test/BER/MyPort2.cc b/regression_test/BER/MyPort2.cc
deleted file mode 100644
index 85ec1d2bdc2a8108334bb5e9e84b7711f2076724..0000000000000000000000000000000000000000
--- a/regression_test/BER/MyPort2.cc
+++ /dev/null
@@ -1,124 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Forstner, Matyas
- *   Lovassy, Arpad
- *   Raduly, Csaba
- *   Szabo, Janos Zoltan – initial implementation
- *
- ******************************************************************************/
-// This Test Port skeleton source file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.2.pl2
-// for Matyas Forstner (tmpmfr@saussure) on Thu Oct 17 16:56:18 2002
-
-
-// You may modify this file. Complete the body of empty functions and
-// add your member functions here.
-
-#include "MyPort2.hh"
-
-#ifndef OLD_NAMES
-namespace Regr {
-#endif
-
-MyPort2::MyPort2(const char *par_port_name)
-	: MyPort2_BASE(par_port_name)
-{
-
-}
-
-MyPort2::~MyPort2()
-{
-
-}
-
-void MyPort2::set_parameter(const char *parameter_name,
-	const char *parameter_value)
-{
-
-}
-
-void MyPort2::Event_Handler(const fd_set *read_fds,
-	const fd_set *write_fds, const fd_set *error_fds,
-	double time_since_last_call)
-{
-
-}
-
-void MyPort2::user_map(const char *system_port)
-{
-
-}
-
-void MyPort2::user_unmap(const char *system_port)
-{
-
-}
-
-void MyPort2::user_start()
-{
-
-}
-
-void MyPort2::user_stop()
-{
-
-}
-
-#ifndef OLD_NAMES
-
-#define DECODER_MACRO(module, type) \
-{ \
-  module::type pdu; \
-  TTCN_EncDec::clear_error(); \
-  buf.rewind(); \
-  pdu.decode(module::type##_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); \
-  if(TTCN_EncDec::get_last_error_type() == TTCN_EncDec::ET_NONE) { \
-    incoming_message(pdu); \
-    return; \
-  } \
-}
-
-#else
-
-#define DECODER_MACRO(module, type) \
-{ \
-  type pdu; \
-  TTCN_EncDec::clear_error(); \
-  buf.rewind(); \
-  pdu.decode(type##_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); \
-  if(TTCN_EncDec::get_last_error_type() == TTCN_EncDec::ET_NONE) { \
-    incoming_message(pdu); \
-    return; \
-  } \
-}
-
-#endif
-
-void MyPort2::outgoing_send(const OCTETSTRING& send_par)
-{
-  TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,
-                                  TTCN_EncDec::EB_WARNING);
-  TTCN_Buffer buf(send_par);
-
-  DECODER_MACRO(Regr1, T0)
-  DECODER_MACRO(Regr1, T2)
-  DECODER_MACRO(Regr1, T3)
-  DECODER_MACRO(Regr1, T4)
-  DECODER_MACRO(Regr1, T5)
-  DECODER_MACRO(Regr1, T6)
-  DECODER_MACRO(Regr1, T7)
-  DECODER_MACRO(Regr1, T8)
-  DECODER_MACRO(Regr2, T10)
-  DECODER_MACRO(Regr2, T11)
-}
-
-#ifndef OLD_NAMES
-} /* end of namespace */
-#endif
diff --git a/regression_test/BER/MyPort2.hh b/regression_test/BER/MyPort2.hh
deleted file mode 100644
index aab86cf7caefc13972acb87e8910e0320e8f31fa..0000000000000000000000000000000000000000
--- a/regression_test/BER/MyPort2.hh
+++ /dev/null
@@ -1,59 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Forstner, Matyas
- *   Lovassy, Arpad
- *   Raduly, Csaba
- *   Szabo, Janos Zoltan – initial implementation
- *
- ******************************************************************************/
-// This Test Port skeleton header file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.2.pl2
-// for Matyas Forstner (tmpmfr@saussure) on Thu Oct 17 16:56:18 2002
-
-
-// You may modify this file. Add your attributes and prototypes of your
-// member functions here.
-
-#ifndef MyPort2_HH
-#define MyPort2_HH
-
-#include "Regr.hh"
-
-#ifndef OLD_NAMES
-namespace Regr {
-#endif
-
-class MyPort2 : public MyPort2_BASE {
-public:
-	MyPort2(const char *par_port_name);
-	~MyPort2();
-
-	void set_parameter(const char *parameter_name,
-		const char *parameter_value);
-
-	void Event_Handler(const fd_set *read_fds,
-		const fd_set *write_fds, const fd_set *error_fds,
-		double time_since_last_call);
-
-protected:
-	void user_map(const char *system_port);
-	void user_unmap(const char *system_port);
-
-	void user_start();
-	void user_stop();
-
-	void outgoing_send(const OCTETSTRING& send_par);
-};
-
-#ifndef OLD_NAMES
-} /* end of namespace */
-#endif
-
-#endif
diff --git a/regression_test/BER/Regr.cfg b/regression_test/BER/Regr.cfg
deleted file mode 100644
index 9ad20509f84e7b1ffd0714a814b2b8b6ba2641f1..0000000000000000000000000000000000000000
--- a/regression_test/BER/Regr.cfg
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000-2019 Ericsson Telecom AB
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
-#
-# Contributors:
-#   Balasko, Jeno
-#   Beres, Szabolcs
-#   Forstner, Matyas
-#   Szabo, Janos Zoltan – initial implementation
-#
-###############################################################################
-[MODULE_PARAMETERS]
-
-[LOGGING]
-
-LogFile := "Regr.log"
-FileMask := LOG_ALL
-ConsoleMask := TTCN_TESTCASE | TTCN_STATISTICS
-SourceInfoFormat := Single
-
-[EXECUTE]
-
-Regr.control
diff --git a/regression_test/BER/Regr.ttcn b/regression_test/BER/Regr.ttcn
deleted file mode 100644
index 407a07d437e5cc153b3d8008a31c46a4101964c0..0000000000000000000000000000000000000000
--- a/regression_test/BER/Regr.ttcn
+++ /dev/null
@@ -1,1176 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Beres, Szabolcs
- *   Forstner, Matyas
- *   Koppany, Csaba
- *   Kovacs, Ferenc
- *   Szabados, Kristof
- *   Szabo, Janos Zoltan – initial implementation
- *
- ******************************************************************************/
-module Regr
-{
-  import from Regr1 language "ASN.1:1997" all
-    with {encode "DER:1997"};
-  import from Regr2 language "ASN.1:1997" all
-    with {encode "DER:1997"};
-
-  external function enc_ber_int(in integer r) return octetstring
-    with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
-  external function dec_ber_int(in octetstring r) return integer
-    with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
-
-  type component comp_ber { }
-
-  type port MyPort1 message
-  {
-    out T0, T2, T3, T4, T5, T6, T7, T8,
-      T10, T11;
-    in octetstring;
-  }
-
-  type port MyPort2 message
-  {
-    in T0, T2, T3, T4, T5, T6, T7, T8,
-      T10, T11;
-    out octetstring;
-  }
-
-  type component MyComponent
-  {
-    timer T := 1.0;
-    port MyPort1 P1;
-    port MyPort2 P2;
-  }
-
-  type component MySystemType
-  {
-    port MyPort2 S1;
-    port MyPort1 S2;
-  }
-
-  altstep MyAltstep() runs on MyComponent
-  {
-    [] P1.receive { setverdict(fail); }
-    [] P2.receive { setverdict(fail); }
-    [] T.timeout { setverdict(inconc); T.start; }
-  }
-
-  testcase TC0a() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c0a);
-    T.start;
-    P1.receive(d0a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d0a);
-    T.start;
-    P2.receive(c0a);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC2a() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c2a);
-    T.start;
-    P1.receive(d2a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d2a);
-    T.start;
-    P2.receive(c2a);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC2b() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c2b);
-    T.start;
-    P1.receive(d2b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d2b);
-    T.start;
-    P2.receive(c2b);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC3a() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c3a);
-    T.start;
-    P1.receive(d3a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3a);
-    T.start;
-    P2.receive(c3a);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC3b() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c3b);
-    T.start;
-    P1.receive(d3b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3b);
-    T.start;
-    P2.receive(c3b);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC3c() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c3c);
-    T.start;
-    P1.receive(d3c);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3c);
-    T.start;
-    P2.receive(c3c);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3d);
-    T.start;
-    P1.receive(d3d);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3d);
-    T.start;
-    P2.receive(c3d);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3e);
-    T.start;
-    P1.receive(d3e);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3e);
-    T.start;
-    P2.receive(c3e);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3f);
-    T.start;
-    P1.receive(d3f);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3f);
-    T.start;
-    P2.receive(c3f);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3g);
-    T.start;
-    P1.receive(d3g);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3g);
-    T.start;
-    P2.receive(c3g);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3h);
-    T.start;
-    P1.receive(d3h);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3h);
-    T.start;
-    P2.receive(c3h);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3i);
-    T.start;
-    P1.receive(d3i);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3i);
-    T.start;
-    P2.receive(c3i);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3j);
-    T.start;
-    P1.receive(d3j);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3j);
-    T.start;
-    P2.receive(c3j);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3k);
-    T.start;
-    P1.receive(d3k);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3k);
-    T.start;
-    P2.receive(c3k);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3l);
-    T.start;
-    P1.receive(d3l);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3l);
-    T.start;
-    P2.receive(c3l);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3m);
-    T.start;
-    P1.receive(d3m);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3m);
-    T.start;
-    P2.receive(c3m);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3n);
-    T.start;
-    P1.receive(d3n);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3n);
-    T.start;
-    P2.receive(c3n);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3o);
-    T.start;
-    P1.receive(d3o);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3o);
-    T.start;
-    P2.receive(c3o);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3p);
-    T.start;
-    P1.receive(d3p);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3p);
-    T.start;
-    P2.receive(c3p);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c3q);
-    T.start;
-    P1.receive(d3q);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d3q);
-    T.start;
-    P2.receive(c3q);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC4() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c4a);
-    T.start;
-    P1.receive(d4a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d4a);
-    T.start;
-    P2.receive(c4a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c4b);
-    T.start;
-    P1.receive(d4b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d4b);
-    T.start;
-    P2.receive(c4b);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c4c);
-    T.start;
-    P1.receive(d4c);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d4c);
-    T.start;
-    P2.receive(c4c);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c4d);
-    T.start;
-    P1.receive(d4d);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d4d);
-    T.start;
-    P2.receive(c4d);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c4e);
-    T.start;
-    P1.receive(d4e);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d4d);
-    T.start;
-    P2.receive(c4d);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC5() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c5a);
-    T.start;
-    P1.receive(d5a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d5a);
-    T.start;
-    P2.receive(c5a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c5b);
-    T.start;
-    P1.receive(d5b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d5b);
-    T.start;
-    P2.receive(c5b);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c5c);
-    T.start;
-    P1.receive(d5c);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d5c);
-    T.start;
-    P2.receive(c5c);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c5d);
-    T.start;
-    P1.receive(d5d);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d5d);
-    T.start;
-    P2.receive(c5d);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c5e);
-    T.start;
-    P1.receive(d5e);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d5e);
-    T.start;
-    P2.receive(c5e);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c5f);
-    T.start;
-    P1.receive(d5f);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d5f);
-    T.start;
-    P2.receive(c5f);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC6() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c6a);
-    T.start;
-    P1.receive(d6a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d6a);
-    T.start;
-    P2.receive(c6a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c6b);
-    T.start;
-    P1.receive(d6b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d6b);
-    T.start;
-    P2.receive(c6b);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c6c);
-    T.start;
-    P1.receive(d6c);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d6c);
-    T.start;
-    P2.receive(c6d); // Yes, c6d==c6c
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c6d);
-    T.start;
-    P1.receive(d6d);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d6d);
-    T.start;
-    P2.receive(c6d);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c6e);
-    T.start;
-    P1.receive(d6e);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d6e);
-    T.start;
-    P2.receive(c6e);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC7() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c7a);
-    T.start;
-    P1.receive(d7a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d7a);
-    T.start;
-    P2.receive(c7a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c7b);
-    T.start;
-    P1.receive(d7b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d7b);
-    T.start;
-    P2.receive(c7b);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c7c);
-    T.start;
-    P1.receive(d7c);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d7c);
-    T.start;
-    P2.receive(c7c);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c7d);
-    T.start;
-    P1.receive(d7d);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d7d);
-    T.start;
-    P2.receive(c7d);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c7e);
-    T.start;
-    P1.receive(d7e);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d7e);
-    T.start;
-    P2.receive(c7e);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC8() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c8a);
-    T.start;
-    P1.receive(d8a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d8a);
-    T.start;
-    P2.receive(c8a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c8b);
-    T.start;
-    P1.receive(d8b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d8b);
-    T.start;
-    P2.receive(c8b);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC10() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c10a);
-    T.start;
-    P1.receive(d10a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d10a);
-    T.start;
-    P2.receive(c10a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c10b);
-    T.start;
-    P1.receive(d10b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d10b);
-    T.start;
-    P2.receive(c10b);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_12() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_12a);
-    T.start;
-    P1.receive(d11_12a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_12a);
-    T.start;
-    P2.receive(c11_12a);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_13() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_13a);
-    T.start;
-    P1.receive(d11_13a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_13a);
-    T.start;
-    P2.receive(c11_13a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c11_13b);
-    T.start;
-    P1.receive(d11_13b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_13b);
-    T.start;
-    P2.receive(c11_13b);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_14() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_14a);
-    T.start;
-    P1.receive(d11_14a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_14a);
-    T.start;
-    P2.receive(c11_14a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c11_14b);
-    T.start;
-    P1.receive(d11_14b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_14b);
-    T.start;
-    P2.receive(c11_14b);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_15() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_15a);
-    T.start;
-    P1.receive(d11_15a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_15a);
-    T.start;
-    P2.receive(c11_15a);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_16() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_16a);
-    T.start;
-    P1.receive(d11_16a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_16a);
-    T.start;
-    P2.receive(c11_16a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c11_16b);
-    T.start;
-    P1.receive(d11_16b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_16b);
-    T.start;
-    P2.receive(c11_16b);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_17() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_17a);
-    T.start;
-    P1.receive(d11_17a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_17a);
-    T.start;
-    P2.receive(c11_17a);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_18() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_18a);
-    T.start;
-    P1.receive(d11_18a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_18a);
-    T.start;
-    P2.receive(c11_18a);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_19() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_19a);
-    T.start;
-    P1.receive(d11_19a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_19a);
-    T.start;
-    P2.receive(c11_19a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c11_19b);
-    T.start;
-    P1.receive(d11_19b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_19b);
-    T.start;
-    P2.receive(c11_19b);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c11_19c);
-    T.start;
-    P1.receive(d11_19c);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_19c);
-    T.start;
-    P2.receive(c11_19c);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_20() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_20a);
-    T.start;
-    P1.receive(d11_20a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_20a);
-    T.start;
-    P2.receive(c11_20a);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_21() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_21a);
-    T.start;
-    P1.receive(d11_21a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_21a);
-    T.start;
-    P2.receive(c11_21a);
-    setverdict(pass);
-    T.stop;
-
-    P1.send(c11_21b);
-    T.start;
-    P1.receive(d11_21b);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_21b);
-    T.start;
-    P2.receive(c11_21b);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC11_22() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(c11_22a);
-    T.start;
-    P1.receive(d11_22a);
-    setverdict(pass);
-    T.stop;
-
-    P2.send(d11_22a);
-    T.start;
-    P2.receive(c11_22a);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  function check_enc_dec(integer int, octetstring expected) {
-    var octetstring encoded_pdu := enc_ber_int(int);
-    if (encoded_pdu == expected) {setverdict(pass);}
-    else {setverdict(fail, "Encoding failed, encoded_pdu is ", log2str(encoded_pdu));}
-    var integer decoded :=  dec_ber_int(encoded_pdu);
-    if (int == decoded) { setverdict(pass); }
-    else {setverdict(fail, "decoding failed, decoded is ", decoded);}
-  } with {
-    extension "transparent"
-  }
-
-  testcase tc_int_enc_dec() runs on comp_ber {
-
-    check_enc_dec( 0, '020100'O);
-
-    check_enc_dec(-1, '0201FF'O);
-    check_enc_dec( 1, '020101'O);
-
-    check_enc_dec(-2, '0201FE'O);
-    check_enc_dec( 2, '020102'O);
-    check_enc_dec(-5, '0201FB'O);
-    check_enc_dec( 5, '020105'O);
-
-    check_enc_dec(-254, '0202FF02'O);
-    check_enc_dec( 254, '020200FE'O);
-    check_enc_dec(-255, '0202FF01'O);
-    check_enc_dec( 255, '020200FF'O);
-    check_enc_dec(-256, '0202FF00'O);
-    check_enc_dec( 256, '02020100'O);
-
-    check_enc_dec(-1234, '0202FB2E'O);
-
-    // 2^16
-    check_enc_dec(-65534, '0203FF0002'O);
-    check_enc_dec( 65534, '020300FFFE'O);
-    check_enc_dec(-65535, '0203FF0001'O);
-    check_enc_dec( 65535, '020300FFFF'O);
-    check_enc_dec(-65536, '0203FF0000'O);
-    check_enc_dec( 65536, '0203010000'O);
-
-    // 2^24
-    check_enc_dec(-16777215, '0204FF000001'O);
-    check_enc_dec( 16777215, '020400FFFFFF'O);
-    check_enc_dec(-16777216, '0204FF000000'O);
-    check_enc_dec( 16777216, '020401000000'O);
-    check_enc_dec(-16777217, '0204FEFFFFFF'O);
-    check_enc_dec( 16777217, '020401000001'O);
-
-    // 2^32 
-    check_enc_dec(-4294967295, '0205FF00000001'O);
-    check_enc_dec( 4294967295, '020500FFFFFFFF'O);
-    check_enc_dec(-4294967296, '0205FF00000000'O);
-    check_enc_dec( 4294967296, '02050100000000'O);
-    check_enc_dec(-4294967297, '0205FEFFFFFFFF'O);
-    check_enc_dec( 4294967297, '02050100000001'O);
-
-    // 8 bit min,max
-    check_enc_dec(-128, '020180'O);
-    check_enc_dec( 127, '02017F'O);
-
-    // 32 bit min,max 
-    check_enc_dec(-2147483648, '020480000000'O);
-    check_enc_dec( 2147483647, '02047FFFFFFF'O);
-
-    // 40 bit min,max 
-    check_enc_dec(-549755813888, '02058000000000'O);
-    check_enc_dec( 549755813887, '02057FFFFFFFFF'O);
-
-    // 48 bit min,max 
-    check_enc_dec(-140737488355328, '0206800000000000'O);
-    check_enc_dec( 140737488355327, '02067FFFFFFFFFFF'O);
-
-    // 56 bit min,max 
-    check_enc_dec(-36028797018963968, '020780000000000000'O);
-    check_enc_dec( 36028797018963967, '02077FFFFFFFFFFFFF'O);
-
-    // 64 bit min,max 
-    check_enc_dec(-9223372036854775808,  '02088000000000000000'O);
-    check_enc_dec( 9223372036854775807, '02087FFFFFFFFFFFFFFF'O);
-
-    check_enc_dec(-12345678910111213141516, '020AFD62BD49A976CD7441F4'O);
-    check_enc_dec( 12345678910111213141516, '020A029D42B65689328BBE0C'O);
-    
-  }
-
-  control
-  {
-    execute(TC0a());
-    execute(TC2a());
-    execute(TC2b());
-    execute(TC3a());
-    execute(TC3b());
-    execute(TC3c());
-    execute(TC4());
-    execute(TC5());
-    execute(TC6());
-    execute(TC7());
-    execute(TC8());
-    execute(TC10());
-    execute(TC11_12());
-    execute(TC11_13());
-    execute(TC11_14());
-    execute(TC11_15());
-    execute(TC11_16());
-    execute(TC11_17());
-    execute(TC11_18());
-    execute(TC11_19());
-    execute(TC11_20());
-    execute(TC11_21());
-    execute(TC11_22());
-    execute(tc_int_enc_dec());
-  }
-
-}
diff --git a/regression_test/BER_x682/.gitignore b/regression_test/BER_x682/.gitignore
deleted file mode 100644
index 3e2d69402bcf6b575b64220f073157dc992c5cdd..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-X
-X.cc
-X_se[qt].cc
-X_se[qt]of.cc
-X_union.cc
-X.hh
-X.log
-X682.cc
-X682_se[qt].cc
-X682_se[qt]of.cc
-X682_union.cc
-X682.hh
-compile
diff --git a/regression_test/BER_x682/Makefile b/regression_test/BER_x682/Makefile
deleted file mode 100644
index 8c2306be2fda5d3b3ca519290dc56eeeacd0e8af..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682/Makefile
+++ /dev/null
@@ -1,76 +0,0 @@
-##############################################################################
-# Copyright (c) 2000-2019 Ericsson Telecom AB
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
-#
-# Contributors:
-#   Balasko, Jeno
-#   Delic, Adam
-#   Koppany, Csaba
-#   Kovacs, Ferenc
-#   Raduly, Csaba
-#   Szabados, Kristof
-#   Szabo, Bence Janos
-#   Szabo, Janos Zoltan – initial implementation
-#
-##############################################################################
-TOPDIR := ..
-include $(TOPDIR)/Makefile.regression
-
-.PHONY: all clean dep run
-
-TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
-
-TTCN3_MODULES = X.ttcn
-ASN1_MODULES = X682.asn
-
-GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
-GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
-ifdef CODE_SPLIT
-GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
-else ifdef SPLIT_TO_SLICES
-POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
-POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
-GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
-GENERATED_SOURCES += $(GENERATED_SOURCES2)
-endif
-
-USER_SOURCES = MyPort1.cc MyPort2.cc
-USER_HEADERS = MyPort1.hh MyPort2.hh
-
-OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
-
-TARGET = X$(EXESUFFIX)
-
-all: $(TARGET)
-
-$(TARGET): $(GENERATED_SOURCES) $(USER_SOURCES)
-	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
-	-L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
-
-$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
-
-compile: $(TTCN3_MODULES) $(ASN1_MODULES)
-	$(TTCN3_COMPILER) $^
-	touch compile
-
-clean distclean:
-	-rm -f $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
-	$(GENERATED_SOURCES) compile *.log
-
-dep: $(GENERATED_SOURCES)
-	makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES)
-
-run: $(TARGET) X.cfg
-	./$^
-
-MyPort1.o: MyPort1.hh X.hh X682.hh MyPort2.hh
-MyPort2.o: MyPort2.hh X.hh X682.hh MyPort1.hh
-X.o: X.hh X682.hh MyPort1.hh MyPort2.hh
-X682.o: X682.hh
-
-ifdef SRCDIR
-$(foreach src, $(USER_SOURCES), $(eval vpath $(src) $(ABS_SRC)))
-endif
diff --git a/regression_test/BER_x682/MyPort1.cc b/regression_test/BER_x682/MyPort1.cc
deleted file mode 100644
index eda0ead55159119dc7aa586ef0325978ec32ac93..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682/MyPort1.cc
+++ /dev/null
@@ -1,90 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Delic, Adam
- *   Forstner, Matyas
- *   Koppany, Csaba
- *   Lovassy, Arpad
- *   Raduly, Csaba
- *   Szabo, Janos Zoltan – initial implementation
- *
- ******************************************************************************/
-// This Test Port skeleton source file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0
-// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003
-
-
-// You may modify this file. Complete the body of empty functions and
-// add your member functions here.
-
-#include "MyPort1.hh"
-
-#ifndef OLD_NAMES
-using namespace X682;
-
-namespace X {
-#endif
-
-MyPort1::MyPort1(const char *par_port_name)
-	: MyPort1_BASE(par_port_name)
-{
-
-}
-
-MyPort1::~MyPort1()
-{
-
-}
-
-void MyPort1::set_parameter(const char *parameter_name,
-	const char *parameter_value)
-{
-
-}
-
-void MyPort1::Event_Handler(const fd_set *read_fds,
-	const fd_set *write_fds, const fd_set *error_fds,
-	double time_since_last_call)
-{
-
-}
-
-void MyPort1::user_map(const char *system_port)
-{
-
-}
-
-void MyPort1::user_unmap(const char *system_port)
-{
-
-}
-
-void MyPort1::user_start()
-{
-
-}
-
-void MyPort1::user_stop()
-{
-
-}
-
-void MyPort1::outgoing_send(const ErrorReturn& send_par)
-{
-  TTCN_Buffer buf;
-  send_par.encode(ErrorReturn_descr_, buf,
-                  TTCN_EncDec::CT_BER, BER_ENCODE_DER);
-  OCTETSTRING os;
-  buf.get_string(os);
-  incoming_message(os);
-}
-
-#ifndef OLD_NAMES
-}
-#endif
diff --git a/regression_test/BER_x682/MyPort1.hh b/regression_test/BER_x682/MyPort1.hh
deleted file mode 100644
index 42738c500e8594b6d07d26275065993a698a43c0..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682/MyPort1.hh
+++ /dev/null
@@ -1,62 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Delic, Adam
- *   Koppany, Csaba
- *   Lovassy, Arpad
- *   Raduly, Csaba
- *
- ******************************************************************************/
-// This Test Port skeleton header file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0
-// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003
-
-
-// You may modify this file. Add your attributes and prototypes of your
-// member functions here.
-
-#ifndef MyPort1_HH
-#define MyPort1_HH
-
-#include "X.hh"
-
-#ifndef OLD_NAMES
-#define X682NS X682::
-namespace X {
-#else
-#define X682NS
-#endif
-
-class MyPort1 : public MyPort1_BASE {
-public:
-	MyPort1(const char *par_port_name);
-	~MyPort1();
-
-	void set_parameter(const char *parameter_name,
-		const char *parameter_value);
-
-	void Event_Handler(const fd_set *read_fds,
-		const fd_set *write_fds, const fd_set *error_fds,
-		double time_since_last_call);
-
-protected:
-	void user_map(const char *system_port);
-	void user_unmap(const char *system_port);
-
-	void user_start();
-	void user_stop();
-
-	void outgoing_send(const X682NS ErrorReturn& send_par);
-};
-
-#ifndef OLD_NAMES
-}
-#endif
-
-#endif
diff --git a/regression_test/BER_x682/MyPort2.cc b/regression_test/BER_x682/MyPort2.cc
deleted file mode 100644
index cd513b52a0cf503d94edfd1326fc1b0a8b820a2c..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682/MyPort2.cc
+++ /dev/null
@@ -1,92 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Delic, Adam
- *   Forstner, Matyas
- *   Koppany, Csaba
- *   Lovassy, Arpad
- *   Raduly, Csaba
- *   Szabo, Janos Zoltan – initial implementation
- *
- ******************************************************************************/
-// This Test Port skeleton source file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0
-// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003
-
-
-// You may modify this file. Complete the body of empty functions and
-// add your member functions here.
-
-#include "MyPort2.hh"
-
-#ifndef OLD_NAMES
-using namespace X682;
-
-namespace X {
-#endif
-
-MyPort2::MyPort2(const char *par_port_name)
-	: MyPort2_BASE(par_port_name)
-{
-
-}
-
-MyPort2::~MyPort2()
-{
-
-}
-
-void MyPort2::set_parameter(const char *parameter_name,
-	const char *parameter_value)
-{
-
-}
-
-void MyPort2::Event_Handler(const fd_set *read_fds,
-	const fd_set *write_fds, const fd_set *error_fds,
-	double time_since_last_call)
-{
-
-}
-
-void MyPort2::user_map(const char *system_port)
-{
-
-}
-
-void MyPort2::user_unmap(const char *system_port)
-{
-
-}
-
-void MyPort2::user_start()
-{
-
-}
-
-void MyPort2::user_stop()
-{
-
-}
-
-void MyPort2::outgoing_send(const OCTETSTRING& send_par)
-{
-  /*
-  TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,
-                                  TTCN_EncDec::EB_ERROR);
-  */
-  TTCN_Buffer buf(send_par);
-  ErrorReturn pdu;
-  pdu.decode(ErrorReturn_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL);
-  incoming_message(pdu);
-}
-
-#ifndef OLD_NAMES
-}
-#endif
diff --git a/regression_test/BER_x682/MyPort2.hh b/regression_test/BER_x682/MyPort2.hh
deleted file mode 100644
index 4b694901b60a0607bda39eb22dc5d821fdee637d..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682/MyPort2.hh
+++ /dev/null
@@ -1,60 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Delic, Adam
- *   Koppany, Csaba
- *   Lovassy, Arpad
- *   Raduly, Csaba
- *   Szabados, Kristof
- *
- ******************************************************************************/
-// This Test Port skeleton header file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0
-// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003
-
-
-// You may modify this file. Add your attributes and prototypes of your
-// member functions here.
-
-#ifndef MyPort2_HH
-#define MyPort2_HH
-
-#include "X.hh"
-
-#ifndef OLD_NAMES
-namespace X {
-#endif
-
-class MyPort2 : public MyPort2_BASE {
-public:
-	MyPort2(const char *par_port_name);
-	~MyPort2();
-
-	void set_parameter(const char *parameter_name,
-		const char *parameter_value);
-
-	void Event_Handler(const fd_set *read_fds,
-		const fd_set *write_fds, const fd_set *error_fds,
-		double time_since_last_call);
-
-protected:
-	void user_map(const char *system_port);
-	void user_unmap(const char *system_port);
-
-	void user_start();
-	void user_stop();
-
-	void outgoing_send(const OCTETSTRING& send_par);
-};
-
-#ifndef OLD_NAMES
-}
-#endif
-
-#endif
diff --git a/regression_test/BER_x682/X.ttcn b/regression_test/BER_x682/X.ttcn
deleted file mode 100644
index fb18bc3b2e46f81cd9f6e817933fdb63c0092833..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682/X.ttcn
+++ /dev/null
@@ -1,90 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Koppany, Csaba
- *   Szabo, Janos Zoltan – initial implementation
- *
- ******************************************************************************/
-module X
-{
-  import from X682 language "ASN.1:1997" all
-
-  type port MyPort1 message
-  {
-    out ErrorReturn;
-    in octetstring;
-  }
-
-  type port MyPort2 message
-  {
-    out octetstring;
-    in ErrorReturn;
-  }
-
-  type component MyComponent
-  {
-    timer T := 1.0;
-    port MyPort1 P1;
-    port MyPort2 P2;
-  }
-
-  type component MySystemType
-  {
-    port MyPort2 S1;
-    port MyPort1 S2;
-  }
-
-  altstep MyAltstep() runs on MyComponent
-  {
-    [] P1.receive { setverdict(fail); }
-    [] P2.receive { setverdict(fail); }
-    [] T.timeout { setverdict(inconc); T.start; }
-  }
-
-  testcase TC0a() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(errorReturn1);
-    T.start;
-    P1.receive(ber_errorReturn1);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC0b() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P2.send(ber_errorReturn1);
-    T.start;
-    P2.receive(errorReturn1);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  control
-  {
-    execute(TC0a());
-    execute(TC0b());
-  }
-
-}
diff --git a/regression_test/BER_x682_wa/Makefile b/regression_test/BER_x682_wa/Makefile
deleted file mode 100644
index 413fe3c58324da43df6e082571dfcc1cf351072d..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682_wa/Makefile
+++ /dev/null
@@ -1,71 +0,0 @@
-##############################################################################
-# Copyright (c) 2000-2019 Ericsson Telecom AB
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
-#
-# Contributors:
-#   Balasko, Jeno
-#   Delic, Adam
-#   Forstner, Matyas
-#   Kovacs, Ferenc
-#   Raduly, Csaba
-#   Szabados, Kristof
-#   Szabo, Bence Janos
-#   Szabo, Janos Zoltan – initial implementation
-#
-##############################################################################
-TOPDIR := ..
-include   ../Makefile.regression
-
-.SUFFIXES: .ttcn .asn .hh
-.PHONY: all clean dep run
-
-TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
-
-TTCN3_MODULES = X.ttcn
-ASN1_MODULES = x682.asn
-
-GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc)
-GENERATED_HEADERS = $(ASN1_MODULES:.asn=.hh) $(TTCN3_MODULES:.ttcn=.hh)
-ifdef CODE_SPLIT
-GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
-else ifdef SPLIT_TO_SLICES
-POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
-POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
-GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
-GENERATED_SOURCES += $(GENERATED_SOURCES2)
-endif
-
-USER_SOURCES = MyPort1.cc MyPort2.cc
-USER_HEADERS = MyPort1.hh MyPort2.hh
-
-OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
-
-TARGET = X
-
-all: $(TARGET)
-
-$(TARGET): $(GENERATED_SOURCES) $(USER_SOURCES)
-	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
-	-L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
-
-.ttcn.cc .ttcn.hh:
-	$(TTCN3_COMPILER) $<
-
-.asn.cc .asn.hh:
-	$(TTCN3_COMPILER) $<
-
-clean distclean:
-	-rm -f $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
-	$(GENERATED_SOURCES) *.log Makefile.bak
-
-dep: $(GENERATED_SOURCES)
-	makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES)
-
-run: $(TARGET)
-	./$(TARGET) X.cfg
-
-.NOTPARALLEL:
-
diff --git a/regression_test/BER_x682_wa/MyPort1.cc b/regression_test/BER_x682_wa/MyPort1.cc
deleted file mode 100644
index ec048cd5ff7e187ee5bc6af9c01a847f61245803..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682_wa/MyPort1.cc
+++ /dev/null
@@ -1,72 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Forstner, Matyas
- *   Lovassy, Arpad
- *
- ******************************************************************************/
-// This Test Port skeleton source file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0
-// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003
-// You may modify this file. Complete the body of empty functions and
-// add your member functions here.
-
-#include "MyPort1.hh"
-
-MyPort1::MyPort1(const char *par_port_name)
-	: MyPort1_BASE(par_port_name)
-{
-
-}
-
-MyPort1::~MyPort1()
-{
-
-}
-
-void MyPort1::set_parameter(const char *parameter_name,
-	const char *parameter_value)
-{
-
-}
-
-void MyPort1::Event_Handler(const fd_set *read_fds,
-	const fd_set *write_fds, const fd_set *error_fds,
-	double time_since_last_call)
-{
-
-}
-
-void MyPort1::user_map(const char *system_port)
-{
-
-}
-
-void MyPort1::user_unmap(const char *system_port)
-{
-
-}
-
-void MyPort1::user_start()
-{
-
-}
-
-void MyPort1::user_stop()
-{
-
-}
-
-void MyPort1::outgoing_send(const ErrorReturn& send_par)
-{
-  BER_Buf BER_buf;
-  send_par.encode_BER(BER_ENCODE_DER, ErrorReturn_tag, BER_buf);
-  incoming_message(OCTETSTRING(BER_buf.get_len(), BER_buf.get_data()));
-}
-
diff --git a/regression_test/BER_x682_wa/MyPort1.hh b/regression_test/BER_x682_wa/MyPort1.hh
deleted file mode 100644
index 6fb0cf3c31521552e60a6168dc4ecff13164c8ac..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682_wa/MyPort1.hh
+++ /dev/null
@@ -1,47 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Forstner, Matyas
- *   Lovassy, Arpad
- *
- ******************************************************************************/
-// This Test Port skeleton header file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0
-// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003
-// You may modify this file. Add your attributes and prototypes of your
-// member functions here.
-
-#ifndef MyPort1_HH
-#define MyPort1_HH
-
-#include "X.hh"
-
-class MyPort1 : public MyPort1_BASE {
-public:
-	MyPort1(const char *par_port_name);
-	~MyPort1();
-
-	void set_parameter(const char *parameter_name,
-		const char *parameter_value);
-
-	void Event_Handler(const fd_set *read_fds,
-		const fd_set *write_fds, const fd_set *error_fds,
-		double time_since_last_call);
-
-protected:
-	void user_map(const char *system_port);
-	void user_unmap(const char *system_port);
-
-	void user_start();
-	void user_stop();
-
-	void outgoing_send(const ErrorReturn& send_par);
-};
-
-#endif
diff --git a/regression_test/BER_x682_wa/MyPort2.cc b/regression_test/BER_x682_wa/MyPort2.cc
deleted file mode 100644
index c21ef2c34a4917a1e3c38bec921956ae43bf37cb..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682_wa/MyPort2.cc
+++ /dev/null
@@ -1,76 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Forstner, Matyas
- *   Lovassy, Arpad
- *
- ******************************************************************************/
-// This Test Port skeleton source file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0
-// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003
-//
-// You may modify this file. Complete the body of empty functions and
-// add your member functions here.
-
-#include "MyPort2.hh"
-
-MyPort2::MyPort2(const char *par_port_name)
-	: MyPort2_BASE(par_port_name)
-{
-
-}
-
-MyPort2::~MyPort2()
-{
-
-}
-
-void MyPort2::set_parameter(const char *parameter_name,
-	const char *parameter_value)
-{
-
-}
-
-void MyPort2::Event_Handler(const fd_set *read_fds,
-	const fd_set *write_fds, const fd_set *error_fds,
-	double time_since_last_call)
-{
-
-}
-
-void MyPort2::user_map(const char *system_port)
-{
-
-}
-
-void MyPort2::user_unmap(const char *system_port)
-{
-
-}
-
-void MyPort2::user_start()
-{
-
-}
-
-void MyPort2::user_stop()
-{
-
-}
-
-void MyPort2::outgoing_send(const OCTETSTRING& send_par)
-{
-  BER_Buf BER_buf;
-  BER_buf.put_s(send_par.lengthof(), send_par);
-
-  ErrorReturn pdu;
-  pdu.decode_BER(BER_buf, ErrorReturn_tag, BER_ACCEPT_ALL);
-  incoming_message(pdu);
-}
-
diff --git a/regression_test/BER_x682_wa/MyPort2.hh b/regression_test/BER_x682_wa/MyPort2.hh
deleted file mode 100644
index d953859544cf5f94a2da1bea71d175dd4b6f8b6d..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682_wa/MyPort2.hh
+++ /dev/null
@@ -1,48 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Forstner, Matyas
- *   Lovassy, Arpad
- *
- ******************************************************************************/
-// This Test Port skeleton header file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0
-// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003
-//
-// You may modify this file. Add your attributes and prototypes of your
-// member functions here.
-
-#ifndef MyPort2_HH
-#define MyPort2_HH
-
-#include "X.hh"
-
-class MyPort2 : public MyPort2_BASE {
-public:
-	MyPort2(const char *par_port_name);
-	~MyPort2();
-
-	void set_parameter(const char *parameter_name,
-		const char *parameter_value);
-
-	void Event_Handler(const fd_set *read_fds,
-		const fd_set *write_fds, const fd_set *error_fds,
-		double time_since_last_call);
-
-protected:
-	void user_map(const char *system_port);
-	void user_unmap(const char *system_port);
-
-	void user_start();
-	void user_stop();
-
-	void outgoing_send(const OCTETSTRING& send_par);
-};
-
-#endif
diff --git a/regression_test/BER_x682_wa/X.cfg b/regression_test/BER_x682_wa/X.cfg
deleted file mode 100644
index 0d70aba719753f1f4711c88c674ca3f0c5815dd0..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682_wa/X.cfg
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2000-2019 Ericsson Telecom AB
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
-#
-# Contributors:
-#   Balasko, Jeno
-#   Forstner, Matyas
-#
-###############################################################################
-[MODULE_PARAMETERS]
-
-[LOGGING]
-
-LogFile := "X.log"
-FileMask := LOG_ALL
-ConsoleMask := TTCN_TESTCASE | TTCN_STATISTICS
-
-[EXECUTE]
-
-X.control
diff --git a/regression_test/BER_x682_wa/X.ttcn b/regression_test/BER_x682_wa/X.ttcn
deleted file mode 100644
index 716a1a6660621bb9b2a97bb1581c691b44d5d329..0000000000000000000000000000000000000000
--- a/regression_test/BER_x682_wa/X.ttcn
+++ /dev/null
@@ -1,89 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2000-2019 Ericsson Telecom AB
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
- *
- * Contributors:
- *   Balasko, Jeno
- *   Forstner, Matyas
- *
- ******************************************************************************/
-module X
-{
-  import from x682 language "ASN.1:1997" all
-
-  type port MyPort1 message
-  {
-    out ErrorReturn;
-    in octetstring;
-  }
-
-  type port MyPort2 message
-  {
-    out octetstring;
-    in ErrorReturn;
-  }
-
-  type component MyComponent
-  {
-    timer T := 1.0;
-    port MyPort1 P1;
-    port MyPort2 P2;
-  }
-
-  type component MySystemType
-  {
-    port MyPort1 S1;
-    port MyPort2 S2;
-  }
-
-  altstep MyAltstep() runs on MyComponent
-  {
-    [] P1.receive { setverdict(fail); }
-    [] P2.receive { setverdict(fail); }
-    [] T.timeout { setverdict(inconc); T.start; }
-  }
-
-  testcase TC0a() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P1.send(errorReturn1);
-    T.start;
-    P1.receive(ber_errorReturn1);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  testcase TC0b() runs on MyComponent system MySystemType
-  {
-    var default d := activate(MyAltstep());
-    map(mtc:P1, system:S2);
-    map(mtc:P2, system:S1);
-
-    P2.send(ber_errorReturn1);
-    T.start;
-    P2.receive(errorReturn1);
-    setverdict(pass);
-    T.stop;
-
-    deactivate(d);
-    unmap(mtc:P1, system:S2);
-    unmap(mtc:P2, system:S1);
-  }
-
-  control
-  {
-    execute(TC0a());
-    execute(TC0b());
-  }
-
-}
diff --git a/regression_test/EncodeDecode/BER/.gitignore b/regression_test/EncodeDecode/BER/.gitignore
new file mode 100755
index 0000000000000000000000000000000000000000..a452aa02b1f98a18bf894279383bdd9f2b3a7235
--- /dev/null
+++ b/regression_test/EncodeDecode/BER/.gitignore
@@ -0,0 +1,3 @@
+*.cc
+*.hh
+*.exe
\ No newline at end of file
diff --git a/regression_test/BER_x682/X.cfg b/regression_test/EncodeDecode/BER/BER.cfg
similarity index 89%
rename from regression_test/BER_x682/X.cfg
rename to regression_test/EncodeDecode/BER/BER.cfg
index ab421fd1f0808a0b7c49713a72f4b63bdc5ddb0d..98a5d5a59b08e48e1f2390a91b1ec839e13f4dcc 100644
--- a/regression_test/BER_x682/X.cfg
+++ b/regression_test/EncodeDecode/BER/BER.cfg
@@ -15,11 +15,12 @@
 
 [LOGGING]
 
-LogFile := "X.log"
+LogFile := "BER.log"
 FileMask := LOG_ALL
 ConsoleMask := TTCN_TESTCASE | TTCN_STATISTICS
 #ConsoleMask := LOG_ALL
 
 [EXECUTE]
-
-X.control
+BERTest
+X682_Test.control
+X682_simplified_Test.control
diff --git a/regression_test/BER/Regr1.asn b/regression_test/EncodeDecode/BER/BER1.asn
similarity index 97%
rename from regression_test/BER/Regr1.asn
rename to regression_test/EncodeDecode/BER/BER1.asn
index 000470e56304b2fc3345aa3db0add67aabeed432..37285df8d0c42d7230f48094d8743722ccf06665 100644
--- a/regression_test/BER/Regr1.asn
+++ b/regression_test/EncodeDecode/BER/BER1.asn
@@ -1,5 +1,5 @@
 --/////////////////////////////////////////////////////////////////////////////
--- Copyright (c) 2000-2019 Ericsson Telecom AB
+-- Copyright (c) 2000-2020 Ericsson Telecom AB
 -- All rights reserved. This program and the accompanying materials
 -- are made available under the terms of the Eclipse Public License v2.0
 -- which accompanies this distribution, and is available at
@@ -13,7 +13,7 @@
 --   Szabo, Janos Zoltan – initial implementation
 --
 --/////////////////////////////////////////////////////////////////////////////
-Regr1
+BER1
 DEFINITIONS
 
 AUTOMATIC TAGS
@@ -36,8 +36,7 @@ d1a OCTET STRING ::= '0101FF'H
 c1b T1 ::= FALSE
 d1b OCTET STRING ::= '010100'H
 
-T2 ::= [APPLICATION 1] EXPLICIT [PRIVATE v2] [APPLICATION 3] EXPLICIT
-  [PRIVATE 20021018] T1
+T2 ::= [APPLICATION 1] EXPLICIT [PRIVATE v2] [APPLICATION 3] EXPLICIT [PRIVATE 20021018] T1
 c2a T2 ::= c1a
 d2a OCTET STRING ::= '6109E307DF89C5FE1A01FF'H
 c2b T2 ::= c1b
diff --git a/regression_test/BER/Regr2.asn b/regression_test/EncodeDecode/BER/BER2.asn
similarity index 98%
rename from regression_test/BER/Regr2.asn
rename to regression_test/EncodeDecode/BER/BER2.asn
index 9123c0870174341d913f982fe358af4f1cd25ebb..06084831782738b3a429e57757fea41f523966ec 100644
--- a/regression_test/BER/Regr2.asn
+++ b/regression_test/EncodeDecode/BER/BER2.asn
@@ -1,5 +1,5 @@
 --/////////////////////////////////////////////////////////////////////////////
--- Copyright (c) 2000-2019 Ericsson Telecom AB
+-- Copyright (c) 2000-2020 Ericsson Telecom AB
 -- All rights reserved. This program and the accompanying materials
 -- are made available under the terms of the Eclipse Public License v2.0
 -- which accompanies this distribution, and is available at
@@ -12,7 +12,7 @@
 --   Szabados, Kristof
 --
 --/////////////////////////////////////////////////////////////////////////////
-Regr2
+BER2
 DEFINITIONS
 
 AUTOMATIC TAGS
@@ -23,7 +23,7 @@ EXTENSIBILITY IMPLIED
 BEGIN
 
 EXPORTS ;
-IMPORTS c6a, T4, c4e FROM Regr1;
+IMPORTS c6a, T4, c4e FROM BER1;
 
 T10 ::= CHOICE {
   f1 BOOLEAN,
diff --git a/regression_test/EncodeDecode/BER/BERTest.ttcn b/regression_test/EncodeDecode/BER/BERTest.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..3d95b286b94bddbed79cd7ae2442001e2edbec76
--- /dev/null
+++ b/regression_test/EncodeDecode/BER/BERTest.ttcn
@@ -0,0 +1,705 @@
+/******************************************************************************
+* Copyright (c) 2000-2020 Ericsson Telecom AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
+*
+* Contributors:
+*   Balasko, Jeno
+*   Beres, Szabolcs
+*   Forstner, Matyas
+*   Koppany, Csaba
+*   Kovacs, Ferenc
+*   Szabados, Kristof
+*   Szabo, Janos Zoltan – initial implementation
+*
+******************************************************************************/
+//This file replaces the old Regr.ttcn. 
+//It applies explicit encodin-decoding functions instead of send-recv mechanism with implicit encoding.
+module BERTest
+{
+import from BER1 language "ASN.1:1997" all
+with {encode "DER:1997"};
+import from BER2 language "ASN.1:1997" all
+with {encode "DER:1997"};
+
+//=== encoding functions ====
+
+external function enc_ber_int(in integer r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function enc_ber_T0(in T0 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T1(in T1 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T2(in T2 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T3(in T3 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T4(in T4 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T5(in T5 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T6(in T6 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T7(in T7 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T8(in T8 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T10(in T10 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+external function enc_ber_T11(in T11 r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" };
+
+//=== decoding functions ====
+external function dec_ber_int(in octetstring r) return integer
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T0(in octetstring r) return T0
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T1(in octetstring r) return T1
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T2(in octetstring r) return T2
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T3(in octetstring r) return T3
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T4(in octetstring r) return T4
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T5(in octetstring r) return T5
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T6(in octetstring r) return T6
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T7(in octetstring r) return T7
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T8(in octetstring r) return T8
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T10(in octetstring r) return T10
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_T11(in octetstring r) return T11
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+//=== functions ====
+function f_compare_octetstring(in octetstring pl_val, in octetstring pl_expected) {
+  if ( pl_val == pl_expected ){
+    setverdict(pass);
+  } else {
+    setverdict( fail, "expected:", pl_expected, " got: ", pl_val)
+  }
+} with { extension "transparent"}
+//==== types
+type component CT { }
+
+//==== Testcases =====
+testcase TC0a() runs on CT {
+  var octetstring encoded;
+  encoded := enc_ber_T0(c0a);
+  log(encoded);
+  f_compare_octetstring(encoded,d0a);
+
+  var T0 decoded := dec_ber_T0(encoded);
+  log(decoded);
+  if ( decoded == c0a ) {
+    setverdict(pass)
+  } else {
+    setverdict(fail, "Expected: ", c0a, " got: ",decoded);
+  }
+}
+
+testcase TC1a() runs on CT {
+  var octetstring encoded;
+  encoded := enc_ber_T1(c1a); 
+  log(encoded);
+  f_compare_octetstring(encoded,d1a);
+
+  var T1 decoded := dec_ber_T1(encoded);
+  log(decoded);
+  if ( decoded == c1a ) {
+    setverdict(pass)
+  } else {
+    setverdict(fail, "Expected: ", c1a, " got: ",decoded);
+  }
+}
+testcase TC2a() runs on CT {
+  var octetstring encoded;
+  encoded := enc_ber_T2(c2a); 
+  log(encoded);
+  f_compare_octetstring(encoded,d2a);
+
+  var T2 decoded := dec_ber_T2(encoded);
+  log(decoded);
+  if ( decoded == c2a ) {
+    setverdict(pass)
+  } else {
+    setverdict(fail, "Expected: ", c2a, " got: ",decoded);
+  }
+}
+
+testcase TC2b() runs on CT {
+  var octetstring encoded;
+  encoded := enc_ber_T2(c2b); 
+  log(encoded);
+  f_compare_octetstring(encoded,d2b);
+
+  var T2 decoded := dec_ber_T2(encoded);
+  log(decoded);
+  if ( decoded == c2b ) {
+    setverdict(pass)
+  } else {
+    setverdict(fail, "Expected: ", c2b, " got: ",decoded);
+  }
+}
+
+testcase TC3a() runs on CT {
+  var octetstring encoded, expected;
+  encoded := enc_ber_T3(c3a); 
+  log(encoded);
+  f_compare_octetstring(encoded,d3a);
+
+  var T3 decoded := dec_ber_T3(encoded);
+  log(decoded);
+  if ( decoded == c3a ) {
+    setverdict(pass)
+  } else {
+    setverdict(fail, "Expected: ", c3a, " got: ",decoded);
+  }
+}
+
+testcase TC3b() runs on CT {
+  var octetstring encoded;
+  encoded := enc_ber_T3(c3b); 
+  log(encoded);
+  f_compare_octetstring(encoded,d3b);
+
+  var T3 decoded := dec_ber_T3(encoded);
+  log(decoded);
+  if ( decoded == c3b ) {
+    setverdict(pass)
+  } else {
+    setverdict(fail, "Expected: ", c3b, " got: ",decoded);
+  }
+}
+
+
+type record of T3 RoT3;
+type record of octetstring RoOS;
+
+testcase TC3c() runs on CT {
+  var octetstring encoded;
+  var T3 decoded;
+  const RoT3 c3list := { c3c, c3d, c3e, c3f, c3g, c3h, c3i, c3j, c3k, c3l, c3m, c3n, c3o, c3p, c3q }
+  const RoOS d3list := { d3c, d3d, d3e, d3f, d3g, d3h, d3i, d3j, d3k, d3l, d3m, d3n, d3o, d3p, d3q }
+  const integer N := sizeof(c3list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T3(c3list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d3list[i]);
+
+    decoded := dec_ber_T3(encoded);
+    log(decoded);
+    if ( decoded == c3list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c3list[i], " got: ",decoded);
+    }
+  }
+}
+
+type record of T4 RoT4;
+testcase TC4() runs on CT {
+  var octetstring encoded;
+  var T4 decoded;
+  const RoT4 c4list := { c4a, c4b, c4c, c4d }
+  const RoOS d4list := { d4a, d4b, d4c, d4d }
+  const integer N := sizeof(c4list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T4(c4list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d4list[i]);
+
+    decoded := dec_ber_T4(encoded);
+    log(decoded);
+    if ( decoded == c4list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c4list[i], " got: ",decoded);
+    }
+  }
+}
+
+type record of T5 RoT5;
+testcase TC5() runs on CT {
+  var octetstring encoded;
+  var T5 decoded;
+  const RoT5 c5list := { c5a, c5b, c5c, c5d, c5e, c5f }
+  const RoOS d5list := { d5a, d5b, d5c, d5d, d5e, d5f }
+  const integer N := sizeof(c5list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T5(c5list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d5list[i]);
+
+    decoded := dec_ber_T5(encoded);
+    log(decoded);
+    if ( decoded == c5list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c5list[i], " got: ",decoded);
+    }
+  }
+}
+
+type record of T6 RoT6;
+testcase TC6() runs on CT {
+  var octetstring encoded;
+  var T6 decoded;
+  const RoT6 c6list := { c6a, c6b, c6c, c6d, c6e }
+  const RoOS d6list := { d6a, d6b, d6c, d6d, d6e }
+  const integer N := sizeof(c6list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T6(c6list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d6list[i]);
+
+    decoded := dec_ber_T6(encoded);
+    log(decoded);
+    if ( decoded == c6list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c6list[i], " got: ",decoded);
+    }
+  }
+}
+
+type record of T7 RoT7;
+testcase TC7() runs on CT {
+  var octetstring encoded;
+  var T7 decoded;
+  const RoT7 c7list := { c7a, c7b, c7c, c7d, c7e }
+  const RoOS d7list := { d7a, d7b, d7c, d7d, d7e }
+  const integer N := sizeof(c7list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T7(c7list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d7list[i]);
+
+    decoded := dec_ber_T7(encoded);
+    log(decoded);
+    if ( decoded == c7list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c7list[i], " got: ",decoded);
+    }
+  }
+}
+
+type record of T8 RoT8;
+testcase TC8() runs on CT {
+  var octetstring encoded;
+  var T8 decoded;
+  const RoT8 c8list := { c8a, c8b }
+  const RoOS d8list := { d8a, d8b }
+  const integer N := sizeof(c8list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T8(c8list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d8list[i]);
+
+    decoded := dec_ber_T8(encoded);
+    log(decoded);
+    if ( decoded == c8list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c8list[i], " got: ",decoded);
+    }
+  }
+}
+
+type record of T10 RoT10;
+testcase TC10() runs on CT {
+  var octetstring encoded;
+  var T10 decoded;
+  const RoT10 c10list := { c10a, c10b }
+  const RoOS d10list := { d10a, d10b }
+  const integer N := sizeof(c10list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T10(c10list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d10list[i]);
+
+    decoded := dec_ber_T10(encoded);
+    log(decoded);
+    if ( decoded == c10list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c10list[i], " got: ",decoded);
+    }
+  }
+}
+
+type record of T11 RoT11;
+testcase TC11_12() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_12a }
+  const RoOS d11list := { d11_12a }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_13() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_13a, c11_13b }
+  const RoOS d11list := { d11_13a, d11_13b }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_14() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_14a, c11_14b }
+  const RoOS d11list := { d11_14a, d11_14b }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_15() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_15a }
+  const RoOS d11list := { d11_15a }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_16() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_16a, c11_16b }
+  const RoOS d11list := { d11_16a, d11_16b }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_17() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_17a }
+  const RoOS d11list := { d11_17a }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_18() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_18a }
+  const RoOS d11list := { d11_18a }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_19() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_19a, c11_19b, c11_19c }
+  const RoOS d11list := { d11_19a, d11_19b, d11_19c }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_20() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_20a }
+  const RoOS d11list := { d11_20a }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_21() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_21a, c11_21b }
+  const RoOS d11list := { d11_21a, d11_21b }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+testcase TC11_22() runs on CT {
+  var octetstring encoded;
+  var T11 decoded;
+  const RoT11 c11list := { c11_22a }
+  const RoOS d11list := { d11_22a }
+  const integer N := sizeof(c11list);
+  for( var integer i := 0; i<N; i:=i+1){
+    encoded := enc_ber_T11(c11list[i]);
+    log(encoded);
+    f_compare_octetstring(encoded,d11list[i]);
+
+    decoded := dec_ber_T11(encoded);
+    log(decoded);
+    if ( decoded == c11list[i] ) {
+      setverdict(pass)
+    } else {
+      setverdict(fail, "Expected: ", c11list[i], " got: ",decoded);
+    }
+  }
+}
+
+function check_enc_dec(integer int, octetstring expected) {
+  var octetstring encoded_pdu := enc_ber_int(int);
+  if (encoded_pdu == expected) {setverdict(pass);}
+  else {setverdict(fail, "Encoding failed, encoded_pdu is ", log2str(encoded_pdu));}
+  var integer decoded :=  dec_ber_int(encoded_pdu);
+  if (int == decoded) { setverdict(pass); }
+  else {setverdict(fail, "decoding failed, decoded is ", decoded);}
+} with {
+  extension "transparent"
+}
+
+testcase tc_int_enc_dec() runs on CT {
+
+  check_enc_dec( 0, '020100'O);
+
+  check_enc_dec(-1, '0201FF'O);
+  check_enc_dec( 1, '020101'O);
+
+  check_enc_dec(-2, '0201FE'O);
+  check_enc_dec( 2, '020102'O);
+  check_enc_dec(-5, '0201FB'O);
+  check_enc_dec( 5, '020105'O);
+
+  check_enc_dec(-254, '0202FF02'O);
+  check_enc_dec( 254, '020200FE'O);
+  check_enc_dec(-255, '0202FF01'O);
+  check_enc_dec( 255, '020200FF'O);
+  check_enc_dec(-256, '0202FF00'O);
+  check_enc_dec( 256, '02020100'O);
+
+  check_enc_dec(-1234, '0202FB2E'O);
+
+  // 2^16
+  check_enc_dec(-65534, '0203FF0002'O);
+  check_enc_dec( 65534, '020300FFFE'O);
+  check_enc_dec(-65535, '0203FF0001'O);
+  check_enc_dec( 65535, '020300FFFF'O);
+  check_enc_dec(-65536, '0203FF0000'O);
+  check_enc_dec( 65536, '0203010000'O);
+
+  // 2^24
+  check_enc_dec(-16777215, '0204FF000001'O);
+  check_enc_dec( 16777215, '020400FFFFFF'O);
+  check_enc_dec(-16777216, '0204FF000000'O);
+  check_enc_dec( 16777216, '020401000000'O);
+  check_enc_dec(-16777217, '0204FEFFFFFF'O);
+  check_enc_dec( 16777217, '020401000001'O);
+
+  // 2^32 
+  check_enc_dec(-4294967295, '0205FF00000001'O);
+  check_enc_dec( 4294967295, '020500FFFFFFFF'O);
+  check_enc_dec(-4294967296, '0205FF00000000'O);
+  check_enc_dec( 4294967296, '02050100000000'O);
+  check_enc_dec(-4294967297, '0205FEFFFFFFFF'O);
+  check_enc_dec( 4294967297, '02050100000001'O);
+
+  // 8 bit min,max
+  check_enc_dec(-128, '020180'O);
+  check_enc_dec( 127, '02017F'O);
+
+  // 32 bit min,max 
+  check_enc_dec(-2147483648, '020480000000'O);
+  check_enc_dec( 2147483647, '02047FFFFFFF'O);
+
+  // 40 bit min,max 
+  check_enc_dec(-549755813888, '02058000000000'O);
+  check_enc_dec( 549755813887, '02057FFFFFFFFF'O);
+
+  // 48 bit min,max 
+  check_enc_dec(-140737488355328, '0206800000000000'O);
+  check_enc_dec( 140737488355327, '02067FFFFFFFFFFF'O);
+
+  // 56 bit min,max 
+  check_enc_dec(-36028797018963968, '020780000000000000'O);
+  check_enc_dec( 36028797018963967, '02077FFFFFFFFFFFFF'O);
+
+  // 64 bit min,max 
+  check_enc_dec(-9223372036854775808,  '02088000000000000000'O);
+  check_enc_dec( 9223372036854775807, '02087FFFFFFFFFFFFFFF'O);
+
+  check_enc_dec(-12345678910111213141516, '020AFD62BD49A976CD7441F4'O);
+  check_enc_dec( 12345678910111213141516, '020A029D42B65689328BBE0C'O);
+
+}
+
+control
+{
+  execute(TC0a());
+  execute(TC1a());
+  execute(TC2a());
+  execute(TC2b());
+  execute(TC3a());
+  execute(TC3b());
+  execute(TC3c());
+  execute(TC4());
+  execute(TC5());
+  execute(TC6());
+  execute(TC7());
+  execute(TC8());
+  execute(TC10());
+  execute(TC11_12());
+  execute(TC11_13());
+  execute(TC11_14());
+  execute(TC11_15());
+  execute(TC11_16());
+  execute(TC11_17());
+  execute(TC11_18());
+  execute(TC11_19());
+  execute(TC11_20());
+  execute(TC11_21());
+  execute(TC11_22());
+  execute(tc_int_enc_dec());
+}
+
+}
diff --git a/regression_test/BER/Makefile b/regression_test/EncodeDecode/BER/Makefile
similarity index 82%
rename from regression_test/BER/Makefile
rename to regression_test/EncodeDecode/BER/Makefile
index f6afed7e01f95288ab0aae49a727828b1e7aa636..449d4ce735fa3fcb32319f666aec3a68d85cf6ca 100644
--- a/regression_test/BER/Makefile
+++ b/regression_test/EncodeDecode/BER/Makefile
@@ -16,7 +16,7 @@
 #   Szabo, Janos Zoltan – initial implementation
 #
 ##############################################################################
-TOPDIR := ..
+TOPDIR := ../..
 include $(TOPDIR)/Makefile.regression
 
 .SUFFIXES: .ttcn .asn .hh
@@ -24,8 +24,8 @@ include $(TOPDIR)/Makefile.regression
 
 TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
 
-TTCN3_MODULES = Regr.ttcn
-ASN1_MODULES = Regr1.asn Regr2.asn
+TTCN3_MODULES = BERTest.ttcn X682_Test.ttcn X682_simplified_Test.ttcn
+ASN1_MODULES = BER1.asn BER2.asn X682.asn X682_simplified.asn
 
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
 GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh)
@@ -39,12 +39,12 @@ GENERATED_SOURCES += $(GENERATED_SOURCES2)
 endif
 
 # Source & header files of Test Ports and your other modules:
-USER_SOURCES = MyPort1.cc MyPort2.cc
-USER_HEADERS = MyPort1.hh MyPort2.hh
+USER_SOURCES =
+USER_HEADERS =
 
 OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o)
 
-TARGET = Regr$(EXESUFFIX)
+TARGET = BER$(EXESUFFIX)
 
 all: $(TARGET)
 
@@ -61,18 +61,9 @@ clean distclean:
 dep: $(GENERATED_SOURCES)
 	makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES)
 
-run: $(TARGET) Regr.cfg
+run: $(TARGET) BER.cfg
 	./$^
 
-MyPort1.o: MyPort1.hh Regr.hh Regr2.hh Regr1.hh
-MyPort1.o: MyPort2.hh
-MyPort2.o: MyPort2.hh Regr.hh Regr2.hh Regr1.hh
-MyPort2.o: MyPort1.hh
-Regr.o: Regr.hh Regr2.hh Regr1.hh
-Regr.o: MyPort1.hh MyPort2.hh
-Regr1.o: Regr1.hh
-Regr2.o: Regr2.hh Regr1.hh
-
 ifdef SRCDIR
 $(foreach src, $(USER_SOURCES), $(eval vpath $(src) $(ABS_SRC)))
 endif
diff --git a/regression_test/BER_x682/X682.asn b/regression_test/EncodeDecode/BER/X682.asn
similarity index 100%
rename from regression_test/BER_x682/X682.asn
rename to regression_test/EncodeDecode/BER/X682.asn
diff --git a/regression_test/EncodeDecode/BER/X682_Test.ttcn b/regression_test/EncodeDecode/BER/X682_Test.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..637f841855172c9d23bfaea6db6fdf67db13b892
--- /dev/null
+++ b/regression_test/EncodeDecode/BER/X682_Test.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+* Copyright (c) 2000-2020 Ericsson Telecom AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
+*
+* Contributors:
+*   Balasko, Jeno
+*   Koppany, Csaba
+*   Szabo, Janos Zoltan – initial implementation
+*
+******************************************************************************/
+module X682_Test
+{
+import from X682 language "ASN.1:1997" all
+
+//=== functions ====
+function f_compare_octetstring(in octetstring pl_val, in octetstring pl_expected) {
+  if ( pl_val == pl_expected ){
+    setverdict(pass);
+  } else {
+    setverdict( fail, "expected:", pl_expected, " got: ", pl_val)
+  }
+} with { extension "transparent"}
+//==== types
+type component CT { }
+
+
+external function enc_ber_ErrorReturn(in ErrorReturn r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_ErrorReturn(in octetstring r) return ErrorReturn
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+testcase TC0a() runs on CT {
+  var octetstring d := enc_ber_ErrorReturn(errorReturn1);
+  f_compare_octetstring(d,ber_errorReturn1);
+  
+  
+}
+
+testcase TC0b() runs on CT {
+  var ErrorReturn d := dec_ber_ErrorReturn(ber_errorReturn1);
+  if ( d==errorReturn1) {
+    setverdict(pass)
+  } else {
+    setverdict(fail, "expected: ", errorReturn1, " got: ", d);
+  }
+}
+control
+{
+  execute(TC0a());
+  execute(TC0b());
+}
+
+}
diff --git a/regression_test/BER_x682_wa/x682.asn b/regression_test/EncodeDecode/BER/X682_simplified.asn
similarity index 91%
rename from regression_test/BER_x682_wa/x682.asn
rename to regression_test/EncodeDecode/BER/X682_simplified.asn
index 46bda90a31eaef8f1ed6b8b79cb3b9124a798ac1..76377f0db4dabb94692a70da13c3b91f1502063e 100644
--- a/regression_test/BER_x682_wa/x682.asn
+++ b/regression_test/EncodeDecode/BER/X682_simplified.asn
@@ -11,7 +11,7 @@
 --   Szabados, Kristof
 --
 --/////////////////////////////////////////////////////////////////////////////
-X682
+X682-simplified
 DEFINITIONS
 
 AUTOMATIC TAGS
@@ -58,9 +58,9 @@ ErrorReturn ::= SEQUENCE
     errorInfo	[99] CHOICE
     {
       iNTEGER [1] INTEGER,
-      visibleString [1] VisibleString,
-      printableString [1] PrintableString,
-      bOOLEAN [1] BOOLEAN
+      visibleString [2] VisibleString,
+      printableString [3] PrintableString,
+      bOOLEAN [4] BOOLEAN
     }
     /*#asn1_compiler#
       OPENTYPE
@@ -89,6 +89,6 @@ errorReturn1 ErrorReturn ::=
   }
 }
 
-  ber-errorReturn1 OCTET STRING ::= '304D800141A148300C020101BF6306810401317DEC3038020102BF63328130496620552063616E206465636F646520746869732C20552063616E2062652068617070792E20536D696C6521203A2D29'H
+  ber-errorReturn1 OCTET STRING ::= '304D800141A148300C020101BF6306810401317DEC3038020102BF63328230496620552063616E206465636F646520746869732C20552063616E2062652068617070792E20536D696C6521203A2D29'H
 
 END
diff --git a/regression_test/EncodeDecode/BER/X682_simplified_Test.ttcn b/regression_test/EncodeDecode/BER/X682_simplified_Test.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..f8985a9c88cb8dfd9f16b6b5b12d9dc94e190357
--- /dev/null
+++ b/regression_test/EncodeDecode/BER/X682_simplified_Test.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) 2000-2020 Ericsson Telecom AB
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
+ *
+ * Contributors:
+ *   Balasko, Jeno
+ *   Forstner, Matyas
+ *
+ ******************************************************************************/
+module X682_simplified_Test {
+
+import from X682_simplified language "ASN.1:1997" all
+
+//=== functions ====
+function f_compare_octetstring(in octetstring pl_val, in octetstring pl_expected) {
+  if ( pl_val == pl_expected ){
+    setverdict(pass);
+  } else {
+    setverdict( fail, "expected:", pl_expected, " got: ", pl_val)
+  }
+} with { extension "transparent"}
+//==== types ===
+type component CT { }
+
+//=== external functions ====
+external function enc_ber_ErrorReturn(in ErrorReturn r) return octetstring
+with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+external function dec_ber_ErrorReturn(in octetstring r) return ErrorReturn
+with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }
+
+//=== Testcases ===
+testcase TC0a() runs on CT {
+  var octetstring d := enc_ber_ErrorReturn(errorReturn1);
+  f_compare_octetstring(d,ber_errorReturn1);
+  
+  
+}
+
+testcase TC0b() runs on CT {
+  var ErrorReturn d := dec_ber_ErrorReturn(ber_errorReturn1);
+  if ( d==errorReturn1) {
+    setverdict(pass)
+  } else {
+    setverdict(fail, "expected: ", errorReturn1, " got: ", d);
+  }
+}
+control
+{
+  execute(TC0a());
+  execute(TC0b());
+}
+
+}
diff --git a/regression_test/EncodeDecode/Makefile b/regression_test/EncodeDecode/Makefile
new file mode 100755
index 0000000000000000000000000000000000000000..b57e4795eb390c9a64efab0e7ad9e00f8ef9dcaa
--- /dev/null
+++ b/regression_test/EncodeDecode/Makefile
@@ -0,0 +1,33 @@
+##############################################################################
+# Copyright (c) 2000-2020 Ericsson Telecom AB
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
+#
+# Contributors:
+#   Balasko, Jeno
+#
+##############################################################################
+TOPDIR := ..
+include $(TOPDIR)/Makefile.regression
+
+unexport ABS_SRC
+unexport SRCDIR
+
+DIRS := BER
+
+# List of fake targets:
+.PHONY: all dep clean run $(DIRS) $(addsuffix /, $(DIRS)) profile
+
+all run dep clean distclean:
+	for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
+
+# To run just one test, type "make dir" or "make "dir/"
+$(DIRS) $(addsuffix /, $(DIRS)):
+	$(MAKE) -C $@ run
+
+# To run all tests, possibly in parallel
+runall: $(DIRS)
+
+
diff --git a/regression_test/Makefile b/regression_test/Makefile
index 73260bbafd2b26a6c6e7a2d389313044ac890471..9081d5dce57a848db88e6f6af36684a56b609ac5 100644
--- a/regression_test/Makefile
+++ b/regression_test/Makefile
@@ -40,7 +40,7 @@ enumOper arrayOper anytypeOper templateInt templateBool templateFloat templateBi
 templateHexstr templateOctetstr templateChar templateCharstr templateUnicharstr \
 templateRec templateRec_nolegacy templateRecof templateSet templateSetof templateUnion templateEnum modifiedTemplate \
 basicStatem configOper commMessage commProcedure lostTimer controlTimer \
-BER BER_x682 ASN1 predefFunction ERC preCompilerFlags functionReference \
+EncodeDecode ASN1 predefFunction ERC preCompilerFlags functionReference \
 nonMandatoryPar logFiles logger_control namedActualParameters \
 assignmentNotation omitdef anytype RAW implicitMsgEncoding pattern_quadruples \
 macros visibility hexstrOper ucharstrOper objidOper CRTR00015758 slider \