| /* |
| * Copyright 2017, Data61, CSIRO (ABN 41 687 119 230) |
| * |
| * SPDX-License-Identifier: BSD-2-Clause |
| */ |
| |
| import <std_connector.camkes>; |
| |
| procedure P { |
| string foo(void); |
| void bar(in string x[]); |
| void baz(out string x[]); |
| void qux(inout string x[]); |
| void quux(in string x[], out string y[], inout string z[]); |
| void corge(refin string x[]); |
| } |
| |
| component A { |
| control; |
| uses P p; |
| } |
| |
| component B { |
| uses P p; |
| provides P q; |
| } |
| |
| component C { |
| provides P p; |
| } |
| |
| assembly { |
| composition { |
| component A a; |
| component B b1; |
| component B b2; |
| component B b3; |
| component C c; |
| connection seL4RPCCall conn0(from a.p, to b1.q); |
| connection seL4RPCCall conn1(from b1.p, to b2.q); |
| connection seL4RPCCall conn2(from b2.p, to b3.q); |
| connection seL4RPCCall conn3(from b3.p, to c.p); |
| } |
| } |