| /* |
| * Copyright 2017, Data61, CSIRO (ABN 41 687 119 230) |
| * |
| * SPDX-License-Identifier: BSD-2-Clause |
| */ |
| |
| import <std_connector.camkes>; |
| |
| procedure Lock { |
| void lock(void); |
| void unlock(void); |
| } |
| |
| component Client { |
| control; |
| uses Lock l; |
| } |
| |
| component Server { |
| has mutex m; |
| provides Lock a; |
| provides Lock b; |
| provides Lock c; |
| } |
| |
| assembly { |
| composition { |
| component Client c1; |
| component Client c2; |
| component Client c3; |
| component Server s; |
| |
| connection seL4RPCCall s1(from c1.l, to s.a); |
| connection seL4RPCCall s2(from c2.l, to s.b); |
| connection seL4RPCCall s3(from c3.l, to s.c); |
| } |
| } |
| |