Concurrency of a multi-task program is presented by its communicating
and synchronizing behavior between tasks. In Ada, this behavior is exp
ressed as rendezvous relations between them. Difficulties in understan
ding a program lie in understanding their rendezvouses and relations b
etween them. Rendezvous successive and nesting relations are introduce
d. Successive graph and nesting tree are used for modeling these relat
ions. Finally, it is proposed that concurrent complexity CC(P) of an A
da program P is a weighted sum of successive complexity SC(P) and nest
ing complexity NC(P), and SC(P) is the sum of edge numbers of rendezvo
us successive graphs and NC(P) is the sum of weighted node numbers on
rendezvous nesting trees constructed from rendezvous relations which c
an be identified statically in Ada program text.