Applying Model Driven Development to the DDS Domain Bruce Trask Hans van t Hag

Size: px
Start display at page:

Download "Applying Model Driven Development to the DDS Domain Bruce Trask Hans van t Hag"

Transcription

1 Applying Model Driven Development to the DDS Domain Bruce Trask Hans van t Hag OpenSplice DDS Products

2 Complex Publish Subscribe Systems Object Oriented Component Based Multithreaded/MultiProcess Real-time Embedded C++/Java/Ada/VHDL Platform Independent High Performance Heterogeneous Distributed Vital Secure Fault Tolerant Portable Standardized Declarative Imperative Dynamic So what s the big deal? Each one by itself is difficult, let alone doing them all at the same time Slide 2 Copyright PrismTech 2006

3 Computer Science, Software Engineering Computer Science is the discipline that believes all problems can be solved with one more layer of indirection 1 Formalize the level of indirection Provide ways to program at this new level Provide automatic ways to get back to executable lower levels of abstraction Standardize Optimize 1 Dennis DeBruler, Refactoring, Fowler et. al. Addison Wesley 1999 Slide 3 Copyright PrismTech 2006

4 SerialName <<Interface>> PropertySet (f rom CF) configure() query() <<CORBATypedef>> Properties (from... FrequencyProp... <<Interface>> PortSupplier (f rom CF) getport() << Interface>> Resource (from... identifi er : stri ng start() stop() Encoder <<Interface>> TestableObject (from CF) runtest() <<Interface>> Li fecyc le (from CF) initialize() releaseobject() <<Interface>> Port (from CF) connectport() disconnectport() <<Interface>> DTPort (from C++ Reverse Engineered) <<Interface>> DT (from C++ Reverse Engineered)...) myfunc1() myfunc2() myfunc3() POA_DTPort (from C++ Reverse Engineer ed) POA_DTPort() POA_DTPort() <<virtual>> ~POA_DTPort() _this() <<stati c>> myfunc1_skel() <<stati c>> myfunc2_skel() <<stati c>> myfunc3_skel() <<stati c>> connectport_skel() <<stati c>> disconnectport_skel( ) DTUsesPort (f rom C++ Reverse Engineered) m_provi desrefs : std::map<std::string, DT_var> m_name : std::string m_howmanyconnectionsallowed : unsigned long m_howmanyconnectionsmade : unsigned long DTUsesPort() connectport() disconnectport() name() numofconnectionsmade() myfunc1() myfunc2() myfunc3() POA_DT (from C++ R ev erse Engineered) POA_DT() POA_DT() <<virtual>> ~POA_DT() <<virtual>> _is_a() _this() <<abstract>> myfunc1() <<static>> myfunc1_skel() <<abstract>> myfunc2() <<static>> myfunc2_skel() <<abstract>> myfunc3() <<static>> myfunc3_skel() DTProvidesPort (from C+ + Reverse Engineered) m_presource : ResourceNameIt* DTProvidesPort() myfunc1() myfunc2() myfunc3() Levels of Abstraction Programming Platform Less Flexible More Productive Frameworks Flexibility Higher Order Languages Assembly Middleware Operating Systems Productivity Opcodes More Flexible Custom Hardware Less Productive Slide 4 Copyright PrismTech 2006

5 SerialName <<Interface>> PropertySet (f rom CF) configure() query() <<CORBATypedef>> Properties (from... FrequencyProp... <<Interface>> PortSupplier (f rom CF) getport() << Interface>> Resource (from... identifi er : stri ng start() stop() Encoder <<Interface>> TestableObject (from CF) runtest() <<Interface>> Li fecyc le (from CF) initialize() releaseobject() <<Interface>> Port (from CF) connectport() disconnectport() <<Interface>> DTPort (from C++ Reverse Engineered) <<Interface>> DT (from C++ Reverse Engineered)...) myfunc1() myfunc2() myfunc3() POA_DTPort (from C++ Reverse Engineer ed) POA_DTPort() POA_DTPort() <<virtual>> ~POA_DTPort() _this() <<stati c>> myfunc1_skel() <<stati c>> myfunc2_skel() <<stati c>> myfunc3_skel() <<stati c>> connectport_skel() <<stati c>> disconnectport_skel( ) DTUsesPort (f rom C++ Reverse Engineered) m_provi desrefs : std::map<std::string, DT_var> m_name : std::string m_howmanyconnectionsallowed : unsigned long m_howmanyconnectionsmade : unsigned long DTUsesPort() connectport() disconnectport() name() numofconnectionsmade() myfunc1() myfunc2() myfunc3() POA_DT (from C++ R ev erse Engineered) POA_DT() POA_DT() <<virtual>> ~POA_DT() <<virtual>> _is_a() _this() <<abstract>> myfunc1() <<static>> myfunc1_skel() <<abstract>> myfunc2() <<static>> myfunc2_skel() <<abstract>> myfunc3() <<static>> myfunc3_skel() DTProvidesPort (from C+ + Reverse Engineered) m_presource : ResourceNameIt* DTProvidesPort() myfunc1() myfunc2() myfunc3() Levels of Abstraction more accurate Programming Platform Less Flexible Frameworks More Productive Flexibility Middleware Libraries Productivity More Flexible Higher Order Languages Assembly Opcodes Custom Hardware Operating Systems Less Productive Slide 5 Copyright PrismTech 2006

6 The Problem General Purpose programming languages have not kept pace with the growth of platform complexity 1 Families of systems are the order of the day Systems and requirements have become more complex 1 Model Driven Engineering, Douglas C Schmidt IEEE Computer Feb 2006 Slide 6 Copyright PrismTech 2006

7 Families of Systems Slide 7 Copyright PrismTech 2006

8 More Complex Systems and Requirements Slide 8 Copyright PrismTech 2006

9 Insufficient tools to do the job C++ UML Slide 9 Copyright PrismTech 2006

10 Traditional tools UML Insufficiently domain specific Some say not semantically precise enough to be machine processed Not much different than programming with OO languages 3GL C++, Java, Ada etc. Insufficiently domain specific Not at a sufficient level of abstraction Frameworks, libraries and components So many Complicated Manipulated via 3GL languages DDS-tools IDL pre-processing: Insufficiently domain specific Slide 10 Copyright PrismTech 2006

11 Traditionally a separation modeling Programming Slide 11 Copyright PrismTech 2006

12 Traditionally a separation Systems Engineering Software Engineering Slide 12 Copyright PrismTech 2006

13 Critical Innovations Technologies that enable systematic vs. ad hoc reuse and enable the systematic development of families of systems Component technologies Domain Specific Languages 1 1 Software Factories, Greenfield et. al Wiley 2005 Slide 13 Copyright PrismTech 2006

14 Model Driven Development Bringing modeling and programming together modeling Programming Instead of forcing a separation of the high-level engineering/modeling work from the low-level implementation programming. It brings them together as two well-integrated parts of the same job 1 Eclipse modeling Framework, Budinsky et.al Addison Wesley 2004 Slide 14 Copyright PrismTech 2006

15 Some ramifications modeling and programming blend into one activity Models become development artifacts as well not just design artifacts Domain Specific Models can be machine processed and thus integrate well with generators Developers can program in terms of their design intent rather than the underlying, computing environment 3 3 IEEE Computer Magazine, February 2006 Model Driven Engineering, Douglas C. Schmidt Slide 15 Copyright PrismTech 2006

16 Model Driven Development Bringing Systems and Software together Systems Engineering Software Engineering Instead of forcing a separation of the high-level engineering/modeling work from the low-level implementation programming. It brings them together as two well-integrated parts of the same job 1 Eclipse modeling Framework, Budinsky et.al Addison Wesley 2004 Slide 16 Copyright PrismTech 2006

17 Some ramifications Increased cross discipline collaboration Speaking the same language Flattens learning curves 3 IEEE Computer Magazine, February 2006 Model Driven Engineering, Douglas C. Schmidt Slide 17 Copyright PrismTech 2006

18 Providing sufficient tools to do the job DSML Tool C/C++/Java UML DSML Tool Slide 18 Copyright PrismTech 2006

19 How is this done? Domain Specific modeling Languages 2 Domain Specific Editors Transformation engines and generators Combine the above three Called Model Driven Development (a.k.a Model Driven Engineering, or Model Integrated Computing) 2 IEEE Computer Magazine, February 2006 Model Driven Engineering, Douglas C. Schmidt Slide 19 Copyright PrismTech 2006

20 Domain Specificity Domain Independent Domain Specific - Tools The task at hand Slide 20 Copyright PrismTech 2006

21 The steps In general Isolate the abstractions and how they work together Create a formalized grammar for these - DSL Create a graphical representation of the grammar GDSL Provide domain-specific constraints GDSCL, DSCL Attach generators for necessary transformations In our domain The DDS specification Create a formalize DDS meta-model Create a DDS specific graphical tool Program into the tool the constraints C++, C and Java generators Slide 21 Copyright PrismTech 2006

22 Applying MDD to the DDS Domain OpenSplice DDS Products

23 Contents DDS An Information Centric Approach Introducing the Example Information modeling Application modeling Deployment modeling Slide 23 Copyright PrismTech 2006

24 DDS: An Information Centric Approach Information MEANING «Entity» SystemTrack + systemtracknumber : integer - _StateVector MODEL 1 «Entity» StateVector 1 - _CCSStateVector «Entity» OwnShipTrack «Entity» CCSStateVector + timevalidity : real + position : CCSPositionType + velocity : CCSVelocityType Analysis Server BEHAVIOR Data AVAILABILITY Client CORBA Server Design App App OMG - DDS App Slide 24 Copyright PrismTech 2006

25 MDD-aspects in Coalition Based Development Design Authority Common Information Model Information modeling Company a Company b Company c Application modeling A B C D E F G H I J K L DDS Information Backbone Deployment modeling Slide 25 Copyright PrismTech 2006

26 Introducing The Example SENSOR PROCESS CLASSIFICATION PROCESS DISPLAY PROCESS Optical sensor Scans the environment Produces Tracks Position of objects Reports pointtrack Classifies tracks Determines their identity Analyses the trajectories Determines hostility Reports trackstate Displays track info Both position & identity Raises alerts Requires pointtrack Requires trackstate Slide 26 Copyright PrismTech 2006

27 MDD and the Example PointTrack PointTrack pos pos Track Track trackid trackid Information- Model TrackState TrackState identity identity Information modeling MDD Tool suite Display Process Identification Process Remote- Sensor Process Application modeling Config Config (XML) (XML) Computing-Node s App-1 App-2 App-3 Library Library Library Shared Data Storage Soap- Library Library Soap- Library Library Durability- Durability- Library Library Config- Config- Library Library Network- Network- Disk Disk -XML -XML -Binary -Binary - RDBMS - RDBMS App-1 App-2 App-3 App-1 6/28/2006 Pge no. 27 network App-2 App-3 Deployment modeling

28 (1) Information modeling Track Track trackid trackid Information- Model PointTrack PointTrack pos pos TrackState TrackState identity identity Information modeling 6/28/2006 Pge no. 28

29 Information modeling: Scope & Purpose Language Define the spoken language in the system Requirements phase: to talk with the customer Development phase: to talk between components DDS-Domain specific Topics (Type + QoS) Editor Semantics: UML ( annotated ) Syntax: IDL (optional MDD-input if predefined) Behavior: QoS (reliability, urgency, durability) Generator Types (IDL) from UML (or direct IDL-import) Topics from Types DDS-entities Topic-creation, QoS-setup, typed readers/writers Slide 29 Copyright PrismTech 2006

30 Information modeling: The Example Topic Sensor PointTrack { long trackid; Display Position pos; } Key: trackid QoS: best-effort, volatile Track PointTrack Publisher PointTrack pos trackid TrackState identity PointTrack Subscriber SPLICE-DDS Real-time Information Backbone Task: Information modeling Model the PointTrack and TrackState topics Model the system-wide behaviour of topics Model the relationships between the Topics Separate these concerns from applications MDD: Features / Advantages Graphical modeling of structure and QoS (intuitive, fast) DDS-entity code generation (topics, interfaces) Allowing for direct utilization (by applications or tool) Documented packages of re-usable topic-sets Slide 30 Copyright PrismTech 2006

31 (2) Application modeling Display Process Identification Process Remote- Sensor Process Application modeling 6/28/2006 Pge no. 31

32 Application modeling: Scope & Purpose Language Processing-language DDS keywords Editor publishers/writers, subscribers/readers,.. Content-filters, queries, waitsets, listeners, Templates & Patterns (loop, MVC, ) Application-level QoS modeling (history, filters) Process modeling (waitsets, listeners) Generator Application-framework from templates DDS entities from (graphical) model Annotated application- and test-code Simple DDS-Loop Pattern Register with DDS Declare publications Declare subscriptions Define queries (read_conditions) Select input data Set query parameters Process data Publish output data Wait for input data Slide 32 Copyright PrismTech 2006

33 Application modeling: The Example Track trackid Display PointTrack pos TrackState identity Content Filtered Multi-Topics datareader (MyTrack) datareader (MyTrack) topic topic PointTrack { PointTrack { long source; datawriter long long trackid; source; (sensor) datawriter long trackid; (sensor) Position pos; } Position pos; } Key: source,trackid QoS: Key: best-effort, source,trackid QoS: volatile best-effort, volatile topic topic TrackState { TrackState { datawriter long source; datawriter long long trackid; source; (classification) long trackid; (classification) long environment; long long identity; environment; } long identity; } Key: source,trackid QoS: Key: reliable, source,trackid QoS: transient reliable, transient read read take take Multi-topic Multi-topic aggregation aggregation Query-condition Query-condition Sample-state Query-condition Lifecycle-state Query-condition Selection Sample-state Selection Lifecycle-state MyTrack { Selection Selection MyTrack { long Id; Any Any long Id; Any Any Position p; long Position env; p; Not_Read New Modified } long env; Not_Read New Modified } Read No_Writers Disposed Read No_Writers Disposed Multi-topic Multi-topic Multi-Topic projection Multi-Topic projection Content- Filters Content- Timed-waitset Filters Timed-waitset or Call-backs or Call-backs PointTrack - PointTrack TrackState SQL-query - TrackState Parameterized- SQL-query - Parameterized- SQL-query Query- Conditions Query- Local data-cache Conditions Local data-cache Content-filtered Multi-topic Subscriber Slide 32 Copyright PrismTech 2005 Slide 32 Copyright PrismTech 2005 SPLICE-DDS Real-time Information Backbone Task: Display Process modeling Model aggregate interest multi-topic or DLRL-object with local QoS Model display process (periodic loop) Handle first-appearances of hostile tracks with prio MDD: Features / Advantages Import information-model Provide Application-framework (from loop template) Model DLRL-objects, Multi-Topics, Queries, Waitsets, Developer can concentrate on business-logic (GUI) Slide 33 Copyright PrismTech 2006

34 THE CONTENT-SUBSCRIPTION PROFILE (2) Content Filtered Multi-Topics datareader (MyTrack) read Query-condition Sample-state Selection Query-condition Lifecycle-state Selection MyTrack { datawriter (sensor) topic PointTrack { long trackid; Position pos; } Key: trackid QoS: best-effort, volatile take Multi-topic Not_Read Any Read Multi-Topic New Any No_Writers Modified Disposed long Id; Position p; long env; } Multi-topic projection topic aggregation Content- Filters Timed-waitset or Call-backs datawriter (classification) TrackState { long trackid; long identity; } Key: trackid QoS: reliable, transient PointTrack TrackState Local data-cache - SQL-query - Parameterized- SQL-query Query- Conditions Slide 34 Copyright PrismTech 2006

35 Application modeling: MDD-Tool Sneak-Peak Slide 35 Copyright PrismTech 2006

36 (3) Deployment modeling Computing-Node s App-1 App-2 App-3 Library Library Library Shared Data Storage App-1 App-2 App-3 App-1 App-2 App-3 Config Config (XML) (XML) Soap- Library Library Soap- Library Library Durability- Durability- Library Library Config- Config- Library Library Network- Network- Disk Disk -XML -XML -Binary -Binary - RDBMS - RDBMS network Deployment modeling 6/28/2006 Pge no. 36

37 Deployment modeling: Scope & Purpose Language Deployment-language DDS keywords Participants, Partitions, Resource limits,.. Latency-budget, Transport-priority, Editor Configure physical DDS system Networking, Durability, Resource-limits, Map DDS (QoS) properties to Deployment properties DDS partitions to Network-partitions (multicast groups) transport-priority to Network-channels (prio/diffserv) latency-budget to Network-dispatcher (efficiency) Generator (Control & Monitoring) (remote) set-up, configure and monitor DDS-system Deploy information-models (create readers/writers) Deploy applications (monitor, QoS-tuning) Deploy systems (logging/replay, QoS tuning, ) Config Config (XML) (XML) Computing-Node s App-1 Library Library Library App-2 Library Shared Data Storage Library Library Durability- Durability- Soap- Soap- Library Library App-3 Library Library Library Config- Config- Network- Network- Disk Disk -XML -XML -Binary -Binary - RDBMS - RDBMS Slide 37 Copyright PrismTech 2006

38 Deployment modeling: The Example MDD-suite Display Process Identification Process Remote- Sensor Process roundtrip-support Computing-Node s App-1 App-2 App-3 Library Library Library Shared Data Storage App-1 App-2 App-3 App-1 App-2 App-3 Config Config (XML) (XML) Soap- Library Library Soap- Library Library Durability- Durability- Library Library Config- Config- Library Library Network- Network- Disk Disk -XML -XML -Binary -Binary - RDBMS - RDBMS network Task: Deployment modeling ( Control & Monitoring ) MDD: Features / Advantages Configure Durability-service (transient TrackState topic) Round-trip engineering Configure Network-channels (priority, reactivity) Deploy & tune models (info & application) Configure Resources (resource-limits) Control & Monitor deployed system Remote control & Monitoring of deployed system Using the domain specific DDS-language 6/28/2006 Pge no. 38

39 Deployment modeling: MDD-tool sneak-peak Slide 39 Copyright PrismTech 2006

40 MDD For DDS QUESTIONS? Slide 40 Copyright PrismTech 2006

UML Profile for DDS. a tutorial for OMG Specification in Government Workshop (Real-Time & Embedded Systems) July 13, 2009

UML Profile for DDS. a tutorial for OMG Specification in Government Workshop (Real-Time & Embedded Systems) July 13, 2009 UML Profile for DDS a tutorial for OMG Specification in Government Workshop (Real-Time & Embedded Systems) July 13, 2009 Prepared by: Sam Mancarella (Sparx Systems) Presented by: Angelo Corsaro (PrismTech)

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information

Resource Utilization of Middleware Components in Embedded Systems

Resource Utilization of Middleware Components in Embedded Systems Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system

More information

Addressing the Challenges of Mission-Critical Information Management in Next-Generation Net-Centric Pub/Sub Systems with OpenSplice DDS

Addressing the Challenges of Mission-Critical Information Management in Next-Generation Net-Centric Pub/Sub Systems with OpenSplice DDS Addressing the Challenges of Mission-Critical Information Management in Next-Generation Net-Centric Pub/Sub Systems with OpenSplice DDS Douglas C. Schmidt and Hans van t Hag PrismTech Corporation, 6 Lincoln

More information

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

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems 1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing

More information

Vortex White Paper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems

Vortex White Paper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems Vortex White Paper Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems Version 1.0 February 2015 Andrew Foster, Product Marketing Manager, PrismTech Vortex

More information

Amit Sheth & Ajith Ranabahu, 2010. Presented by Mohammad Hossein Danesh

Amit Sheth & Ajith Ranabahu, 2010. Presented by Mohammad Hossein Danesh Amit Sheth & Ajith Ranabahu, 2010 Presented by Mohammad Hossein Danesh 1 Agenda Introduction to Cloud Computing Research Motivation Semantic Modeling Can Help Use of DSLs Solution Conclusion 2 3 Motivation

More information

Repeat Success, Not Mistakes; Use DDS Best Practices to Design Your Complex Distributed Systems

Repeat Success, Not Mistakes; Use DDS Best Practices to Design Your Complex Distributed Systems WHITEPAPER Repeat Success, Not Mistakes; Use DDS Best Practices to Design Your Complex Distributed Systems Abstract RTI Connext DDS (Data Distribution Service) is a powerful tool that lets you efficiently

More information

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Implementing reusable software components for SNOMED CT diagram and expression concept representations 1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed

More information

Unifying the Global Data Space using DDS and SQL

Unifying the Global Data Space using DDS and SQL Unifying the Global Data Space using and SQL OMG RT Embedded Systems Workshop 13 July 2006 Gerardo Pardo-Castellote, Ph.D. CTO [email protected] www.rti.com Fernando Crespo Sanchez [email protected]

More information

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits

More information

Revel8or: Model Driven Capacity Planning Tool Suite

Revel8or: Model Driven Capacity Planning Tool Suite Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer

More information

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. 2 Contents: Abstract 3 What does DDS do 3 The Strengths of DDS 4

More information

Model Transformations and Code Generation

Model Transformations and Code Generation Model Transformations and Code Generation Ecole IN2P3 Temps Réel [email protected] 2 École d été, 26.11 08h30 10h00: Cours S1 Component models CCM and FCM (connectors) CCM CORBA component model

More information

The Service Revolution software engineering without programming languages

The Service Revolution software engineering without programming languages The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)

More information

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration CoSMIC: An MDA Tool Suite for Application Deployment and Configuration Tao Lu, Emre Turkay, Aniruddha Gokhale*, Douglas Schmidt Institute for Software Integrated Systems Vanderbilt University, Nashville

More information

Component-Oriented Engineering

Component-Oriented Engineering Component-Oriented Engineering... the dawn of a new era in embedded software development productivity Francis Bordeleau and Ross MacLeod Zeligsoft May 2008 Component-Oriented Engineering the dawn of a

More information

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics: Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations

More information

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

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

A standards-based approach to application integration

A standards-based approach to application integration A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist [email protected] Copyright IBM Corporation 2005. All rights

More information

Oracle WebLogic Server 11g Administration

Oracle WebLogic Server 11g Administration Oracle WebLogic Server 11g Administration This course is designed to provide instruction and hands-on practice in installing and configuring Oracle WebLogic Server 11g. These tasks include starting and

More information

Copyright 2013 Splunk Inc. Introducing Splunk 6

Copyright 2013 Splunk Inc. Introducing Splunk 6 Copyright 2013 Splunk Inc. Introducing Splunk 6 Safe Harbor Statement During the course of this presentation, we may make forward looking statements regarding future events or the expected performance

More information

Middleware Lou Somers

Middleware Lou Somers Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box

More information

RTI Monitoring Library Getting Started Guide

RTI Monitoring Library Getting Started Guide RTI Monitoring Library Getting Started Guide Version 5.1.0 2011-2013 Real-Time Innovations, Inc. All rights reserved. Printed in U.S.A. First printing. December 2013. Trademarks Real-Time Innovations,

More information

Comments on Software Communications Architecture Specification Version 2.2.2

Comments on Software Communications Architecture Specification Version 2.2.2 Comments on Software Communications Architecture Specification Version 2.2.2 prepared by SCA Working Group Approved 20 April 2007 1 Introduction The SDR Forum SCA Working Group has collected comments regarding

More information

Software Development Kit

Software Development Kit Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice

More information

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

A Management Tool for Component-Based Real-Time Supervision and Control Systems A Management Tool for Component-Based Real-Time Supervision and Control Systems Sandro Santos Andrade, Raimundo José de Araújo Macêdo Distributed Systems Laboratory (LaSiD) Post-Graduation Program on Mechatronics

More information

FioranoMQ 9. High Availability Guide

FioranoMQ 9. High Availability Guide FioranoMQ 9 High Availability Guide Copyright (c) 1999-2008, Fiorano Software Technologies Pvt. Ltd., Copyright (c) 2008-2009, Fiorano Software Pty. Ltd. All rights reserved. This software is the confidential

More information

MIDDLEWARE 1. Figure 1: Middleware Layer in Context

MIDDLEWARE 1. Figure 1: Middleware Layer in Context MIDDLEWARE 1 David E. Bakken 2 Washington State University Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems. It is

More information

Classic Grid Architecture

Classic Grid Architecture Peer-to to-peer Grids Classic Grid Architecture Resources Database Database Netsolve Collaboration Composition Content Access Computing Security Middle Tier Brokers Service Providers Middle Tier becomes

More information

SOFTWARE TESTING TRAINING COURSES CONTENTS

SOFTWARE TESTING TRAINING COURSES CONTENTS SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software

More information

Approach to Service Management

Approach to Service Management Approach to Service Management In SOA Space Gopala Krishna Behara & Srikanth Inaganti Abstract SOA Management covers the Management and Monitoring of applications, services, processes, middleware, infrastructure,

More information

Monitor, Control, Record and Replay Your DDS System

Monitor, Control, Record and Replay Your DDS System Monitor, Control, Record and Replay Your DDS System OpenSplice DDS Tools-Ecosystem - Overview & Demo J.H. van t Hag OpenSplice Product Manager OMG DDS Co-Author PrismTech [email protected] Copyright

More information

A Comparison and Mapping of Data Distribution Service and High-Level Architecture

A Comparison and Mapping of Data Distribution Service and High-Level Architecture WHITEPAPER A Comparison and Mapping of Data Distribution Service and High-Level Architecture Abstract The OMG Data-Distribution Service (DDS) is an emerging specification for publish-subscribe datadistribution

More information

Web Application Development for the SOA Age Thinking in XML

Web Application Development for the SOA Age Thinking in XML Web Application Development for the SOA Age Thinking in XML Enterprise Web 2.0 >>> FAST White Paper August 2007 Abstract Whether you are building a complete SOA architecture or seeking to use SOA services

More information

F-16 Modular Mission Computer Application Software

F-16 Modular Mission Computer Application Software F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility with Increased Productivity and Quality using the OMG s Model Driven Architecture Lauren E. Clark Chief Engineer

More information

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction Web Services - A Consultant s View From IT Stategy to IT Architecture Hans-Peter Hoidn, Timothy Jones, Jürg Baumann, Oliver Vogel February 12, 2003 Copyright IBM Corporation 2002 Agenda Introduction I.

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

Service Oriented Architectures

Service Oriented Architectures 8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) [email protected] http://www.iks.inf.ethz.ch/ The context for SOA A bit of history

