Download presentation
Presentation is loading. Please wait.
Published byLaurence Dixon Modified over 9 years ago
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) <b[i]-a[]< period*i
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.