Real-time Extensions to the OMG s Deployment and Configuration of Component-based Distributed Applications Specification



Similar documents
MAST: A Timing Behavior Model for Embedded Systems Design Processes

Modelling real-time applications based on resource reservation

EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS

Chap 1. Introduction to Software Architecture

Integrating real-time analysis into design flows

Model Transformations and Code Generation

Predictable response times in event-driven real-time systems

Applying 4+1 View Architecture with UML 2. White Paper

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Experience with the integration of distribution middleware into partitioned systems

R&D and Topcased (led by Silvia Mazzini)

Designing Real-Time and Embedded Systems with the COMET/UML method

Model based schedulability analysis with MAST and the UML Profile for MARTE

Turning Emergency Plans into Executable

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

A Management Tool for Component-Based Real-Time Supervision and Control Systems

Figure 1: Illustration of service management conceptual framework

Open Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics

Industry Challenges in Embedded Software Development

Resource Management on Computational Grids

Layered Queuing networks for simulating Enterprise Resource Planning systems

Web services to allow access for all in dotlrn

AFDX networks. Computers and Real-Time Group, University of Cantabria

Dynamic Memory Management for Embedded Real-Time Systems

NSF Workshop: High Priority Research Areas on Integrated Sensor, Control and Platform Modeling for Smart Manufacturing

Simplify the HR systems integration and provide a single version of employee data. C

D83167 Oracle Data Integrator 12c: Integration and Administration

IBM Rational Asset Manager

Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow

Testing automation of projects in telecommunication domain

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Oracle WebLogic Server 11g Administration

Programa de Actualización Profesional ACTI Oracle Database 11g: SQL Tuning Workshop

CERTIFIED MULESOFT DEVELOPER EXAM. Preparation Guide

HL7 V2 Implementation Guide Authoring Tool Proposal

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Presentation of the AADL: Architecture Analysis and Design Language

1. Product Nomination Title: Base Object Model (BOM) Specification

Embedded Systems. 6. Real-Time Operating Systems

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS

Dagstuhl seminar on Service Oriented Computing. Service design and development. Group report by Barbara Pernici, Politecnico di Milano

Multilingual and Localization Support for Ontologies

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

The Tropos and MaSE Agent-Oriented Software Engineering Methodologies. Msury Mahunnah, Tallinn University of Technology

Trends in Embedded Software Engineering

CORBAservices. Naming. Part of the CORBA Naming Service Interface in IDL. CORBA Naming Service

Oracle Data Integrator 11g: Integration and Administration

Oracle Service Bus Examples and Tutorials

ARINC-653 Inter-partition Communications and the Ravenscar Profile

Multi-objective Design Space Exploration based on UML

The Role of the Software Architect

BUSINESSOBJECTS DATA INTEGRATOR

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Oracle Data Integrator 12c: Integration and Administration

Component-Oriented Engineering

Model-Driven Data Warehousing

CHAPTER 1 INTRODUCTION

Next-Generation Performance Testing with Service Virtualization and Application Performance Management

PMLite: An Open Source Solution for Process Monitoring

VAIL-Plant Asset Integrity Management System. Software Development Process

Software Architecture

SOA Standards - Patterns

Real Time Programming: Concepts

Integrating Performance Characterization with Software Development

IBM WebSphere Enterprise Service Bus, Version 6.0.1

BUSINESSOBJECTS DATA INTEGRATOR

Integration of Time Management in the Digital Factory

Amit Sheth & Ajith Ranabahu, Presented by Mohammad Hossein Danesh

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Transcription:

Real-time Extensions to the OMG s Deployment and Configuration of Component-based Distributed Applications Specification Patricia López, José M. Drake, and Julio L. Medina Grupo de Computadores y Tiempo Real Universidad de Cantabria, Spain OMG's Ninth Workshop on Distributed Object Computing for Real-time and Embedded Systems July 14-16, 2008 - Arlington, VA USA Funded by the European Union under contracts FP6/2005/IST/5-034026, IST-004527, and FP7-224330 and by the Spanish Government under grant TIC2005-08665-C03