More information

SQL Server Administrator Introduction - 3 Days Objectives

SQL Server Administrator Introduction - 3 Days Objectives SQL Server Administrator Introduction - 3 Days INTRODUCTION TO MICROSOFT SQL SERVER Exploring the components of SQL Server Identifying SQL Server administration tasks INSTALLING SQL SERVER Identifying

More information

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011 A Data Centric Approach for Modular Assurance The Real-Time Middleware Experts Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011 Gabriela F. Ciocarlie Heidi Schubert

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston [email protected] and [email protected] Abstract. This

More information

The Service Availability Forum Specification for High Availability Middleware

The Service Availability Forum Specification for High Availability Middleware The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum [email protected], [email protected],

More information

Automatic Test Data Generation for TTCN-3 using CTE

Automatic Test Data Generation for TTCN-3 using CTE Automatic Test Data Generation for TTCN-3 using CTE Zhen Ru Dai, Peter H. Deussen, Maik Busch, Laurette Pianta Lacmene, Titus Ngwangwen FraunhoferInstitute for Open Communication Systems (FOKUS) Kaiserin-Augusta-Allee

More information

Project Proposal Distributed Project Management

Project Proposal Distributed Project Management Proposal Distributed Management by Passakon Prathombutr Ashok Emani CS551 Fall 2001 CSTP UMKC 1 Contents Introduction...3 Goal and Objectives...4 Overall goal... 4 Specific objectives... 4 Significance...

