Presentation is loading. Please wait.

Presentation is loading. Please wait.

Stefan Van Baelen, David Urting, Yolande Berbers K.U.Leuven Department of Computer Science Celestijnenlaan 200 A B-3001 Leuven Belgium

Similar presentations


Presentation on theme: "Stefan Van Baelen, David Urting, Yolande Berbers K.U.Leuven Department of Computer Science Celestijnenlaan 200 A B-3001 Leuven Belgium"— Presentation transcript:

1 Stefan Van Baelen, David Urting, Yolande Berbers K.U.Leuven Department of Computer Science Celestijnenlaan 200 A B-3001 Leuven Belgium http://www.cs.kuleuven.ac.be The SEESCOA Composer Tool: Using Contracts for Component Composition and Run-Time Monitoring UML 2002 SIVOES-MONA workshop October 1, 2002

2 2 SIVOES-MONA Workshop UML 2002, 01/10/2002 Outline  Goals of the SEESCOA Project  Components & Collaborations  Contracts for Components & Collaborations  The SEESCOA Run-Time Component System  The SEESCOA CCOM Composer Tool  Future Work

3 3 SIVOES-MONA Workshop UML 2002, 01/10/2002 wEnable CBD for RT Embedded Systems uDeveloping applications by hierarchical (de)composition of components uAdding QoS specification contracts onto scenarios (resource constraint contracts) uDevelopment of a run-time component system supporting loose coupling of component uCode generation for SEESCOA component system uMonitoring resource contracts at run-time uActive scheduler based on resource contracts  For higher-end embedded systems Goals of the SEESCOA Project

4 4 SIVOES-MONA Workshop UML 2002, 01/10/2002 Components & Collaborations wWhat is a SEESCOA component ? uA logically highly cohesive, lowly coupled, documented software module that can be used as a unit of development, reuse, composition and adaptation. uIt provides dedicated functionality through well- defined interfaces. uIt can be instantiated and is statefull at run-time  Component blueprint (class-like) vs. instance (object-like) uExample  a collection of objects accessible through one or more facades, and providing a factory to instantiate them

5 5 SIVOES-MONA Workshop UML 2002, 01/10/2002 Components & Collaborations wSEESCOA component modeling & hierarchical (de)composition is based on ROOM/UML-RT uComponents = black boxes accessible through ports uComponent blueprint (class) can define a number of port blueprints (classes) uPorts define a bi-directional asynchronous interface to a component uPort specification on 3 levels  Syntactical level (in/outgoing message names & params)  Semantic level (message spec., pre & postconditions)  Synchronization level (MSC for the port) 3 # Settings control Read-out 1 Master control Sampler

6 6 SIVOES-MONA Workshop UML 2002, 01/10/2002 Components & Collaborations wSynchronization level MSC = extended UML Sequence Diagram uAllows specification of loops, alternative & optional messages uAllows specification of message hooks  Sending time of message (S)  Receival time of message (R)  Beginning of activation (B)  End of activation (E)  Return value passing = distinct message :Sampler:Env S S R start R update B E LOOP OPT S R resend R S request

7 7 SIVOES-MONA Workshop UML 2002, 01/10/2002 Components & Collaborations wComponent instances can have a number of port instances, to which other component/port instances can be connected uMSC’s of connected components must be compliant (MSC conformance checking)  Mapping of names (resolving name mismatches)  Mapping of LOOP / OPT / ALT blocks u“Unified” collaboration MSC as a result settings control read-out master control sampler master secondary reader 1 reader 2

8 8 SIVOES-MONA Workshop UML 2002, 01/10/2002 Components & Collaborations wMSC conformance checking a c1 env d ALT OPT LOOP e a/a’ c1 c2 d/d’ LOOP b c b/b’ a’ env c2 b’ LOOP d’ e’ LOOP c’ e/e’ c/c’ Resulting MSC associated with the connector