Introduction! Real-Time => Timing predictability, schedulability.! Static schedulability analysis based on RMA techniques is made using scenario models.! Component-based strategies simplify the process to get the analysis models of real-time applications: " Component packages must include the information about the temporal behavior of the component code as non-functional metadata. " In the application design phase, a tool, driven by the deployment plan, composes the real-time data of its constituent components and built the complete real-time model of the application. Grupo de Computadores y Tiempo Real - Universidad de Cantabria 2

Real-Time aspects in component-based development Component design Required Functionality Specifier Component External view (with rt-metadata) D&C (.ccd.xml) Developer Component Internal View (with references to rt-models) D&C (.cid.xml) Source code Packager Component Package D&C (.pcd.xml) Business code Repository Application design Required Functionality Real-Time Requirements Assembler Application Description D&C (.cad.xml) RT D&C (.wld.xml) Workload Description Planner Schedulability report Deployment Plan (with rt-workload) D&C (.cdp.xml) D&C (.tdm.xml) Platform model (with rt-metadata) Executor (.exe) Executable code Execution platform Grupo de Computadores y Tiempo Real - Universidad de Cantabria 3

Our proposal! The proposal is to promote a component based strategy and extend the D&C specification to include the metadata and the tasks required to manage the real-time models along the envisioned development process. Grupo de Computadores y Tiempo Real - Universidad de Cantabria 4

Our proposal in brief (1) 1. Extend the D&C specification to include: " In Component Interface metadata:! Conditions for connections so that the assembled set has a predictable timing behavior.! For active components, the description of the end-to-end flow transactions that may be started on it. " In Component Implementation metadata:! References to the models that describe the RT behavior of each of its implementations. " In Application Assembly metadata:! The analysis contexts in which the application is to be scheduled: workload and time constraints. " In Target Data Model:! References to the models that describe the processing capacity of the platform resources. " In Deployment Plan:! The assignment of values to those configuration parameters related to scheduling (priorities, deadlines, resource reservation contracts, etc.) Grupo de Computadores y Tiempo Real - Universidad de Cantabria 5

Our proposal in brief (2) 2. Limit information and concerns so that: " The designers of the application (assembler and planner):! Do not need to know the real-time modeling methodology.! Use tools that analyze the temporal behavior of the application.! Interpret the results of the tools as references to a conceptual frame defined in the D&C rt-extensions. " The developer of the components, and the platform, who know their code, have to master the RT modeling methodology used to construct the corresponding real-time models. Grupo de Computadores y Tiempo Real - Universidad de Cantabria 6

Our proposal in brief (3) 3. Extend the deployment process so that it includes the tasks that are inherent to the real-time applications design " In the design phase it is evaluated whether with the available components the application may have a complete real-time model or not. " In the application development phase the real-time model is assembled and used to:! Evaluate schedulability! Calculate application's configuration parameters like, allocation, priorities, or the contracts to negotiate with the managing services in the deployment over a contract-based platform. Grupo de Computadores y Tiempo Real - Universidad de Cantabria 7

Reactive model of an application! The real-time analysis models are described as reactive scenarios running over a scheduled platform. Real-Time System R R R Grupo de Computadores y Tiempo Real - Universidad de Cantabria 8

Reactive model in MARTE! These modeling capabilities are provided in the Analysis sub-profiles of the UML profile for MARTE contextparams workloadbehavior 1 AnalysisContext 1..* resourcesplatforms * Variable WorkloadBehaviour ResourcesPlatform * resources Resource timing behavior 1..* TimingObserver WorkloadEvent * EndToEndFlow endtoendresponse inputstream 1..* 1 1..* BehaviourScenario effects endtoendstimuli connectors * outputrel succes 1 steps ProcessingResource 1 * PrecedenceRelation inputrel predec Step * SharedResource 1 sharedresources * * 0..1 root 0..1 host 0..1 SchedulableResource concurres Grupo de Computadores y Tiempo Real - Universidad de Cantabria 9

Reactive model example Grupo de Computadores y Tiempo Real - Universidad de Cantabria 10

Grupo de Computadores y Tiempo Real - Universidad de Cantabria 11