More information

The Data Distribution Service [Universal Standard for Real-Time Data Sharing]

The Data Distribution Service [Universal Standard for Real-Time Data Sharing] The Data Distribution Service [Universal Standard for Real-Time Data Sharing] Angelo CORSARO, Ph.D. Chief Technology Officer OMG DDS Sig Co-Chair PrismTech [email protected] Speaker Short Bio

More information

White Paper: 5GL RAD Development

White Paper: 5GL RAD Development White Paper: 5GL RAD Development After 2.5 hours of training, subjects reduced their development time by 60-90% A Study By: 326 Market Street Harrisburg, PA 17101 Luis Paris, Ph.D. Associate Professor

More information

Service Oriented Architecture

Service Oriented Architecture Service Oriented Architecture Version 9 2 SOA-2 Overview Ok, now we understand the Web Service technology, but how about Service Oriented Architectures? A guiding analogy Terminology excursion Service,

More information

Reusability of WSDL Services in Web Applications

Reusability of WSDL Services in Web Applications 599 Reusability of WSDL Services in Web Applications 1 Jaspreet Singh, 2 Sandeep Saini 1 Assistant Professor Department Of Computer Science & Engineering, Chandigarh University Gharuan, Punjab, India 2

More information

A Framework of Model-Driven Web Application Testing

