CRCE Architecture Overview

11
Premek Brada Department of Computer Science and Engineering University of West Bohemia, Pilsen, CZ Euromicro 2012, 5.-8.September, Cesme, Turkey

Transcript of CRCE Architecture Overview

Page 1: CRCE Architecture Overview

Premek Brada

Department of Computer Science and Engineering

University of West Bohemia, Pilsen, CZ Euromicro 2012, 5.-8.September, Cesme, Turkey

Page 2: CRCE Architecture Overview

> Motivation Issues, scenarios

> Overall Approach

> CRCE Repository Architecture, Extensible design Meta-data Use

> Conclusion

2

Page 3: CRCE Architecture Overview

> Need for consistency preserving updates

> Scenarios Can I update this component, there is a new version? Is there a new application configuration for update? This app configuration does not work well, is there an

alternative configuration?

> Avoid repetitive verification Small devices Many installations

3

Page 4: CRCE Architecture Overview

> Applications consist of 100s of components Dynamically evolving architectures Step-wise vs Application subset updates Horizontal and vertical compatibility

> Contract levels => complexity Signature Semantics (pre/post-conditions) Interaction (protocols, simulation) Extra-functional

> Any client device resource constrained

4

Page 5: CRCE Architecture Overview

> Offload consistency verification from client

> Store verification results for later reuse

=> Pre-verified

Components

5

client verification tools

meta-data component repositories

Page 6: CRCE Architecture Overview

> Managed resources components, meta-data, verification results

> Repository as initiator of verification synchronous / asynchronous operation have compatibility data ready when asked for

6

client CRCE

provider provider

provider

< >

verifier

Page 7: CRCE Architecture Overview

> Goal: plug-in different contract verification methods

> OSGi based

7

Page 8: CRCE Architecture Overview

> 2 stages

> Load component

structure checks indexers fast verification

> Storage long-running

verification queries

8

Page 9: CRCE Architecture Overview

> Capability/Requirements model, extended

> Per-component Structural information Compatibility data

(M:N comparison)

> Aggregated

9

<resource id="cz.zcu.kiv.Gate/1.2.1"> ... <capability name="package"> <p n="package" v="cz.zcu.kiv.gate" /> <p n="version" t="version" v="1.1.0" /> <p n=“replaces" base="1.0.0" v=“true" /> <p n=“replaces" base="2.0.0" v=“false" /> </capability> … <capability name="memory"> <p n=“level” v=“extra-functional” /> <p n="memory" t="int" v="30" /> <p n="unit" t="string" v="MB" /> </capability> ... <diff base=“1.0.0" type=“subtype” level=“signature” value=“spec” > <part name="package" id="fq.pkg.name" diff=“none” > <based-on result-id=“res1024823” /> </part> ... </diff> … </resource>

Page 10: CRCE Architecture Overview

> Core, subtype compatibility, web UI

> Simulation verification for interaction and EFP contracts in active research and development

10

Page 11: CRCE Architecture Overview

11

http://www.kiv.zcu.cz/research/groups/dss/