Real-time model of a component! The real time model of a component includes all the information related to its internal code that is required to predict the temporal behavior of any application in which the component may be used. SoundGenerator real-time model <<activity>> AddSound wcet=6.2e-6 bcet=6.2e-6 acet=6.2e-6 fail (rt-model) <<activity>> OpenFile wcet=4.7e-5 bcet=4.1e-5 acet=4.2e-5 play (rt-model) playerport soundthread SoundGenerator functional model SoundGenerator <<interface>> iplayer fail() play(melody:pathfile) loggerport??? Offered operation real-time models soundthreadtransaction <<eventsource>> SoundThreadAct type=periodic period= soundthread.period <<activity>> AddMelody wcet=4.7e-5 bcet=4.1e-5 acet=4.2e-5 <<activity>> UpdateSound <<activity>> LogError ref=loggerport.log wcet=9.7e-6 bcet=6.1e-6 acet=6.5e-6 <<interface>> PeriodicActivation update() log() <<interface>> ilogger Initiated transactions real-time models <<globaldeadline>> Updated Reference=SoundThreadAct Deadline=soundThread.period Grupo de Computadores y Tiempo Real - Universidad de Cantabria 12

Real-time Models in the D&C specification! The developer is who elaborates the real-time model of a component. " A concrete modeling methodology that allows for the composition of models must be used " We propose to use CBS MAST, an extension of MAST " The models are included as metadata associated to the component s implementation by means of the Component Implementation Description! The assembler and the planner do not need to access the internal representation of the real-time models, they require only the information that is necessary to decide if the utilization of one particular component may lead to a complete real-time model, and hence that the predictability of the application may be evaluated " They do not need to master any real-time modeling methodology " The required information is included as metadata in the external description of the component, this is in the Component Interface Description. Grupo de Computadores y Tiempo Real - Universidad de Cantabria 13

D&C s Component Interface Description! It represents the external description of the component. It is used to: " Decide the utility of a component in an application " Know the connectivity and configuration characteristics of the component! It is defined through: " The set of ports the component offers " The set of ports the component requires " The configuration properties that it admits Grupo de Computadores y Tiempo Real - Universidad de Cantabria 14

Extended D&C s Component Interface Description Grupo de Computadores y Tiempo Real - Universidad de Cantabria 15

Example of Component Interface Description <?xml version="1.0" encoding="utf-8" standalone="no"?> <DnCcdm:componentInterfaceDescription xmlns:xmi="http://www.omg.org/xmi" <description label= AdaMaRTE SoundGenerator Service specifictype= components/multimedia/soundgenerator.ccd.xml"> --- <!-- *** FACETS DECLARATION *** --> <port name= playerport" specifictype=interfaces/multimedia/iplayer.idl.xml::multimedia::iplayer provider="true" exclusiveuser="true kind="facet" exportedoperrtmodel= play playmany fail /> <!-- *** RECEPTACLES DECLARATION *** --> <port name= loggerport" specifictype=interfaces/database/ilogger.idl.xml::database::ilogger provider="true" exclusiveuser="true kind= RECEPTACLE" requiredoperrtmodel= log /> <!-- ***ATTRIBUTES DECLARATION***--> <property name= mode type=interfaces/multimedia/iplayer.idl.xml::multimedia::playingmode/> <!--***TRANSACTIONS DECLARATION***--> <rtworkloadentity name= soundthreadtransaction label= > <transactionproperty name= period type= DURATION /> </rtworkloadentity> </ComponentInterfaceDescription> Grupo de Computadores y Tiempo Real - Universidad de Cantabria 16

D&C s Component Package Description! It describes multiple implementations of the same component interface! Each implementation can be monolithic or assembly based (in that case it is described as the set of instances and connections that form it). Only valid to assing values to the configuration properties defined in the ComponentInterface Description Grupo de Computadores y Tiempo Real - Universidad de Cantabria 17

Extended D&C s Component Package Description Only valid to assing values to the real-time properties defined in the ComponentInterface Description Developed according to a concrete modelling methodology (with composability properties) Grupo de Computadores y Tiempo Real - Universidad de Cantabria 18