A Framework of Model-Driven Web Application Testing A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China

More information

A HW/SW Codesign Methodology based on UML

A HW/SW Codesign Methodology based on UML A HW/SW Codesign Methodology based on UML How to apply a model based UML design for an embedded system By Senior Consultant Kim Bjerge ([email protected]) Copyright 2008 Danish Technological Institute

More information

Architecting Composite Component Systems for Heterogeneous Environments with Open Standards. Derek Dominish

Architecting Composite Component Systems for Heterogeneous Environments with Open Standards. Derek Dominish Architecting Composite Component Systems for Heterogeneous s with Open Standards Derek Dominish Aerospace Division Future Information Architectures MilCIS - Canberra 14 th November 2013 wealth of Australia

More information

Software Development Workflow in Robotics

Software Development Workflow in Robotics Software Development Workflow in Robotics Alois Knoll Simon Barner, Michael Geisinger, Markus Rickert Robotics and Embedded Systems Department of Informatics Technische Universität München ICRA 2009 Workshop

More information

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS Java EE Components Java EE Vendor Specifications Containers Java EE Blueprint Services JDBC Data Sources Java Naming and Directory Interface Java Message

More information

A Comparison and Mapping of. Data Distribution Service and High-Level Architecture

A Comparison and Mapping of. Data Distribution Service and High-Level Architecture A Comparison and Mapping of Data Distribution Service and High-Level Architecture Rajive Joshi, Ph.D. Gerardo-Pardo Castellote, Ph.D. Real-Time Innovations, Inc. 3975 Freedom Circle, Santa Clara, CA 95054

