Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Titan » Test of RESTful APIs in 5G Service Based Architecture with Titan(YAML, JSON, TTCN-3 , REST, SBA)
Test of RESTful APIs in 5G Service Based Architecture with Titan [message #1808201] Wed, 19 June 2019 08:28
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 1063
Registered: January 2015
Senior Member
Dear all,


The demand for easily scalable systems that can be tailored for new situations stimulated a migration from telecom-style protocol interfaces to web-based APIs. The 5G core network will be based on what is called "Service-Based Architecture" (SBA), centered around services that can register themselves and subscribe to other services. This enables a more flexible development of new services, as it becomes possible to connect to other components without introducing specific new interfaces. The new system architecture is specified in 3GPP technical specification 23.501:

index.php/fa/35773/0/

One of the advantages of the SBA is that there is no need for specialized APIs, a common protocol stack can be used:

index.php/fa/35774/0/

More about SBA here:

https://medium.com/5g-nr/5g-service-based-architecture-sba-47900b0ded0a


Now, if we check the standards for these interfaces:

https://www.3gpp.org/ftp/Specs/archive/29_series/29.502/
we will see that they are specified in YAML (according to OpenAPI v3) , e.g.

https://github.com/jdegre/5GC_APIs/blob/master/TS29502_Nsmf_PDUSession.yaml

and Titan does not have any explicit support for YAML.
However, YAML is a superset of JSON ( for instance it does support comments), see a YAML-JSON comparison here:
http://sangsoonam.github.io/2017/03/13/yaml-vs-json.html

so in general a YAML to JSON conversion does not represent a problem.
( a YAML to JSON on-line converter can be found here:
https://codebeautify.org/yaml-to-json-xml-csv )

We are not out of the woods yet: our goal is to produce some kind of TTCN-3 structures that describe the API, and, as discussed earlier in a number of posts, e.g.

https://www.eclipse.org/forums/index.php/t/1098615/
How to convert JSON into TTCN-3(TITAN tool convert JSON TTCN3)

there is no scripted support in Titan for JSON to TTCN-3 conversion.
Nevertheless this can be performed as a mental exercise as JSON has a small number of structures that can be easily converted to TTCN-3.
Using this spectacular mentalist trick we have produced a number of protocol modules for 5G RESTful APIs; they can be cloned from the below URLs:

http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29502_Nsmf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29503_Nudm_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29508_Nsmf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29509_Nausf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29510_Nnrf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29511_N5g_eir_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29512_Npcf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29514_Npcf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29518_Namf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29520_Nnwdaf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29571_CommonData_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29572_Nlmf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS29594_Nchf_v15.git
http://git.eclipse.org/c/titan/titan.ProtocolModules.5G_system_TS32291_Nchf_v15.git


Of course, this workflow can be used as a general recipe for any REST API specified in JSON or YAML.


Best regards
Elemer

[Updated on: Sun, 12 January 2020 08:31]

Report message to a moderator

Previous Topic:Measuring time / timer accuracy
Next Topic:ServiceBody does not support `RAW' encoding for OPC UA
Goto Forum:
  


Current Time: Wed Jul 08 15:10:53 GMT 2020

Powered by FUDForum. Page generated in 0.01512 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top