9 9 SIVOES-MONA Workshop UML 2002, 01/10/2002 Components & Collaborations wConnectors are mostly binary wBut multi-connectors can also be modeled producer consumer mediator start mediator producerconsumer ok LOOP OPT send deliver LOOP

10 10 SIVOES-MONA Workshop UML 2002, 01/10/2002 Components & Collaborations wUML SEESCOA Profile u Meta-model extension uPlus additional restrictions (inheritance, features, …)

11 11 SIVOES-MONA Workshop UML 2002, 01/10/2002 Contracts for Components & Collaborations wQoS contracts can be attached to components & connectors uTiming contracts on a collection of connectors uMemory contracts on a component  Can be seen as contract between component & the component system, restricting the dynamic memory usage of the component cons MW prod Timing Contract Memory Contract read-out sampling Timing Contract reader 1

12 12 SIVOES-MONA Workshop UML 2002, 01/10/2002 Contracts for Components & Collaborations wQoS contracts uBased on Real-Time Logic (RTL)  Time-stamped events: occurrence relation R(event, occurrence, time) uCan make use of message hooks  Sending/Receival of message  Beginning/End of activation  msg.B[] - msg.S[] < 10 ms :Sampler:Env S S R start R update B E LOOP OPT S R resend R S request

13 13 SIVOES-MONA Workshop UML 2002, 01/10/2002 Contracts for Components & Collaborations wQoS contracts & LOOP / ALT / OPT constructs uOccurrence maps to MSC loop  ping.S[i+1] - ping.S[I] <= 50 ms uNesting of MSC loops supported  “*” (all occurrences)  response.S[*][1] - request.S[*][1] <= 10 ms uALT & OPT expressions have meaning if event occurred  “-” (any one occurrence) env c2 LOOP request response LOOP env c2 LOOP ping

14 14 SIVOES-MONA Workshop UML 2002, 01/10/2002 Contracts for Components & Collaborations wTypical QoS contracts supported by templates uDeadline constraints (worst-case duration): b[]-a[] <= t uLower-bound timing constraints: b[]-a[]>= t uPeriodicity constraints: period*(i-1) { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/14/4312726/slides/slide_14.jpg", "name": "14 SIVOES-MONA Workshop UML 2002, 01/10/2002 Contracts for Components & Collaborations wTypical QoS contracts supported by templates uDeadline constraints (worst-case duration): b[]-a[] <= t uLower-bound timing constraints: b[]-a[]>= t uPeriodicity constraints: period*(i-1) = t uPeriodicity constraints: period*(i-1)

15 15 SIVOES-MONA Workshop UML 2002, 01/10/2002 The SEESCOA Run-Time Component System wComponents send messages via component system uComponent system is responsible for starting/stopping/swapping components uComponent system is responsible for message delivery uNo direct component interaction => loose coupling wEach component has its own message queue uMessages run to completion per component uActive components simulated by self-directed messages

16 16 SIVOES-MONA Workshop UML 2002, 01/10/2002 The SEESCOA Run-Time Component System wQoS constraint monitor layer within component system uGathers timing information of specified events. uExternal RTL checker analyses information  Restricted intrusion sampling QoS Monitor Layer reader 1 SEESCOA Component System event occurrence reporting RTL Checker

17 17 SIVOES-MONA Workshop UML 2002, 01/10/2002 The SEESCOA CCOM Composer Tool wSpecification of components, ports & MSC’s wSpecification of connections wSpecification of timing contracts wCode Generation for component connection & interaction wCode Generation for contract checking (monitor)

18 18 SIVOES-MONA Workshop UML 2002, 01/10/2002 Future Work wActive component scheduler uBased on timing contracts wMemory constraints uSpecification & monitoring uMemory resource broker wRun-time component system uDistributed QoS Monitor


Download ppt "Stefan Van Baelen, David Urting, Yolande Berbers K.U.Leuven Department of Computer Science Celestijnenlaan 200 A B-3001 Leuven Belgium"

Similar presentations


Ads by Google