More information

Modeling Cloud Messaging with a Domain-Specific Modeling Language

Modeling Cloud Messaging with a Domain-Specific Modeling Language Modeling Cloud Messaging with a Domain-Specific Modeling Language Gábor Kövesdán, Márk Asztalos and László Lengyel Budapest University of Technology and Economics, Budapest, Hungary {gabor.kovesdan, asztalos,

More information

Run-time Variability Issues in Software Product Lines

Run-time Variability Issues in Software Product Lines Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.

More information

DDS and SOA Interfaces to ESB

DDS and SOA Interfaces to ESB DDS and SOA Interfaces to ESB NCOIC Plenary, VA Beach 29 Mar 2007 Joe Schlesselman NCOIC OS&P WG Chair [email protected] www.rti.com Gerardo Pardo-Castellote CTO & Co-Author DDS Specification [email protected]

More information

XpoLog Competitive Comparison Sheet

XpoLog Competitive Comparison Sheet XpoLog Competitive Comparison Sheet New frontier in big log data analysis and application intelligence Technical white paper May 2015 XpoLog, a data analysis and management platform for applications' IT

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture Introduction to CORBA 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture 1. Introduction CORBA is defined by the OMG The OMG: -Founded in 1989 by eight companies as a non-profit

More information

Textual Modeling Languages

Textual Modeling Languages Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics

More information

Rotorcraft Health Management System (RHMS)

Rotorcraft Health Management System (RHMS) AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center

More information

A Multi-layered Domain-specific Language for Stencil Computations

A Multi-layered Domain-specific Language for Stencil Computations A Multi-layered Domain-specific Language for Stencil Computations Christian Schmitt, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, University of Erlangen-Nuremberg Workshop ExaStencils 2014,

More information

Managing a Fibre Channel Storage Area Network

Managing a Fibre Channel Storage Area Network Managing a Fibre Channel Storage Area Network Storage Network Management Working Group for Fibre Channel (SNMWG-FC) November 20, 1998 Editor: Steven Wilson Abstract This white paper describes the typical

More information

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Enterprise Web 2.0 >>> FAST White Paper November 2006 Abstract Modern Rich Internet Applications for SOA have to cope with

More information

Model-Driven Software Development for Robotics: an overview

Model-Driven Software Development for Robotics: an overview Model-Driven Software Development for Robotics: an overview IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University

More information

An Oracle White Paper October 2013. Oracle Data Integrator 12c New Features Overview

An Oracle White Paper October 2013. Oracle Data Integrator 12c New Features Overview An Oracle White Paper October 2013 Oracle Data Integrator 12c Disclaimer This document is for informational purposes. It is not a commitment to deliver any material, code, or functionality, and should

More information

Clarifying a vision on certification of MDA tools

Clarifying a vision on certification of MDA tools SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,

More information

Introduction to Generative Software Development

Introduction to Generative Software Development Introduction to Generative Software Development Krzysztof Czarnecki University of Waterloo [email protected] www.generative-programming.org Goals What is to be achieved? Basic understanding of Generative

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University

Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University Sections 9.1 & 9.2 Corba & DCOM John P. Daigle Department of Computer Science Georgia State University 05.16.06 Outline 1 Introduction 2 CORBA Overview Communication Processes Naming Other Design Concerns

More information

Lesson 4 Web Service Interface Definition (Part I)

Lesson 4 Web Service Interface Definition (Part I) Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs

More information

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda

More information

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise Eric Newcomer, CTO Overview First of all: concepts and definitions Change your thinking about your IT environment Including organization

More information

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools Jack Greenfield Keith Short WILEY Wiley Publishing, Inc. Preface Acknowledgments Foreword Parti Introduction to

More information

BPM, EDA and SOA: How the Combination of these Technologies Facilitates Change. Dr. Neil Thomson, Head of Group Development, Microgen plc

BPM, EDA and SOA: How the Combination of these Technologies Facilitates Change. Dr. Neil Thomson, Head of Group Development, Microgen plc BPM, EDA and SOA: How the Combination of these Technologies Facilitates Change Dr. Neil Thomson, Head of Group Development, Microgen plc What are we trying to do? The aim is survival everything else is

More information

Chapter 7, System Design Architecture Organization. Construction. Software

Chapter 7, System Design Architecture Organization. Construction. Software Chapter 7, System Design Architecture Organization Object-Oriented Software Construction Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) Overview Where are we right

