TECHNICAL STATEMENT ON THE PROJECT
==================================

(The purpose of the technical statement is to document at reasonably detailed
level what has been done in the project, what was the project state before
its completion and what issues are left open.)

The current package implements client & server cases as defined in gateway
specification as fully as possible. Product case is missing entirely. Manual
control over SUT is not implemented, too.

Our implementation + sample TTCN.MP files + sample servers and clients
demonstrate the following features (again, product case is absent):

- dynamic registration/deregistration of multiple Servers (or, more
scientifically, Servant objects) by: (a) location of file containing
IOR; (b) IOR string itself; (c) location in the Naming Service;

- concurrent invocations of Servant operations: that is, we may issue a
new invocation request before response from a previous one was obtained
from the Servant under test (i.e. before previous operation call was
completed) and then poll for response from both operation call on Tester
side simultaneously;

- even several independent test cases running concurrently in different
sessions and concurrently invoking operations from different servants may
be handled exactly by one running Gateway!;

- get/set operations on attributes (slightly different from operation
invocation);

- oneway invocations, operation context, exception handling, handling of
invalid ASPs;

- passing structured data as IN/OUT/INOUT parameters to servants and from
clients; more exact picture is shown in the table below:

NOTE: everyting is implemented for both server and client cases.

TypeCode            IN/OUT/INOUT

_tk_abstract_interface   -
_tk_alias                S
_tk_any                  O
_tk_array                S
_tk_boolean              S
_tk_char                 S
_tk_double               T
_tk_enum                 S
_tk_except               S
_tk_fixed                T
_tk_float                T
_tk_long                 S
_tk_longdouble           T
_tk_longlong             TC
_tk_native               O
_tk_null                 -
_tk_objref               O
_tk_octet                S
_tk_Principal            -
_tk_sequence             S
_tk_short                S
_tk_string               S
_tk_struct               S
_tk_TypeCode             -
_tk_ulong                S
_tk_ulonglong            TC
_tk_union                S
_tk_ushort               S
_tk_value                OC
_tk_value_box            OC
_tk_void                 S
_tk_wchar                TC
_tk_wstring              TC

 "S" designates that this data type is supported;

 "T" means that support for this data type would have been easily
implemented but it is not there yet as long as OpenTTCN does not
support corresponding mapping;

 "O" means that support is not present at all in this version of Gateway
due to major modifications to specs required in order to implement it or
due to limited resources;

 "C" means that this datatype is from CORBA 2.1 or higher and not supported
by ORBacus 3.2 implementing CORBA 2.0 and hence is not supported;

 "-" means that this typecode is internal CORBA system typecode not
relevant to IDL syntax & semantics and to testing IDL interfaces and
thus does not require any support.


