Presentation is loading. Please wait.

Presentation is loading. Please wait.

Neochiron An Architecture Assembly Language. ADL Constructs Architecture description language – provides primitives for composing an architecture Components,

Similar presentations


Presentation on theme: "Neochiron An Architecture Assembly Language. ADL Constructs Architecture description language – provides primitives for composing an architecture Components,"— Presentation transcript:

1 Neochiron An Architecture Assembly Language

2 ADL Constructs Architecture description language – provides primitives for composing an architecture Components, connectors, ports, roles Components and connectors are composite – primitives are high level Need lower level abstractions to compose components and connectors – is a high level specification language Need lower level language for implementation – support specific styles Need to support different styles through a common sub-language Need for a simple set of lower level primitives to define architectural constructs

3 The C2 Architectural Style Asynchronous, event-based communication among autonomous components, mediated by active connectors Minimal component interdependencies – no component-component links – separation of computation from communication – implicit invocation via connectors – substrate independence Event-flow rules: Hierarchical application Notifications fall Requests rise Component Connector “push” “pull” Connector

4 C2-Style Composition and Interaction

5 Concrete Example: User Authentication Verify User Information AcceptLoginEvent AuthorizedUserAuthorizedUser WindowOpened WindowClosed

6 Internal Architecture of a Component Internal Object

7 Neochiron Neochiron is an assembly language for C2-style architectures Approach – Provide low-level primitives to assemble C2 components and connectors Primitives emphasize performance/monitoring – Connectors and components can be built out of other connectors and components – Transparency of architecture down to the assembly level Fine grain control of semantics Connectors with wide range of semantics and guarantees

8 Neochiron Benefits Combines lessons from Weaves with C2- style – Performance matters – Communication semantics matters – Fine grain control matters Realistic platform assumptions – Finite buffering – Delivery guarantees – Safe halt/restart

9 Elements of Neochiron Fragment – Locus of computation – Assembly language equivalent of C2 component Transport – Locus of communication – Assembly language equivalent of C2 connector Portal – Message entry and exit points for fragments and transports – Locus of message filtering and fragment/transport monitoring

10 Elements of Neochiron (2) Jumper – “Wire” that interconnects two portals – Key to atomic disconnect Hierarchical assembly – A fragment or transport may be a network of other fragments and transports Point to point networks – Fragments cannot connect to other fragments, transports cannot connect to other transports – No fragment is connected to itself in a closed loop

11 Fragments Portals – Input portals distinguished from output portals Animus – thread that animates the fragment State – Run, halt, snooze, suspend Methods – Start, Suspend, Halt (control the component) – Notify (notify the component) – Progress Examines/classifies messages (signals, requests) Schedules consumption of signals and requests –Request (consume a request) –Signal (consume a signal) output portals input portals signals/requests

12 Transports Transports move signals and requests from one place to another Finite capacity – Pushing and pulling fragments can block – Fixed number of input/output portals m x n transport has m input portals and n output portals Basic transports are passive – No internal thread – motive force supplied by fragment threads Queue_1_1 – Fixed length queue with 1 input portal and 1 output portal

13 Transports Queue_1_N – Fixed length queue with 1 input portal and N output portals Fair n-way splitter Queue_M_1 – Fixed length queue with M input portals and 1 output portal Fair m-way merge Replicate_1_N – N way shallow copy of messages (1 input portal/N output portals) Fair m-way shallow replication

14 Portals and Jumpers owner jumper filters g 0, g 1,... filters f 0, f 1,... path = (t, c)

15 M components N components A C2-styled Architecture

16 M components N components IOIOIOIOIOIO portals signal request C2 Translated in Neochiron

17 m-way fair merge n-way replicator IOIOIOIOIOIOIO portals M components N components signal request

18 m-way fair merge n-way replicator n-way fair merge IOIOIOIO m-way replicator IOIOIO portals M components N components signal request

19 Modeling Problems Representing Neochiron semantics Linking Neochiron formally to C2 Modeling dynamism in C2 Modeling composite connectors such as security and multi-versioning Creating a hierarchical model for C2 and Neochiron Modeling ordering semantics in C2 Testing utility of Neochiron to other architectural styles Modeling fragment ownership of thread of control Non-circularity of fragment connectivity


Download ppt "Neochiron An Architecture Assembly Language. ADL Constructs Architecture description language – provides primitives for composing an architecture Components,"

Similar presentations


Ads by Google