More information

Chapter 7. Using Hadoop Cluster and MapReduce

Chapter 7. Using Hadoop Cluster and MapReduce Chapter 7 Using Hadoop Cluster and MapReduce Modeling and Prototyping of RMS for QoS Oriented Grid Page 152 7. Using Hadoop Cluster and MapReduce for Big Data Problems The size of the databases used in

More information

White Paper. How Streaming Data Analytics Enables Real-Time Decisions

White Paper. How Streaming Data Analytics Enables Real-Time Decisions White Paper How Streaming Data Analytics Enables Real-Time Decisions Contents Introduction... 1 What Is Streaming Analytics?... 1 How Does SAS Event Stream Processing Work?... 2 Overview...2 Event Stream

More information

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles

More information

Addressing the Challenge of Distributed Interactive Simulation With Data Distribution Service

Addressing the Challenge of Distributed Interactive Simulation With Data Distribution Service Addressing the Challenge of Distributed Interactive Simulation With Data Distribution Service Akram HAKIRI 1, 2, Pascal BERTHOU 1, 2, Thierry GAYRAUD 1,2 1 CNRS ; LAAS, 7, avenue du Colonel Roche, 31077

More information

Business Application Services Testing

Business Application Services Testing Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load

More information

OMG Data-Distribution Service (DDS): Architectural Overview