Example of Component Package Configuration <?xml version="1.0" encoding="utf-8" standalone="no"?> <DnCcdm:packageConfiguration xmlns:xmi="http://www.omg.org/xmi" <basepackage> <realizes><ref>component/multimedia/soundgenerator.ccd.xml</ref></realizes> <implementation name= MaRTE_SoundGenerator rtmodel= component/multimedia/soundgenerator.rtm.xml> <monolithicimpl> <primaryartifact name= MaRTE_SoundGenerator.adb > <description location= component/multimedia/soundgenerator/martesoundgenerator.adb /> </primaryartifact> <primaryartifact name= MaRTE_SoundGenerator.ads > <description location= component/multimedia/soundgenerator/martesoundgenerator.ads /> </primaryartifact> <primaryartifact name= SoundGenerator_business_interface.adb > <description location= component/multimedia/soundgenerator/soundgenerator_business_interface.adb /> </primaryartifact> <deployrequirement resourcetype = OS name= OS_Requirement > <property name= type ><value>marte_os</value></property> </deployrequirement> </implementation> </basepackage> </packageconfiguration> Grupo de Computadores y Tiempo Real - Universidad de Cantabria 19

Summary of RT Components Modeling «PackageConfiguration» Component RTRT Configuration property «Component Package Description» Component description RTRT Configuration property <<MAST>> Component RT-Model description description Workload property description 1 «Component Interface Description» Component external description 1..n «ComponentImplementationDescription» Implementation descrip tion RTRT Configuration property RTRT Configuration property RTConfiguration property Property description 1 «MonolithicImplementation Description» Monolithic implementation 1 «ComponentAssembly Descriptio n» Assembly implementation Grupo de Computadores y Tiempo Real - Universidad de Cantabria 20

Real-time model of an application: AnalysisContext! AnalysisContext => a concrete mode of operation of a system to be analyzed. It is generated from: " Platform: It is defined according to the extended D&C s domain description " Deployment Plan: instances, their connections, the assignment of instances to the nodes, and the communication mechanisms. " Workload: Stimuling events, Extension to D&C Real-Time requirements Functional requirements Workload description (.wld.xml file) # D&C Component D&C Assembly description Deployment Plan (.cad.xml file) (.cdp.xml file) # Target Data Model (.tdm.xml file) ApplicationMAST Modeler Tool Real-time Situation Model (.mdl.xml files) Scheduling analysis report MAST tools Instaled component packages Repository Platform description &model (.tdm.xml files) Scheduling Configuration parameters. Grupo de Computadores y Tiempo Real - Universidad de Cantabria 21

Extended D&C s Deployment Plan! This model is enriched with the real-time extension for the assignment of scheduling configuration parameters, applied both to component instances and connections: " For the instances: those corresponding to the real-time configuration properties defined in the component interface description. Ex: threads priorities or deadlines, ceiling priorities or synchronization artifacts, etc. " For the communication mechanisms: messages priorities or deadlines, priority of the threads that perform the message dispatching, etc. Grupo de Computadores y Tiempo Real - Universidad de Cantabria 22

Workload Model! Workload Model: New in D&C, it is expressed as a set of transactions! All the transactions associated to any of the instances of a component in the deployment plan must be declared.! They are parameterized to be adapted for each usage of the component, " The parameters are those declared in the Component Interface Description. " The workload model assigns values to them. Grupo de Computadores y Tiempo Real - Universidad de Cantabria 23

Example of application workload <?xml version="1.0" encoding="utf-8"?> <rtwkld:applicationworkload xmlns:rtwkld="http://ctr.unican.es/cbsdnc/rtworkload" xmlns:dncbt="http://ctr.unican.es/cbsdnc/dnc_ccm_basictypes" deployment_plan="scs/applications/scs/jetfollower_deployment.xml"> <instanceworkload instancename= alarmsound"> <endtoendflow endtoendflowdescr= soundthreadtransaction" endtoendflowname= thesoundtrans"> <rtconfigproperty name= period"> <value> <duration>1.0</duration> </value> </rtconfigproperty> </endtoendflow> </instanceworkload> </rtwkld:applicationworkload> Grupo de Computadores y Tiempo Real - Universidad de Cantabria 24

