Presentation is loading. Please wait.

Presentation is loading. Please wait.

24 October 2003 SEESCOASEESCOA STWW - Programma SEESCOA Component Models and Component Composition: Highlights Viviane Jonckers and Yolande Berbers.

Similar presentations


Presentation on theme: "24 October 2003 SEESCOASEESCOA STWW - Programma SEESCOA Component Models and Component Composition: Highlights Viviane Jonckers and Yolande Berbers."— Presentation transcript:

1 24 October 2003 SEESCOASEESCOA STWW - Programma SEESCOA Component Models and Component Composition: Highlights Viviane Jonckers and Yolande Berbers

2 SEESCOASEESCOA Component Modeling and Composition uCCOM Component & Contract Oriented Modeling wBased on  Component-port-connector paradigm  Contract paradigm uPacoSuite wBased on  MSC's for specification of component usage  Composition patterns as n-ary connectors  Mapping of Concrete API's uStatic & Dynamic Verification of Contracts uComponent Modeling and Code Generation

3 SEESCOASEESCOA CCOM: Main Characteristics uCCOM components wloosely coupled to facilitate reuse wcommunicate through ports uConnectors to connect communicating ports uConstructs for composing applications wblueprints describe design-time compositions winstances describe run-time compositions uContracts specify & verify non-functional constraints wspecify and verify compositions at design-time wverify the correct execution of compositions at run-time uSupported by CASE tool & runtime environment

4 SEESCOASEESCOA CCOM: Contracts uImposes a non-functional constraint uIs attached to participants w Participants  Component instance  Port instance  Connector uCurrently two types of contracts wDeadline Timing Contracts: deadline and periodicity wBandwidth Contract uDescribed in a scenario model

5 SEESCOASEESCOA CCOM: Timing Contracts uTiming contracts wDeadline Timing Contract: imposes a deadline on an event wPeriodicity Timing Contract: imposes a periodicity constraint on an event wUse MCS’s for specification

6 SEESCOASEESCOA CCOM: Bandwidth Contracts uHow wStatistical data-flow charact. of each port’s output  average, max, min, variance wData-flow requirements on each port’s input  average, max, min, variance uData analysis wNo incomprehensible low-level data  no packets, time slots,... wFrom the designer’s point of view  Interval Time Between Messages (ITMB)  Message Size (MS)

7 SEESCOASEESCOA CCOM: Case Tool

8 SEESCOASEESCOA Static Verification of Contracts uStatic checking of timing constraints wDeadline and periodic constraints wBandwidth constraints wExtension to Pacosuite MSC editor wImplementation of Floyd-Warshall algorithm for checking consistency of timed MSCs  Local checking: consistency of a single MSC  Incremental checking: consistency of the set of MSCs used while composing an application

9 SEESCOASEESCOA PacoSuite

10 SEESCOASEESCOA Static Local Checking

11 SEESCOASEESCOA Incremental checking Composition pattern Role1Role2 Component AComponent B Timed MSC A B B A B A Some Timing constraints Some Timing constraints Some Timing constraints

12 SEESCOASEESCOA Dynamic Verification of Contracts uExtend the Component System wContract Monitoring through Monitoring Subsystem uExploit power of Aspect Oriented Programming wExtension of PacoSuite with component adaptors wAutomatic generation of monitoring code  On component interaction by changing the glue code  On component interaction by changing the Java bytecode

13 SEESCOASEESCOA Contract Monitoring in CCOM uTiming contracts can be monitored at runtime wMonitoring Subsystem  Intercepts (and timestamps) relevant messages  Verifies adherence to contract parameters  Reports contract violations

14 SEESCOASEESCOA Monitoring subsystem uMonitoring functionality split in wMonitoring Node (# = 1): contract monitoring, violation reporting wMonitored Nodes (# = n): event collection/timestamping u based on wClock synchronization: NTP (Network Time Protocol) wContract files on monitoring node wProbe files on monitored nodes wViolations made explicit through feedback ports on contracts

15 SEESCOASEESCOA Monitoring Node NTP server Event Collector Monitored Node 1 Monitored Node 2 NTP client Event Source probe file Sync. IF Event Sort/Filter DEADLINEPERIODICITY Config contract file Config Clock IF OTHER Cn2 Cn3 Cn4 Cn5 Cn6 Probes Cm1 Cm2 feedback [ : \ \ \ + timestamp] Cn1 Violation reporting Monitoring subsystem

16 SEESCOASEESCOA Contract Monitoring in PacoSuite uA contract is translated to winput to an explicit contract checking component wa composition adaptor that timestamps and redirects the relevant events JButtonJuggler GlueCode TimingChecker InvasiveTimer

17 SEESCOASEESCOA Evolution and Version Control uComponent Libraries: wDifferent views on components (functionality, deployment platform, versioning, quality of service, etc) in a multi- dimensional approach (extension of the faceted classification)  Components documented and classified wConnectors between components and Component-based systems also described and managed by the component library  Generic configuration model: support for many component models (SEESCOA, JavaBeans, J2EE,…) wSupport for maintenance and evolution thanks to the detailed information of components and component-based systems in the component library.

18 SEESCOASEESCOA Component Documentation (1) Functionality Dimension:

19 SEESCOASEESCOA Component Documentation (2) Quality of Service Dimension:

20 SEESCOASEESCOA Configuration Model

21 SEESCOASEESCOA Component 'Blueprints' for SEESCOA uComponent ‘Blueprints’: wDesign components in high-level design language wAutomatically generate specific implementations  Targeted to specific hardware/software platform  Generate partial functionality  Driven by quality requirements uCoCompose approach: wVisual modelling starting from concepts => eventually map to concrete implementation constructs. wAllows for high-level design, but also refinement to executable/implementation level. wAutomatic translation process uses selection and constraint checking mechanism to derive feasible implementation.

22 SEESCOASEESCOA CoCompose Example Solution patterns Top-level model C# SEESCOA Java Implementation Generators

23 SEESCOASEESCOA Extending CoCompose for SEESCOA Visual Modelling Translation Process Existing Tool Support (Generic) Models/ Solution Patterns Java,... Implementation Generators Java,... Backend SEESCOA Implementation Generators Implements low-level composites in SEESCOA language constructs SEESCOA Backend Generates SEESCOA elements and files

24 SEESCOASEESCOA Conclusions uExpertise in: wvisual component modeling and composition environments wstatic and dynamic checking of contracts wsoftware libraries for components and component-based applications wModelling of component internals and automatic code generation for components


Download ppt "24 October 2003 SEESCOASEESCOA STWW - Programma SEESCOA Component Models and Component Composition: Highlights Viviane Jonckers and Yolande Berbers."

Similar presentations


Ads by Google