2. Overview
UBSS Is The Middleware For THOMSON-CSF AIRSYS Centers :
ATM : Air Traffic Management Systems.
ACCS : Air Command And Control Systems.
And Others Control Command (C²) Applications.
UBSS is used all over the world by AIRSYS provided ATC or ACS systems :
about 500 nodes on 25 operational sites
about 1000 nodes on 60 sites (delivered system and contracts in
progress)
UBSS Is Based On UNIX Mechanisms, It Provides High Level Services For Unix
Based Real Time Distributed Fault Tolerant Systems.
Services Are Available Through API Provided For C And Ada Language.
01/04/2004
UBSS Provides A Framework For Application Design.
Version 6
UBSS Product 2 Multidomain Control Center
3. UBSS Genesis
Beginning of UBSS design : 1990
Two main objectives :
To Answer to ATM real time constraints on UNIX platforms
To Allow distributed architectures
Reuse of existing technologies or models :
Asynchronous tasking model from THOMSON
Data replication technology from SIGNAAL
01/04/2004
Version 6
UBSS Product 3 Multidomain Control Center
4. UBSS Concepts
TRANSPARENCY.
Independence Between Logical And Physical
Architecture.
ENCAPSULATION.
Ada And C Interface, Socket Based Layered
Architecture.
SOFTWARE COTS* PRODUCT (V3.3).
Industrial And Quality Rules.
01/04/2004
* COTS : Commercial Of the Shelf Version 6
UBSS Product 4 Multidomain Control Center
5. UBSS Concepts : Transparency (OSI RM/ODP*, ANSA*)
*
ANSA : Advanced Networked System Architecture
OSI RM ODP : OSI Reference Model of Open Distributed Processing (ISO 10746-1, X901).
Access Transparency : Local And Remote Applications Are Addressed By Identical
Operations.
Location Transparency : Applications Are Addressed Without Knowledge Of Their
Location.
Replication Transparency : Enables Multiple Instances Of Applications, Without
Knowledge Of Their Surroundings.
Failure Transparency : Allows Automatic Recovery Of System Failures, Without
Lasting Effects To The Applications Users.
Migration Transparency : Allows The Movement Of Applications Without Affecting The
Operation Of Users Or Other Applications.
Scaling Transparency : Allows The System And Application Software To Expand In
Scale Without Changing The Application Programs.
01/04/2004
Version 6
UBSS Product 5 Multidomain Control Center
6. UBSS Concepts : Transparency
Transparency Implementation.
Asynchronous Real Time.
A Task = A Unix Process.
Asynchronous Communication.
Fault Tolerant Services.
01/04/2004
Version 6
UBSS Product 6 Multidomain Control Center
7. UBSS Concepts : Transparency
LAN
P1
P2
P1
∆ t1 ∆ t3
Name Server
P3 P2
∆ t2
Centralised Architecture
P3
01/04/2004
Distributed Architecture
Version 6
UBSS Product 7 Multidomain Control Center
8. Synchronous Real Time VS Asynchronous Real Time
Synchronous = Periodic=> No ∆T
Events
T1 T2 T3 T4 T5
e1 e2 e3 e4 e5 e6
Time
∆Τ
T1 T2 T3 T4 T5
e1 e2 e3 e4 e5 e6
Time
Assynchronous = Aperiodique => ∆Τ
01/04/2004
Version 6
UBSS Product 8 Multidomain Control Center
9. Synchronous Communications VS Asynchronous Communications
No Transmission Delays Constant Transmission Delays Randomly Variable Transmission Delays
Events Events Events
Events
e1 e1 e1 Events
e1 Events
e1
e1
T1 T1 T1
T1
T1
T1
e2 e2 e2
e2
e2
T2 T2 T2
T2
e2
T2
e3 e3 e3
e3
e3 T2
T3 T3 T3
T3
T3
e4 e4 e4 e3
e4
e4
T3
e4
01/04/2004
Version 6
UBSS Product 9 Multidomain Control Center
10. UBSS Concepts : Transparent Applications plugging
Non UBSS
Third party Third party
Application
Application Application
UBSS Application UBSS Application
(Ada or C or C++) (Ada or C or C++)
UBSS Adaptor
UBSS Backbone
Operating System and telecomunications
01/04/2004
Version 6
UBSS Product 10 Multidomain Control Center
11. UBSS Concepts : Encapsulation
Provides Typesafe Encapsulation Of Lower-Level UNIX Programming
Interfaces.
Shields Developers From Low Level Programming Details.
High Level Abstractions Provided By Value-Added Encapsulation
Facilitate The Construction Of Distributed System.
Improves Software Reusability And Portability.
UBSS Is Based On UNIX Mechanisms, It Provides High Level Services
For Unix And Sockets Based Real Time Distributed Fault Tolerant
Systems.
Services Are Available Through API Provided For C And Ada Language.
01/04/2004
Version 6
UBSS Product 11 Multidomain Control Center
12. Middleware Benefit : Software product life cycle Transparency
System Life cycle = 10 years
Application
Application
Middleware
Middleware
Operating System
Operating System
Technologie Life cycle = 3 years
01/04/2004
Version 6
UBSS Product 12 Multidomain Control Center
13. Software lay out
ADA & C & C++ Applications
Standard UBSS Interface FROZEN INTERFACE
UBSS MIDDLEWARE
Operating System (UNIX)
Hardware Platform
Communication medium & protocol
01/04/2004
Version 6
UBSS Product 13 Multidomain Control Center
14. UBSS Concepts : Encapsulation
Application
(Ada or C or C++)
API Ada or C
UBSS
Middleware
Socket
DEC Digital_Unix HP UX Solaris - AIX
Ultrix - ...
01/04/2004
Version 6
UBSS Product 14 Multidomain Control Center
15. UBSS Concepts : Software COTS Product
Software Team : To Regroup System Software Skills In One Dedicated
Team (MCC/CIS :Infrastructure System).
UBSS Product Code Size : 300 Kloc Of C, 30 Kloc Of Ada.
UBSS Product Documentation Size : 3000 Pages + 1000 Man Pages
(On-Line Documentation, CD ROM, WEB).
Methodology : DOD 2167A : SRS, SDD, STP, STD, STR, VDD, SUM,
Man Pages.
Quality process : ISO9000, CMM*
01/04/2004
* CMM : Capability Maturity Model For Software
Version 6
UBSS Product 15 Multidomain Control Center
16. UBSS Concepts : Software Product
Support And Maintenance :
Hot Line : Phone, Email, WEB.
2 Major Releases A Year, Fully Tested (STP,STD, STR) And
Documented (VDD ).
Training Sessions :
2 Levels (Theoretical An Practical) : Programmers, Integrators.
About 20 Training Sessions Already Performed.
Tools : Debugging, Performance, Training.
01/04/2004
Version 6
UBSS Product 16 Multidomain Control Center
17. UBSS :Technical Middleware
Application
Operational Middleware (Framework)
Middleware
Technical Middleware
01/04/2004
Version 6
UBSS Product 17 Multidomain Control Center
18. UBSS : Software Architecture Tool Box
Peer To Peer.
Synchronous Or Asynchronous Inter Process Communication (IPC).
System Wide Shared Data Distribution.
Client/Server.
Data : Push/Pull.
Processing : Synchronous/Asynchronous.
Distributed Server : Duplicated Concurrent Or Cooperant.
Dynamic Server Allocation And Reconfiguration.
Event Services.
Subscription To Asynchronous Notification.
Stateless Or Statefull Processing.
Multiplexing And Priority.
01/04/2004
Version 6
UBSS Product 18 Multidomain Control Center
19. UBBS : Application Software Architecture
Loop Event Processing Sequential Event Processing
begin
loop forever
wait event1
wait event
send message1
case event
event1
send message1
wait event2
send message2
event2
send message2
event3 wait event3
send message3 send message3
end case
end
end loop
01/04/2004
Asynchronous Synchronous
Version 6
UBSS Product 19 Multidomain Control Center
20. UBSS Components
Inter-Process Communication (IPC)
• Mailbox (MLBX)
Communication
• FIFO
Multi Purpose Telecommunication Management (MTM)
Consistent Data Store Copies (CDC)
Node And Process Management (NPM)
Supervision
• Dual Node Control (DNC)
System Control And Monitoring (SCM)
Time And Clock Management (TCM)
• External Time Injection (ETI)
Time/clock management
• Clock Synchronization (CS)
• Time Management (TM)
• High Resolution Timers (HRT)
Input Output Calls (IOC)
Miscellaneous
Basic System Name Server (BNS)
01/04/2004
Dynamic Trace Unit (DTU)
Version 6
UBSS Product 20 Multidomain Control Center
21. UBSS New Components :
PATIO* project Outputs :
DSS : Distributed Sequencing Services
DST : Distributed Simulated Time (TMH)
01/04/2004
* PATIO : Platform for ATM Tools Integration to Pre-operation
Version 6
UBSS Product 21 Multidomain Control Center
22. Possible interfaces
Application
Message
Library Message
Interface
Interface Interface
3 3
2
Operator UBBS
Interface Process
1
4
4
File interface File interface
01/04/2004
Version 6
UBSS Product 22 Multidomain Control Center
23. UBSS Components : Architecture Of A Node
1 : interfacing with library functions
2 : operator interface
3 : FP interface
Application Application
processes
1 1
DTU 1 1 1 1 1 1
NPM
SCM TCM CDC MTM
3
IOC
DNC
BNS IPC
Front
Processor
2 2
(LINES_FP)
Tape
Disk
2
Operator
WAN
Printer
01/04/2004
LAN
Version 6
UBSS Product 23 Multidomain Control Center
24. Consistent Data Store Copies (CDC) : Scope
Asynchronous Data Distribution = System Wide Distributed Shared
Memory.
Typed Shared Memory.
Data Store = Array Of Records Duplicated On Each Node. CDC Keeps
Duplicated Record Coherency.
Provides Data Persistence And Independence Between Read And Write
Operations.
After Subscription, User Is Notified Of Each Update.
With CDC a server instance is present on each client Node : Proxy
01/04/2004
Version 6
UBSS Product 24 Multidomain Control Center
25. UBSS CDC : Context Diagram Master
Slave Slave
Appli
Appli Appli
Data Store
Data Store Data Store
data bus
LAN
Slave
Slave
Data Store Data Store
Appli Appli Appli
01/04/2004
Version 6
UBSS Product 25 Multidomain Control Center
26. UBSS CDC : ATC Operational Data Distribution
Tracks Flight plans
Appli
Appli
FPL
TRK
FPL
TRK
FPL FPL
TRK TRK
1 to 100
Appli Appli Appli
CWPs
01/04/2004
Version 6
UBSS Product 26 Multidomain Control Center
27. UBSS CDC : System Design
Radar
RFP RDP FDP
Radar1 Radar2 Radar3 Radar4 System Tracks Identification Flight Plan
MMI
MMI
MMI
MMI
01/04/2004
Version 6
UBSS Product 27 Multidomain Control Center
28. UBSS CDC Principle : Data Store
(RUC : Record Update Counter)
(RUO: Record Update Originator)
data store copy
RUC RUO User record
12000 records max.
{
32 Ko max.
CAM
01/04/2004
(CAM : Central Announcement Message) Version 6
UBSS Product 28 Multidomain Control Center
29. UBSS CDC Protocol : Periodic CAM
A B C D E
A B C D E
T
Update
CAM
T
T Update
CAM
Update
T
CAM
CAM
T
CAM
Master
01/04/2004
(CAM : Central Announcement Message) Version 6
UBSS Product 29 Multidomain Control Center
30. Basic Name Server ( BNS) : Scope
System Wide Logical Name Services.
BNS Maintains An Indirection Table Included In CDC : ‘’ALIAS’.’
A BNS Entry Is An Object Name With Physical Or Logical Attributes.
CDC Based :
Available On Each Node.
System Wide Notification When Links Or Attributes Are Updated.
Usage Example :
BNS Keeps System Components States.
BNS Keeps System Topology.
01/04/2004
Version 6
UBSS Product 30 Multidomain Control Center
31. UBSS BNS : model
Logique Name Logical or Physical Attributes
Updates
Notification
FIFO FPL 200.111.23.7 :: 109 :: TCP
PRINTER /DEV/TTY1
ERROR /etc/log220895 BNS
CDC
Indirection Table
01/04/2004
/etc/log230895
ERROR
Version 6
UBSS Product 31 Multidomain Control Center
32. UBSS BNS : Indirection Level
ALIAS
SYMBOL ITEM
01/04/2004
Version 6
UBSS Product 32 Multidomain Control Center
33. UBSS BNS principle : Change Notification
Item Change
Alias Change
Alias SYMBOL ITEM
Attributs Change Notification
}
Change
notification
Alias Change Notification
to FIFO
01/04/2004
Version 6
UBSS Product 33 Multidomain Control Center
34. Inter Process Communication (IPC) : Scope
Typed Asynchronous Communication Services.
Point To Point FIFO.
Secured FIFO.
Diffusion FIFO.
IPC Uses BNS Services For :
Remote Attributes Information.
Server Dynamic Reconfiguration.
Multiple Or Single Event Asynchronous Waiting Point With
Priorities.
Communications Supervision.
01/04/2004
Version 6
UBSS Product 34 Multidomain Control Center
35. UBSS IPC : Concepts
FIFO
P2 P1
FIFO
P2
P2
P3
FIF
O
BNS
BNS
P1
01/04/2004
Version 6
UBSS Product 35 Multidomain Control Center
36. UBSS IPC Concepts : FIFO paradigm
Intra node communications
FIFO
P2 P1
Inter nodes communications
P1
P2
01/04/2004
Node A Node B Version 6
UBSS Product 36 Multidomain Control Center
37. UBSS IPC Concepts : Wait Multiplexing
FPL
Priority Mask
Appli
FPL
TRK
TRK
Appli Appli
Wait From
Strip
Strip
Appli
FIFO Deck
01/04/2004
Version 6
UBSS Product 37 Multidomain Control Center
38. UBSS IPC : ATC Operator Orders Centralisation
Tracks Flight plans
FPL
Appli
Appli
TRK
FPL FPL FPL
1 to 100
CWPs
Appli Appli Appli
01/04/2004
Version 6
UBSS Product 38 Multidomain Control Center
39. IPC/FIFO : Concepts
Process Environment
Timer
Unix Process
Appli
Unix Signal
Appli
Appli
socket
Appli
01/04/2004
Version 6
UBSS Product 39 Multidomain Control Center
40. UBSS IPC services : Server Dynamic Reconfiguration
@2
FIFO FPL
@2
FIFO FPL
@2
P2
FIFO
BNS BNS
P2
P1
Connection
@1
@3
P3
FPL Before Crash
@3
FIFO FPL
@3
FIFO FPL
@2
P2
FIFO
BNS BNS
P2
P1
Connection
@1
@3
P3
FPL
01/04/2004
After Crash
Version 6
UBSS Product 40 Multidomain Control Center
41. Node And Process Management (NPM) : Scope
Manages All Objects On A Node :
Processes, Shared Memory Segments, Semaphores.
Starts/Stops Processes Running On A Node.
Organizes Applications In Group Of Processes.
Identifies Process And Process Group Through Logical Name.
Detects And Reports Node, Process And Process Group States Changes.
Node, Process And Process Group Control And Recovery.
Executes Node, Process Group And Process Commands From Operator
Defines Application Environment.
Process Loop Detection.
User Script Shell Execution.
Dual Node Switching.
01/04/2004
Duplicated LAN Switching.
Version 6
UBSS Product 41 Multidomain Control Center
42. System Control And Monitoring (SCM) : Scope
System Wide Supervision Control And Monitoring.
Enables Technical Operator To Monitor And Control The Status Of The
Technical Part Of The System From Any System Node.
System Wide Data Distribution CDC Based,
Gathers All System Objects States In Data Store Duplicated On Each System
Node.
Automatic System Configuration And Reconfiguration.
Generic State Machines.
CPU Load Monitoring.
Handles Requests Issued By Users Or Applications Users.
01/04/2004
SNMP (Simple Network Management Protocol) MIB (Management Information Base)
Version 6
UBSS Product 42 Multidomain Control Center
43. UBSS : SCM Context Diagram
Slave Master
Slave
CSCM
LSCM LSCM
SNMP
SCM
SCM SCM
data bus
LAN
Slave
Slave
SCM
SCM
APPLI
NPM
LSCM
LSCM
01/04/2004
Version 6
UBSS Product 43 Multidomain Control Center
44. Time and Clock Management (TCM) : Scope
Time And Clock Management Provides The Following Services:
Clock Management Services:
External Time Injection (ETI): Synchronizes A Node (Time Server) With An
External Time (Usually UTC Reference)
Clock Synchronization (CS) : Synchronizes All Nodes With The Time Server
Node
.
Time Management Services:
High Resolution Timers (HRT) : Provides High Resolution Timers To
Application Programs
Time Management (TM) : Provides The Functionality To Work With Different
Time Bases (Defined With New Offsets And Speeds).
Distributed Simulated Time (DST )
01/04/2004
Version 6
UBSS Product 44 Multidomain Control Center
45. UBSS : TCM Context Diagram
HRT HRT HRT
(External)
Clock_System
tcm_store tcm_store tcm_store
CS CS
TS
ETI
clock system
input
01/04/2004
Version 6
UBSS Product 45 Multidomain Control Center
46. Time request and transmission delay
Request
Time
Client (CS)
Server Latency
Response
Time
Server (TS)
01/04/2004
Version 6
UBSS Product 46 Multidomain Control Center
47. Input Output Calls (IOC) : Scope
Input Output Call Services
Two kinds of servers provide synchronous or asynchronous
services via an IOC library.
Files and Tape management services : IOC_SERVER
Printing services : IOC_LPR_SERVER
The result of the operation is sent after completion in an application
FIFO, whose name is given as an input parameter of the call.
Possibility to use several servers (IOC_SERVER) to perform
several operations in parallel
01/04/2004
Version 6
UBSS Product 47 Multidomain Control Center
48. UBSS : IOC Context Diagram
IOC
servers IOC filter
printer
Application IOC
Software library tape
Disk
IOC filter
Disk
printer
Machine X
Machine Y
01/04/2004
Version 6
UBSS Product 48 Multidomain Control Center
49. Multi Purpose Telecommunication Management (MTM) : Scope
System external telecommunication management server
Multi protocol management
Available protocols are :
ISO TP4
X25
ARTAS : PDC (Private Data Channel
01/04/2004
Version 6
UBSS Product 49 Multidomain Control Center
50. Distributed Sequencing Services (DSS)
Based on CDC
Generic service for up to 32 sequences
Each sequence controllable by keyword or key
01/04/2004
Version 6
UBSS Product 50 Multidomain Control Center
51. Dynamic Trace Utility (DTU) : Scope
Dynamic Probes And Traces Services : Lib, Server, GUI
On-Line Circular Files Data Storage And Trace Activation
Off-Line :
Data Filtering With Unix Regular Expressions
Statistic Data Analysis : Mean And Standard Deviation
Multi-Platform : Ultrix, Digital Unix, HP-UX, Solaris.
Logical Name For Traces Identification For Management
Spreadsheet Standard Files Format For Performances Documents
Report
UBSS Independent.
01/04/2004
Version 6
UBSS Product 51 Multidomain Control Center
52. UBSS : DTU principles
Shared memory
TCP
sockets
DTU DTU
DTU DTU DTU
User DTU
process GUI
library
application process GUI
library
message queue
other applications...
traces circular
files files
01/04/2004
Version 6
UBSS Product 52 Multidomain Control Center
53. UBSS Evolutions
Hard Real Time.
Wide Area Network (WAN) Distribution.
NTP (Network Time Protocol)
RPC (Remote Procedure Call)
Call Back Framework
CORBA (Common Object Request Broker Architecture) Compliance
01/04/2004
Version 6
UBSS Product 53 Multidomain Control Center