OMG Data-Distribution Service (DDS): Architectural Overview OMG -Distribution Service (DDS): Architectural Overview Gerardo Pardo-Castellote Real-Time Innovations, Inc. (RTI) Phone: 1-408-734-4200, x106 Email: [email protected] Topic Areas Software Architectures, Reusability,

More information

bigdata Managing Scale in Ontological Systems

bigdata Managing Scale in Ontological Systems Managing Scale in Ontological Systems 1 This presentation offers a brief look scale in ontological (semantic) systems, tradeoffs in expressivity and data scale, and both information and systems architectural

More information

Unified Batch & Stream Processing Platform

Unified Batch & Stream Processing Platform Unified Batch & Stream Processing Platform Himanshu Bari Director Product Management Most Big Data Use Cases Are About Improving/Re-write EXISTING solutions To KNOWN problems Current Solutions Were Built

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

A Monitored Student Testing Application Using Cloud Computing

A Monitored Student Testing Application Using Cloud Computing A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA [email protected], [email protected]

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

Monitoring PostgreSQL database with Verax NMS

Monitoring PostgreSQL database with Verax NMS Monitoring PostgreSQL database with Verax NMS Table of contents Abstract... 3 1. Adding PostgreSQL database to device inventory... 4 2. Adding sensors for PostgreSQL database... 7 3. Adding performance

More information

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling Budapest University of Technology and Economics Department of Measurement and Information Systems Business Process Modeling Process, business process Workflow: sequence of given steps executed in order

More information