InterfaceCentric Architecture Descriptions Hans Jonkers Philips Research HJ


















- Slides: 18
Interface-Centric Architecture Descriptions Hans Jonkers Philips Research HJ 010830 -1 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Problem Observations • In component-based systems, the architecturally important interactions take place at the interfaces of components. • These interaction patterns – usually involve multiple mutually related interfaces – are useful building blocks for component-based architectures Question: how to describe and compose? ? ? i-specs Philips Research HJ 010830 -2 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Interface-Level Interactions Philips Research HJ 010830 -3 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
I-Specs An i-specifies the ‘behaviour’ (= interaction) of a set of mutually related interfaces based on a contractual paradigm. Philips Research HJ 010830 -4 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
“Signing” the Contract Philips Research HJ 010830 -5 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Structure of an I-Spec Philips Research HJ 010830 -6 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Observer I-Spec interface-role diagram abstract-model diagram semantic constraints attach Signature · void attach( Observer obs ) Summary · Registers an observer. Parameters · obs: the observer to be registered. Return value None Precondition · true Action · modify observers Postcondition · observers = observers’ { obs } . . . Philips Research HJ 010830 -7 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Interface-Role Diagram Introduces all interfaces, their associated roles, and the relations between them: • the provides relation (Role Interface) • the requires relation (Role Interface) (also called use relation) • the specializes relation (Role Role) Philips Research HJ 010830 -8 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Observer Interface-Role Diagram Philips Research HJ 010830 -9 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Closed World Assumption Let S be an i-spec defining an interface I. • An object will provide an interface of type I only if it has signed for a role in S that provides I. • An object will use an interface of type I only if it has signed for a role in S that permits usage of I. Philips Research HJ 010830 -10 violating the CWA: Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Composing I-Specs • A new i-spec S can be constructed from existing i-specs S 1, . . . , Sn by adding – new roles – specialization relations between new roles and old or new roles – new interfaces – provides relations between new roles and new interfaces – requires relations between new roles and new interfaces – semantic constraints on new roles Philips Research HJ 010830 -11 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001 S delta-spec
Notifying Clock I-Spec Delta Spec 1. ‘Event of interest’ = passing of a multiple of 60 seconds since last clock start. Philips Research HJ 010830 -12 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
What Is Allowed Assign new semantic rights and obligations to roles S and T Philips Research HJ 010830 -13 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
What Is Not Allowed Assign new semantic rights and obligations to roles P, Q and R Philips Research HJ 010830 -14 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Importance of CWA Meaning of an i-spec: set of legal traces of method calls and returns CWA • is basis for the compositionality of i-specs • enables black-box testing Philips Research HJ 010830 -15 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
C-Spec c-spec = i-spec + “implemented roles” component specification component interaction patterns implemented role delta spec adds component-specific detail Philips Research HJ 010830 -16 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Related Work • • • Philips Research Design patterns (Go. F, . . . ) Design by contract (Meyer, . . . ) Interaction design (Helm et al. ) Role modelling (Reenskaug, . . . ) Collaboration frameworks (Catalysis) HJ 010830 -17 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001
Conclusion i-specs: • provide a systematic and compositional way to specify – interfaces – components – architectural interaction patterns • are basis of the ISpec approach to interface specification Current and future work: • Extend scope (streaming, quality attributes) • Formal semantics & tooling Spec. TEC project (TUE) (van Gool, Kuiper, Roubtsova) Philips Research HJ 010830 -18 Interface-Centric Architecture Descriptions © Koninklijke Philips Electronics N. V. 2001