Real-time model of the platform resources! To analyze the system it is necessary to have also the real-time model of the platforms that will be used.! D&C does not mention the necessity of storing descriptors of platform models => A extension is required to support the handling of parameterized platform models! Elements in the platform model are: Processing resources (processors or networks), schedulers, scheduling policies, threads, control access protocols.! The processing capacity of the processors and networks is expressed as a speed factor. This is used in combination with the Normalized Execution Times expressed in the description of the operations to get the actual execution time in a platform. Grupo de Computadores y Tiempo Real - Universidad de Cantabria 25

D&C s Target Data Model! It describes the concrete platform in which the component-based application is going to be executed Grupo de Computadores y Tiempo Real - Universidad de Cantabria 26

Model of a Node This is the element that is stored in the repository (in analogy to a component package description) Concrete values can be assigned to each rtproperty when node instance is included in a domain Developed according to a concrete modeling methodology (with composability properties) Configuration properties of the real-time model Grupo de Computadores y Tiempo Real - Universidad de Cantabria 27

Example of NodeDescription and Node <?xml version="1.0" encoding="utf-8"?> <DnCtdm:nodeDescription xmlns:dnctdm="http://ctr.unican.es/cbsdnc/dnc_ccm_targetdatamodel" :DnCbt="http://ctr.unican.es/cbsdnc/DnC_CCM_BasicTypes" :DnCct=http://ctr.unican.es/cbsdnc/DnC_CCM_CommonTypes label="description of MaRTEOS node"> <resource resourcetype="os" name="theos"> <property name="type" kind="attribute"> <value>marteos</value> </property> </resource> <rtmodel location= scs/platform/gral/marteos_2_2.rtm.xml /> <rtproperty type="float" name="speed_factor"/> <rtconfigproperty name="speed_factor"> <value> <float>1.0</float> </value> </rtconfigproperty> MaRTE_OS_2_2.cnd.xml </DnCtdm:nodeDescription> <DnCtdm:domain xmlns:dnctdm="http://mast.unican.es/cbsdnc/dnctargetdatamodel" <node name="central" label="central node" source="scs/platform/gral/marteos_2_2"> <rtconfigproperty name="speed_factor"> <value> <float>0.8</float> </value> </rtconfigproperty> <connection>thenetwork</connection> </node> </DnCtdm:domain> adomain.tdm.xml Grupo de Computadores y Tiempo Real - Universidad de Cantabria 28

Composition of real-time models Target Data Model (.tdm.xml file) Planner MAST tools MAST results D&C Deployment Plan (.dpd.xml file) Workload description (.wld.xml file) Application MAST Modeler Application MAST model (.mdl.xml file) Schedulability analysis Optimal priority assign Schedulability report Schedulability parameter Components Real-Time Models Platform Resources Real-Time Models Connectors Real-Time Models Slacks calculation Slacks Instaled component packages Platform description &model (.pdm.xml files) Grupo de Computadores y Tiempo Real - Universidad de Cantabria 29

Herramienta de composición de modelos Gather EndToEnd Flow Transactions collection For each EndToEnd Flow For each reference For each normalized time Resolve references Insert connector models Evaluate absolute times Workload description (.wld.xml file) Platform description (.tdm.xml file) Deployment plan (.cdp.xml file) Component description (.pcd.xml file) Reactive rt-model (.mdl.xml file) Grupo de Computadores y Tiempo Real - Universidad de Cantabria 30

Conclusions! We have proposed a number of modeling practices and a methodology that extends the D&C specification to include the metadata and the tasks required to manage the real-time models along a component-based development process.! This extension allows the designers of real-time component-based applications to build their models and then analyze them using only the set of basic concepts included in the RT-D&C extension, without requiring expertise in the real-time modeling methodology used by the developers of the components to formulate their respective analysis models.! The experiments made to validate this approach, have lead to a successful component-based development suite using Ada [*] [*] P. López, J.M. Drake, P. Pacheco, and J.L. Medina, An Ada 2005 Technology for Distributed and Real-Time Component-based Applications, in Proc. of the 13th Intl. Conference on Reliable Software Technologies Ada-Europe, Venice, 2008 Grupo de Computadores y Tiempo Real - Universidad de Cantabria 31