SlideShare a Scribd company logo
1 of 71
Download to read offline
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)
Agenda
• Part 1 - Introduction
   – DDS Overview
   – Motivating the UML4DDS

• Part 2 – UML4DDS by Examples
   –   DCPS
   –   DLRL
   –   Application Targets
   –   MDA, PIM  PSM

• Part 3 - Conclusion
   – Other Applications
   – Concluding Remarks
   – Discussion
The OMG Data Distribution
                       Service (DDS)
•   DDS v1.2 API Standard
    – Language Independent, OS and HW                           Application
      architecture independent
                                                                    Object/Relational Mapping
    – DCPS. Standard API for Data-Centric,                   Data Local Reconstruction Layer (DLRL)
      Topic-Based, Real-Time Publish/
      Subscribe                                Ownership           Durability
                                                                                        Content
                                                                                      Subscription

    – DLRL. Standard API for creating Object                   Minimum Profile
      Views out of collection of Topics             Data Centric Publish/Subscribe (DCPS)


•   DDSI/RTPS v2.1 Wire Protocol                     Real-Time Publish/Subscribe Protocol

    Standard                                           DDS Interoperability Wire Protocol


    – Standard wire protocol allowing                               UDP/IP

      interoperability between different
      implementations of the DDS standard
High Performance Pub/Sub
                        The right data, at the right place, at
– Fully distributed,                           the right time
  Peer-to-Peer
                                               -- All the Time.
  Communication
– No Single Point of
                                                       Subscriber
                        Publisher


  Failure
– No Single Point of    Publisher     Broke              Subscriber


  Bottleneck
– Multicast-enabled     Publisher
                                                     Subscriber

– High performance
  and highly scalable
– High availability
Data-Centric Pub/Sub
                                            ‣   Data-Centric Features are built-in and
                                                don’t rely on an external DBMS
                                            ‣   Providing thus performance, scalability,
                                                and availability
– Distributed Relational Data
  Model
                                                                               DBMS          Subscriber
– Local Queries                 Publisher


– Continuous Queries /
                                                             B

                                                                   m

  Content Based                                              A             F

                                                                                               Subscriber
  Subscriptions                 Publisher                   J
                                                                       D          C


– Windows                                                   K
                                                                       E


– Object/Relational Mapping
                                Publisher
– Support for a subset of                                                                  Subscriber

  SQL-92
                                Perfect Blend of Data-Centric and Real-Time
                                           Publish/Subscribe Technologies
Topics and Data-Centric
                       Pub/Sub
                                          Topic
– Topics. Unit of information
  exchanged between Publisher and
  Subscribers.

– Data Types. Type associated to a                   struct TempSensor {
                                                        long tID;
  Topic must be a structured type                       float temp;
  expressed in IDL                      Topic Type      float humidity;
                                                     };
                                                     #pragma keylist TempSensor tID
– Topic Instances. Key values in a
  datatype uniquely identify a Topic
                                                           tID    temp    humidity
  Instance (like rows in table)
                                                           1       21       62
                                                           2       27       78
– Content Awareness. SQL                                   3       25.5     72.3
  Expressions can be used to do
  content-aware subscriptions,                                   SELECT * FROM TempSensor t
                                                                 WHERE t.temp > 25
  queries, joins, and correlate topic
  instances
                                                           tID    temp    humidity
                                                           2       27       78
                                                           3       25.5     72.3
Distributed Relational
                Information Modeling
– Topic Keys can be used to identify instances as well as
  relationships
– Relationships can be navigated by relying on a subset of SQL 92
– One-to-many relationships can be captured using foreign keys
– Many-to-many relationships need to be modeled using a topics
– Keys can be represented by an arbitrary number of Topic fields
Object/Relational
                         Mapping
– Automatically bridges
  the Object/Relational
  Impedance Mismatch
– Arbitrary object
  reconstructions
– Automatic
  Relationships
  Management
– Inheritance
– Local Operations
– Local/Distributed
  State
Sample QoS Policies
QoS Policy     Applicability   RxO   Modifiable
DURABILITY      T, DR, DW       Y       N          Data                                                       Type Matching

DURABILITY        T, DW        N        N        Availability                                                                                    QoS matching



SERVICE
                                                                QoS             QoS                 QoS                   QoS                   QoS                QoS              QoS


                                                                                                                          Topic

LIFESPAN          T, DW         -       Y                                     Publisher
                                                                                                                                    Name
                                                                                                                                                                Subscriber

                                                                                           ...   DataWriter      writes   Type       reads   DataReader
                                                                                                                                                          ...
HISTORY         T, DR, DW      N        N                                                                                     ...
                                                                 DomainParticipant               DataWriter    writes     Type      reads    DataReader                  DomainParticipant
PRESENTATION       P, S         Y       N          Data                                                                             Name
                                                                                                                          Topic

RELIABILITY     T, DR, DW       Y       N         Delivery
                                                                                                   QoS                    QoS                    QoS


PARTITION          P, S        N        Y
DESTINATION     T, DR, DW       Y       N
ORDER
                                                                                          – Rich set of QoS allow
OWNERSHIP       T, DR, DW       Y       N
                                                                                            to configure several
OWNERSHIP          DW           -       Y
STRENGTH                                                                                    different aspects of
DEADLINE        T, DR, DW       Y       Y           Data                                    data availability,
                                                 Timeliness
LATENCY
BUDGET
                T, DR, DW       Y       Y
                                                                                            delivery and
TRANSPORT         T, DW         -       Y                                                   timeliness
PRIORITY
TIME BASED         DR           -       Y        Resources                                – QoS can be used to
FILTER
                                                                                            control and optimize
RESOURCE        T, DR, DW      N        N
LIMITS                                                                                      network as well as
USER_DATA      DP, DR, DW      N        Y        Configuratio                                computing resource
TOPIC_DATA          T          N        Y            n
GROUP_DATA         P, S        N        Y
Overcoming the Challenges of
                          DDS Design
•   DDS is a PIM
    – Provides a platform independent model of entities, roles and QoS Policies
    – PIM is mapped to specific implementations, or platform specific models
      (PSM)
         • Variety of software languages
         • Variety of runtime platforms
         • Variety of vendors                                                  Radar
                                  B

                                           m

       Sensor 1                   A                F
                                                                               Aircraft


                                                                           X
                                  J
                                               D


      Sensor n                    K
                                               E
                                                                     PDA



                  Workstation


                                                       Workstation
Overcoming the Challenges of
                 DDS Design
• Manage Complexity
  – Complex information models with QoS data

• Heterogeneous Design
  – Different implementations, same information model

• Reuse
  – Repository, Patterns

• Change Management
  – One change in model  00’s changes in code
UML 4 DDS
• A UML Profile designed for the analysis and
  design of object-oriented systems using Data
  Distribution Service technology.

• Provides DDS designers, architects and
  practitioners with a standard, domain-specific
  modeling language to design DDS-based
  distributed information systems in a manner not
  specific to the underlying implementation of that
  design.
UML 4 DDS

• Beta Specification: mars/2008-06-18
• Joint Submission by:
  – PrismTech
  – Real Time Innovations Inc
  – Sparx Systems
• Request For Proposal: mars/2006-09-40
Model - Driven Architecture

• Domain-Specific Modeling
  – Taxonomy of constructs, relationships, constraints
  – Notation, presentation, diagrams
  – MOF or UML mappings (UML Profiles)

• PIM  PSM Transformation
  – Platform Independent Model transformed to
    Platform specific model automatically
  – One domain-specific model to another
Timeline
–   RFP Issued                 September, 2006
–   First LOI                  November, 2006
–   First Initial Submission   March, 2007
–   First Revised Submission   September, 2007
–   Second LOI                 October, 2007
–   Second Initial Sub         December, 2007
–   Second Revised Sub         February, 2008
–   BoD Adoption               June, 2008
–   FTF Charter                June, 2008
–   FTF Report Due             August 2009
Vendor Support
• Sparx Systems – MDG Technology for DDS
  – Language Addin for Enterprise Architect
  – DDS-specific Toolboxes, Constructs, Diagrams
  – Automatically generates PSM code for
    OpenSplice & RTI DDS
     • Other DDS platform targets coming soon!
Language Architecture
•   Part 1 - UML Profile
•   Defines a collection of constructs that represent:
     – Data Centric Publish Subscribe Entites (+ QoS)
     – Data Local Reconstruction Layer

•   Introduced a collection of common constructs to define:
     – PSM Application Targets
     – Topic Data Types (IDL)
Language Architecture
• Part 2 – Metamodel
• Defines meta-level artifacts for XMI serialization
Worked Example - NetChat

  Stage 1 – DCPS-only Application
     Stage 2 – DLRL-Enabled
Designing DDS Systems
DDS Design Steps
• Designing DDS-based system can be decomposed in the
  following few simple steps:
   – Step#1: Define Information Model
   – Step #2: Associate QoS representing key non-
      functional invariants for your system with the
      Information Model
   – Step #3: Define Topics / Partition / Domain Mapping
   – Step #4: Identify Topic Readers/Writers
   – Step #5: Define QoS requirements for Readers/Writers
   – Step #6: Bind the model to a specific PSM
NetChat Overview
•   Hypothetical, peer-to-peer network chat application
•   Two Components:
     – “ChatRoom” DDS Dataspace containing conversation threads amongst users
     – “Directory Server” Application to maintain a collection of active NetChat users

•   Real-world application of DDS DCPS and DLRL in distributed application
    designs
DDS Design Steps
• Designing DDS-based system can be decomposed in the
  following few simple steps:
   – Step#1: Define Information Model
   – Step #2: Associate QoS representing key non-
      functional invariants for your system with the
      Information Model
   – Step #3: Define Topics / Partition / Domain Mapping
   – Step #4: Identify Topic Readers/Writers
   – Step #5: Define QoS requirements for Readers/Writers
   – Step #6: Bind the model to a specific PSM
DCPS Topics & Data Types
• Data Types
  – Describes the data
    payloads for DCPS
    topics
  – IDL-based library
  – structs, unions, arrays
DCPS Topics & Data Types
• Data Types
  – Describes the data
    payloads for DCPS
    topics
  – IDL-based library
  – structs, unions, arrays

              Attributes can be
               nominated as
              DCPS Key fields
DCPS Topics & Data Types
• DDS Topics
  – Describes the DCPS characteristics of the published/
    subscribe data type,
    constrained to QoS Policy
DCPS Topics & Data Types
• DDS Topics
  – Describes the DCPS characteristics of the published/
    subscribe data type,
    constrained to QoS Policy
DCPS Topics & Data Types
• DDS Topics
    – Describes the DCPS characteristics of the published/
      subscribe data type,
      constrained to QoS Policy




ContentFilteredTopic,
MultiTopic denoted by
kind, expression tags
DDS Design Steps
• Designing DDS-based system can be decomposed in the
  following few simple steps:
   – Step#1: Define Information Model
   – Step #2: Associate QoS representing key non-
      functional invariants for your system with the
      Information Model
   – Step #3: Define Topics / Partition / Domain Mapping
   – Step #4: Identify Topic Readers/Writers
   – Step #5: Define QoS requirements for Readers/Writers
   – Step #6: Bind the model to a specific PSM
DCPS – QoS Policy Library
• qosPolicyLibrary
  Package
   – Top-Level Classifiers
     defining ‘default’ QoS
     Policies

   – Define sets of
     qosPolicyLibraries for
     domain-specific
     applications

   – Template of reusable QoS
     assets for multiple projects
DCPS – QoS Policy Library
DCPS – QoS Policy Library




               Defines QoS policy data
                  as tagged values
DDS Design Steps
• Designing DDS-based system can be decomposed in the
  following few simple steps:
   – Step#1: Define Information Model
   – Step #2: Associate QoS representing key non-
      functional invariants for your system with the
      Information Model
   – Step #3: Define Topics / Partition / Domain Mapping
   – Step #4: Identify Topic Readers/Writers
   – Step #5: Define QoS requirements for Readers/Writers
   – Step #6: Bind the model to a specific PSM
DCPS Domain & Entities
• Domain Entity
  – Logical ‘grouping’ of
    DCPS Topics, &
    DomainParticipants
DCPS Domain & Entities
• DomainParticipant Entity
  – DDS Publish/Subscribe entity
DCPS Domain & Entities
• DomainParticipant Entity
  – Participate in domain nominated by tagged value
DCPS Domain & Entities
• DomainParticipant
  Entity
  – Qos applied as
    properties, typed by
    the QoS Policy types
    in the qosPolicyLibrary
DDS Design Steps
• Designing DDS-based system can be decomposed in the
  following few simple steps:
   – Step#1: Define Information Model
   – Step #2: Associate QoS representing key non-
      functional invariants for your system with the
      Information Model
   – Step #3: Define Topics / Partition / Domain Mapping
   – Step #4: Identify Topic Readers/Writers
   – Step #5: Define QoS requirements for Readers/Writers
   – Step #6: Bind the model to a specific PSM
DCPS Domain & Entities
• Added Publisher, Subscriber Entities
DCPS Domain & Entities
• Added DataReaders, DataWriters Entities
DCPS Domain & Entities




          DDS Topics connected to
              DataReaders &
               DataWriters
DDS Design Steps
• Designing DDS-based system can be decomposed in the
  following few simple steps:
   – Step#1: Define Information Model
   – Step #2: Associate QoS representing key non-
      functional invariants for your system with the
      Information Model
   – Step #3: Define Topics / Partition / Domain Mapping
   – Step #4: Identify Topic Readers/Writers
   – Step #5: Define QoS requirements for Readers/Writers
   – Step #6: Bind the model to a specific PSM
Application Targets
• ddsAppTarget
  – Binds one or more
    DomainParticipants to
    a PSM configuration
Application Targets
• ddsAppTarget
  – Binds one or more
    DomainParticipants to
    a PSM configuration




              ‘usage’ Dependency binds the
             DomainParticipant to the Target
Application Targets
• ddsAppTarget
  – Binds one or more
    DomainParticipants to
    a PSM configuration

     Tagged values specify
    the desired PSM output
Code (PSM) Generation




  Tool Specific: Enterprise
Architect prompts the user to
  designate the application
  targets to a specific DDS
       output platform
Code (PSM) Generation
Code (PSM) Generation
Worked Example

     DLRL
Object/Relational
                         Mapping
– Automatically bridges
  the Object/Relational
  Impedance Mismatch
– Arbitrary object
  reconstructions
– Automatic
  Relationships
  Management
– Inheritance
– Local Operations
– Local/Distributed
  State
DLRL: How does it Work?




Concepts
The mechanism at the foundation is a managed Object Cache:
‣ An Object Cache can be populated by different types (classes) of Objects.
‣ Each object class has its own manager called an ObjectHome.
  ‣ They can inform the application about object creation/modification/deletion.
‣ Classes may contain navigable relationships to other classes.
‣ Each Object class may inherit from 1 other Object class.
DLRL: How does it Work?



                        DR      DR       DR


                                     OpenSplice DDS Information backbone




Processing Updates
‣ ‘vanilla DDS’: updates arrive as separate samples at separate times.
‣ DDS Object Technology: updates are processed in ‘update rounds’:
  ‣ ObjectHomes read all available samples from the DDS information backbone and update their corresponding objects in
     the Cache accordingly.
  ‣  Objects are allocated once and their state is ‘overwritten’ on subsequent updates.
  ‣  Therefore an Object always contains the latest available state.
  ‣  Push mode: update rounds start when new data arrives. The application gets notified by Listeners.
  ‣ Pull mode: the application can determine the start of each update round manually.
Notification Patterns
                                                         on_object_modified()

                                                               on_object_created()
                                                             attach_listener
                                                                        on_begin_
                                                                        updates()
                                                                               attach_listener
                                                                                  on_end_
                                                                                 updates()


  DR       DR        DR
                                                                                                         Application
                                                     get_modified_objects()
                                         OpenSplice DDS Information backbone


Notifying the application
The Object Caches offer two ways to notify an application of incoming information:
‣ Listeners can be triggered for each modification of an object’s state.
  ‣ Listeners registered to the Cache indicate the start and end of each update round.
  ‣ Listeners registered to the ObjectHome pass each modification back as a callback argument.
  ‣ With a simple mechanism that can be translated into callbacks for Listeners on individual objects.
‣ It is possible to get a separate list of all objects that have been created/modified/deleted in the
   current update round.
CacheAccess: Examining Objects in Isolation




         DR         DR         DR


                                                                      DCPS


Using snapshots
Some applications want to be able to store temporal ‘snapshots’:
‣       A CacheAccess can be used to contain a temporal graph of objects.
    ‣    The graph is identified by a so-called ‘cloning contract’.

‣       Objects must physically be cloned from Cache to CacheAccess.
‣       A CacheAccesses is not automatically kept in sync with the main Cache.
‣       A ‘refresh’ operation can be used to resync the contents of CacheAccess with the contents of the
        main Cache.
CacheAccess: Modifying and Creating Objects




DR       DR     DR                                                                    DW       DW   DW


                                                 DCPS


     Using snapshots
     Some applications want to be able to modify or create certain objects:
     ‣   An initial set of Objects may be cloned into a writeable CacheAccess.
     ‣   Available objects may then be modified locally.
     ‣   New objects can be created in the CacheAccess as well.
     ‣   The ‘write’ operation instructs the ObjectHomes to write any modifications into the
         system.
Using Selections to Manage Subsets

                                                   S            on_object_in()




                                                                                           Application

DR     DR        DR


                                                         DCPS


     Creating and managing Selections
     A Selection mechanism can keep track of subsets of information:
     ‣ Selections are created and managed by the ObjectHomes.
     ‣ A Criterion plugged into a Selection determines the boundaries of a subset:
       ‣ A QueryCriterion determines boundaries based on an SQL statement.
       ‣ A FilterCriterion determines boundaries based on user-defined callback filters.
     ‣ Selections can notify the application when objects enter and leave it.
DLRL – Class & Type
                   Mapping
• dlrlClass
  – DLRL Class
    representing a
    subscribed DCPS
    Topic Type
DLRL – Class & Type
                   Mapping
• dlrlClass
  – DLRL Class
    representing a
    subscribed DCPS
    Topic Type
DLRL – Class & Type
                 Mapping
• dlrlAttribute
   – DLRL Attribute
     representing mapped
     DCPS Type fields
DLRL – Class & Type
                  Mapping
• relation
   – Association used to
     aggregate multiple
     classes using DLRL
     foreign keys
DLRL – Local
                 Reconstruction
• Cache
  – Describes a DLRL cache entity used to provide dlrl
    class access to the user
DLRL – Local
                 Reconstruction
• Cache
  – Describes a DLRL cache entity used to provide dlrl
    class access to the user

                                 DCPS ChatRoom
                                DomainParticipant

                                  DLRL Classes
DLRL – Local
                Reconstruction
• objectHome, topicManager
  – Binds the cache to DataReaders to access the
    specific DCPS Topic, Types
Application Targets
• ddsAppTarget
  – Binds one or more
    DomainParticipants to
    a PSM configuration
  – Binds at most one
    DLRL cache to the
    PSM configuration
Conclusion & Wrap Up
Other Applications
• Not just a DDS architecture description
• Not just a PIM
Other Applications
• XMI Serialization  Direct Deployment
  – XMI Document describes the DDS application
    configuration with Participants, Topics, QoS, etc
  – Configuration loaded by runtime to configure nodes
  – No source code
Other Applications
• Visual Deployment Interface
   – DDS discovery to create a DDS model which visualizes a
     running deployment
   – Field Engineers interact with the DDS model to make changes to
     the deployment
   – Maintenance, re-engineering, documentation applications
Concluding Remarks
• UML Profile for DDS exemplifies the co-
  operation of multiple OMG standards to:
  – Overcome the real-world challenges of design
    complexity management
  – Provide turnkey rapid-development solutions for DDS
    applications
• Culmination of OMG’s
  –   Real-time distributed data middleware technology
  –   UML extensibility (domain-specific languages)
  –   Model-Driven Development / Architecture
  –   XML Metadata Interchange specifications
Concluding Remarks
• Next Steps
  – Complete the FTF submission
  – Unleash to the world – promote industry adoption,
    drive market demand

• For More information
  – Contact us
     • sam.mancarella@sparxsystems.com
     • angelo.corsaro@prismtech.com
  – Visit the Sparx exhibit for more information & demo
Thank you for your
    attention!

More Related Content

What's hot

10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDSAngelo Corsaro
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDSRick Warren
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardAngelo Corsaro
 
The Art and Science of DDS Data Modelling
The Art and Science of DDS Data ModellingThe Art and Science of DDS Data Modelling
The Art and Science of DDS Data ModellingAngelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsReal-Time Innovations (RTI)
 
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IAngelo Corsaro
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeReal-Time Innovations (RTI)
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009Gerardo Pardo-Castellote
 
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...IncQuery Labs
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice NewbiesAngelo Corsaro
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLAAngelo Corsaro
 

What's hot (20)

10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDS
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
The Art and Science of DDS Data Modelling
The Art and Science of DDS Data ModellingThe Art and Science of DDS Data Modelling
The Art and Science of DDS Data Modelling
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
 
DDS QoS Unleashed
DDS QoS UnleashedDDS QoS Unleashed
DDS QoS Unleashed
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and Java
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
 
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
 
HLA over DDS
HLA over DDSHLA over DDS
HLA over DDS
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009
 
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part I
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLA
 

Viewers also liked

Two Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar SystemsTwo Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar SystemsReal-Time Innovations (RTI)
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011Gerardo Pardo-Castellote
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeSumant Tambe
 
Activist Angels - Leadership Development Programme
Activist Angels - Leadership Development ProgrammeActivist Angels - Leadership Development Programme
Activist Angels - Leadership Development ProgrammeOgunte CIC
 
Ogunte intro feb2013
Ogunte intro feb2013Ogunte intro feb2013
Ogunte intro feb2013Ogunte CIC
 
Distributed Events, State and Commands
Distributed Events, State and CommandsDistributed Events, State and Commands
Distributed Events, State and CommandsAngelo Corsaro
 
Investorguide Eng
Investorguide EngInvestorguide Eng
Investorguide Engtanriverdi
 
Social Media Uprising (Preview)
Social Media Uprising (Preview)Social Media Uprising (Preview)
Social Media Uprising (Preview)oiwan
 
Cyberpolitics 2009 W11
Cyberpolitics 2009 W11Cyberpolitics 2009 W11
Cyberpolitics 2009 W11oiwan
 
learning: yankin' out an engine
learning: yankin' out an enginelearning: yankin' out an engine
learning: yankin' out an engineKristin Cline
 
Conflict Resolution (Part I)
Conflict Resolution (Part I)Conflict Resolution (Part I)
Conflict Resolution (Part I)Jahad Farahmand
 
Michitson inuguration speech for haverhill city council president 010614
Michitson inuguration speech for haverhill city council president 010614Michitson inuguration speech for haverhill city council president 010614
Michitson inuguration speech for haverhill city council president 010614John Michitson
 
Haverhill, MA needs a fiber network
Haverhill, MA needs a fiber network Haverhill, MA needs a fiber network
Haverhill, MA needs a fiber network John Michitson
 

Viewers also liked (20)

Two Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar SystemsTwo Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar Systems
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
Activist Angels - Leadership Development Programme
Activist Angels - Leadership Development ProgrammeActivist Angels - Leadership Development Programme
Activist Angels - Leadership Development Programme
 
7fevrier2009
7fevrier20097fevrier2009
7fevrier2009
 
Ogunte intro feb2013
Ogunte intro feb2013Ogunte intro feb2013
Ogunte intro feb2013
 
Distributed Events, State and Commands
Distributed Events, State and CommandsDistributed Events, State and Commands
Distributed Events, State and Commands
 
Investorguide Eng
Investorguide EngInvestorguide Eng
Investorguide Eng
 
Animation in Diamond Resorts
Animation in Diamond ResortsAnimation in Diamond Resorts
Animation in Diamond Resorts
 
ikp213-06-template-c++
ikp213-06-template-c++ikp213-06-template-c++
ikp213-06-template-c++
 
Social Media Uprising (Preview)
Social Media Uprising (Preview)Social Media Uprising (Preview)
Social Media Uprising (Preview)
 
Sph 106 Ch 15
Sph 106 Ch 15Sph 106 Ch 15
Sph 106 Ch 15
 
Cyberpolitics 2009 W11
Cyberpolitics 2009 W11Cyberpolitics 2009 W11
Cyberpolitics 2009 W11
 
learning: yankin' out an engine
learning: yankin' out an enginelearning: yankin' out an engine
learning: yankin' out an engine
 
Sph 107 Ch 8
Sph 107 Ch 8Sph 107 Ch 8
Sph 107 Ch 8
 
Stem And Leaf
Stem And LeafStem And Leaf
Stem And Leaf
 
Conflict Resolution (Part I)
Conflict Resolution (Part I)Conflict Resolution (Part I)
Conflict Resolution (Part I)
 
Goodxi
GoodxiGoodxi
Goodxi
 
Michitson inuguration speech for haverhill city council president 010614
Michitson inuguration speech for haverhill city council president 010614Michitson inuguration speech for haverhill city council president 010614
Michitson inuguration speech for haverhill city council president 010614
 
Haverhill, MA needs a fiber network
Haverhill, MA needs a fiber network Haverhill, MA needs a fiber network
Haverhill, MA needs a fiber network
 

Similar to UML Profile for DDS

Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Sumant Tambe
 
Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEPAngelo Corsaro
 
The Single Most Important Decision in Designing Your Distributed System
The Single Most Important Decision in Designing Your Distributed SystemThe Single Most Important Decision in Designing Your Distributed System
The Single Most Important Decision in Designing Your Distributed SystemReal-Time Innovations (RTI)
 
OSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOpenStorageSummit
 
Dds the ideal_bus_for_event_processing_engines
Dds the ideal_bus_for_event_processing_enginesDds the ideal_bus_for_event_processing_engines
Dds the ideal_bus_for_event_processing_enginesGerardo Pardo-Castellote
 
Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Angelo Corsaro
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSSupreet Oberoi
 
Cloudian_Cassandra Summit 2012
Cloudian_Cassandra Summit 2012Cloudian_Cassandra Summit 2012
Cloudian_Cassandra Summit 2012CLOUDIAN KK
 
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...SL Corporation
 
Ebs architecture con9036_pdf_9036_0001
Ebs architecture con9036_pdf_9036_0001Ebs architecture con9036_pdf_9036_0001
Ebs architecture con9036_pdf_9036_0001jucaab
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAngelo Corsaro
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDSkerush
 
SIMWARE RTI : HLA powered by DDS
SIMWARE RTI : HLA powered by DDSSIMWARE RTI : HLA powered by DDS
SIMWARE RTI : HLA powered by DDSSimware
 
Software Architecture Definition for On-demand Cloud Provisioning
Software Architecture Definition for On-demand Cloud ProvisioningSoftware Architecture Definition for On-demand Cloud Provisioning
Software Architecture Definition for On-demand Cloud ProvisioningClovis Chapman
 
Xldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_inXldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_inliqiang xu
 

Similar to UML Profile for DDS (20)

DDS vs AMQP
DDS vs AMQPDDS vs AMQP
DDS vs AMQP
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++
 
RTI Technical Road Show SPAWAR SD
RTI Technical Road Show SPAWAR SDRTI Technical Road Show SPAWAR SD
RTI Technical Road Show SPAWAR SD
 
Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEP
 
The Single Most Important Decision in Designing Your Distributed System
The Single Most Important Decision in Designing Your Distributed SystemThe Single Most Important Decision in Designing Your Distributed System
The Single Most Important Decision in Designing Your Distributed System
 
OSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal Stern
 
Dds the ideal_bus_for_event_processing_engines
Dds the ideal_bus_for_event_processing_enginesDds the ideal_bus_for_event_processing_engines
Dds the ideal_bus_for_event_processing_engines
 
Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDS
 
Cloudian_Cassandra Summit 2012
Cloudian_Cassandra Summit 2012Cloudian_Cassandra Summit 2012
Cloudian_Cassandra Summit 2012
 
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
Overcoming the Top Four Challenges to Real-Time Performance in Large-Scale, D...
 
Ebs architecture con9036_pdf_9036_0001
Ebs architecture con9036_pdf_9036_0001Ebs architecture con9036_pdf_9036_0001
Ebs architecture con9036_pdf_9036_0001
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part II
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDS
 
Pragmatic approach to_dds_security_2008
Pragmatic approach to_dds_security_2008Pragmatic approach to_dds_security_2008
Pragmatic approach to_dds_security_2008
 
P57 Novelli
P57 NovelliP57 Novelli
P57 Novelli
 
SIMWARE RTI : HLA powered by DDS
SIMWARE RTI : HLA powered by DDSSIMWARE RTI : HLA powered by DDS
SIMWARE RTI : HLA powered by DDS
 
SimWare Rti: HLA raised to the power of DDS
SimWare Rti: HLA raised to the power of DDSSimWare Rti: HLA raised to the power of DDS
SimWare Rti: HLA raised to the power of DDS
 
Software Architecture Definition for On-demand Cloud Provisioning
Software Architecture Definition for On-demand Cloud ProvisioningSoftware Architecture Definition for On-demand Cloud Provisioning
Software Architecture Definition for On-demand Cloud Provisioning
 
Xldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_inXldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_in
 

More from Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 

More from Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 

Recently uploaded

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncObject Automation
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 

Recently uploaded (20)

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation Inc
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 

UML Profile for DDS

  • 1. 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)
  • 2. Agenda • Part 1 - Introduction – DDS Overview – Motivating the UML4DDS • Part 2 – UML4DDS by Examples – DCPS – DLRL – Application Targets – MDA, PIM  PSM • Part 3 - Conclusion – Other Applications – Concluding Remarks – Discussion
  • 3. The OMG Data Distribution Service (DDS) • DDS v1.2 API Standard – Language Independent, OS and HW Application architecture independent Object/Relational Mapping – DCPS. Standard API for Data-Centric, Data Local Reconstruction Layer (DLRL) Topic-Based, Real-Time Publish/ Subscribe Ownership Durability Content Subscription – DLRL. Standard API for creating Object Minimum Profile Views out of collection of Topics Data Centric Publish/Subscribe (DCPS) • DDSI/RTPS v2.1 Wire Protocol Real-Time Publish/Subscribe Protocol Standard DDS Interoperability Wire Protocol – Standard wire protocol allowing UDP/IP interoperability between different implementations of the DDS standard
  • 4. High Performance Pub/Sub The right data, at the right place, at – Fully distributed, the right time Peer-to-Peer -- All the Time. Communication – No Single Point of Subscriber Publisher Failure – No Single Point of Publisher Broke Subscriber Bottleneck – Multicast-enabled Publisher Subscriber – High performance and highly scalable – High availability
  • 5. Data-Centric Pub/Sub ‣ Data-Centric Features are built-in and don’t rely on an external DBMS ‣ Providing thus performance, scalability, and availability – Distributed Relational Data Model DBMS Subscriber – Local Queries Publisher – Continuous Queries / B m Content Based A F Subscriber Subscriptions Publisher J D C – Windows K E – Object/Relational Mapping Publisher – Support for a subset of Subscriber SQL-92 Perfect Blend of Data-Centric and Real-Time Publish/Subscribe Technologies
  • 6. Topics and Data-Centric Pub/Sub Topic – Topics. Unit of information exchanged between Publisher and Subscribers. – Data Types. Type associated to a struct TempSensor { long tID; Topic must be a structured type float temp; expressed in IDL Topic Type float humidity; }; #pragma keylist TempSensor tID – Topic Instances. Key values in a datatype uniquely identify a Topic tID temp humidity Instance (like rows in table) 1 21 62 2 27 78 – Content Awareness. SQL 3 25.5 72.3 Expressions can be used to do content-aware subscriptions, SELECT * FROM TempSensor t WHERE t.temp > 25 queries, joins, and correlate topic instances tID temp humidity 2 27 78 3 25.5 72.3
  • 7. Distributed Relational Information Modeling – Topic Keys can be used to identify instances as well as relationships – Relationships can be navigated by relying on a subset of SQL 92 – One-to-many relationships can be captured using foreign keys – Many-to-many relationships need to be modeled using a topics – Keys can be represented by an arbitrary number of Topic fields
  • 8. Object/Relational Mapping – Automatically bridges the Object/Relational Impedance Mismatch – Arbitrary object reconstructions – Automatic Relationships Management – Inheritance – Local Operations – Local/Distributed State
  • 9. Sample QoS Policies QoS Policy Applicability RxO Modifiable DURABILITY T, DR, DW Y N Data Type Matching DURABILITY T, DW N N Availability QoS matching SERVICE QoS QoS QoS QoS QoS QoS QoS Topic LIFESPAN T, DW - Y Publisher Name Subscriber ... DataWriter writes Type reads DataReader ... HISTORY T, DR, DW N N ... DomainParticipant DataWriter writes Type reads DataReader DomainParticipant PRESENTATION P, S Y N Data Name Topic RELIABILITY T, DR, DW Y N Delivery QoS QoS QoS PARTITION P, S N Y DESTINATION T, DR, DW Y N ORDER – Rich set of QoS allow OWNERSHIP T, DR, DW Y N to configure several OWNERSHIP DW - Y STRENGTH different aspects of DEADLINE T, DR, DW Y Y Data data availability, Timeliness LATENCY BUDGET T, DR, DW Y Y delivery and TRANSPORT T, DW - Y timeliness PRIORITY TIME BASED DR - Y Resources – QoS can be used to FILTER control and optimize RESOURCE T, DR, DW N N LIMITS network as well as USER_DATA DP, DR, DW N Y Configuratio computing resource TOPIC_DATA T N Y n GROUP_DATA P, S N Y
  • 10. Overcoming the Challenges of DDS Design • DDS is a PIM – Provides a platform independent model of entities, roles and QoS Policies – PIM is mapped to specific implementations, or platform specific models (PSM) • Variety of software languages • Variety of runtime platforms • Variety of vendors Radar B m Sensor 1 A F Aircraft X J D Sensor n K E PDA Workstation Workstation
  • 11. Overcoming the Challenges of DDS Design • Manage Complexity – Complex information models with QoS data • Heterogeneous Design – Different implementations, same information model • Reuse – Repository, Patterns • Change Management – One change in model  00’s changes in code
  • 12. UML 4 DDS • A UML Profile designed for the analysis and design of object-oriented systems using Data Distribution Service technology. • Provides DDS designers, architects and practitioners with a standard, domain-specific modeling language to design DDS-based distributed information systems in a manner not specific to the underlying implementation of that design.
  • 13. UML 4 DDS • Beta Specification: mars/2008-06-18 • Joint Submission by: – PrismTech – Real Time Innovations Inc – Sparx Systems • Request For Proposal: mars/2006-09-40
  • 14. Model - Driven Architecture • Domain-Specific Modeling – Taxonomy of constructs, relationships, constraints – Notation, presentation, diagrams – MOF or UML mappings (UML Profiles) • PIM  PSM Transformation – Platform Independent Model transformed to Platform specific model automatically – One domain-specific model to another
  • 15. Timeline – RFP Issued September, 2006 – First LOI November, 2006 – First Initial Submission March, 2007 – First Revised Submission September, 2007 – Second LOI October, 2007 – Second Initial Sub December, 2007 – Second Revised Sub February, 2008 – BoD Adoption June, 2008 – FTF Charter June, 2008 – FTF Report Due August 2009
  • 16. Vendor Support • Sparx Systems – MDG Technology for DDS – Language Addin for Enterprise Architect – DDS-specific Toolboxes, Constructs, Diagrams – Automatically generates PSM code for OpenSplice & RTI DDS • Other DDS platform targets coming soon!
  • 17. Language Architecture • Part 1 - UML Profile • Defines a collection of constructs that represent: – Data Centric Publish Subscribe Entites (+ QoS) – Data Local Reconstruction Layer • Introduced a collection of common constructs to define: – PSM Application Targets – Topic Data Types (IDL)
  • 18. Language Architecture • Part 2 – Metamodel • Defines meta-level artifacts for XMI serialization
  • 19. Worked Example - NetChat Stage 1 – DCPS-only Application Stage 2 – DLRL-Enabled
  • 21. DDS Design Steps • Designing DDS-based system can be decomposed in the following few simple steps: – Step#1: Define Information Model – Step #2: Associate QoS representing key non- functional invariants for your system with the Information Model – Step #3: Define Topics / Partition / Domain Mapping – Step #4: Identify Topic Readers/Writers – Step #5: Define QoS requirements for Readers/Writers – Step #6: Bind the model to a specific PSM
  • 22. NetChat Overview • Hypothetical, peer-to-peer network chat application • Two Components: – “ChatRoom” DDS Dataspace containing conversation threads amongst users – “Directory Server” Application to maintain a collection of active NetChat users • Real-world application of DDS DCPS and DLRL in distributed application designs
  • 23. DDS Design Steps • Designing DDS-based system can be decomposed in the following few simple steps: – Step#1: Define Information Model – Step #2: Associate QoS representing key non- functional invariants for your system with the Information Model – Step #3: Define Topics / Partition / Domain Mapping – Step #4: Identify Topic Readers/Writers – Step #5: Define QoS requirements for Readers/Writers – Step #6: Bind the model to a specific PSM
  • 24. DCPS Topics & Data Types • Data Types – Describes the data payloads for DCPS topics – IDL-based library – structs, unions, arrays
  • 25. DCPS Topics & Data Types • Data Types – Describes the data payloads for DCPS topics – IDL-based library – structs, unions, arrays Attributes can be nominated as DCPS Key fields
  • 26. DCPS Topics & Data Types • DDS Topics – Describes the DCPS characteristics of the published/ subscribe data type, constrained to QoS Policy
  • 27. DCPS Topics & Data Types • DDS Topics – Describes the DCPS characteristics of the published/ subscribe data type, constrained to QoS Policy
  • 28. DCPS Topics & Data Types • DDS Topics – Describes the DCPS characteristics of the published/ subscribe data type, constrained to QoS Policy ContentFilteredTopic, MultiTopic denoted by kind, expression tags
  • 29. DDS Design Steps • Designing DDS-based system can be decomposed in the following few simple steps: – Step#1: Define Information Model – Step #2: Associate QoS representing key non- functional invariants for your system with the Information Model – Step #3: Define Topics / Partition / Domain Mapping – Step #4: Identify Topic Readers/Writers – Step #5: Define QoS requirements for Readers/Writers – Step #6: Bind the model to a specific PSM
  • 30. DCPS – QoS Policy Library • qosPolicyLibrary Package – Top-Level Classifiers defining ‘default’ QoS Policies – Define sets of qosPolicyLibraries for domain-specific applications – Template of reusable QoS assets for multiple projects
  • 31. DCPS – QoS Policy Library
  • 32. DCPS – QoS Policy Library Defines QoS policy data as tagged values
  • 33. DDS Design Steps • Designing DDS-based system can be decomposed in the following few simple steps: – Step#1: Define Information Model – Step #2: Associate QoS representing key non- functional invariants for your system with the Information Model – Step #3: Define Topics / Partition / Domain Mapping – Step #4: Identify Topic Readers/Writers – Step #5: Define QoS requirements for Readers/Writers – Step #6: Bind the model to a specific PSM
  • 34. DCPS Domain & Entities • Domain Entity – Logical ‘grouping’ of DCPS Topics, & DomainParticipants
  • 35. DCPS Domain & Entities • DomainParticipant Entity – DDS Publish/Subscribe entity
  • 36. DCPS Domain & Entities • DomainParticipant Entity – Participate in domain nominated by tagged value
  • 37. DCPS Domain & Entities • DomainParticipant Entity – Qos applied as properties, typed by the QoS Policy types in the qosPolicyLibrary
  • 38. DDS Design Steps • Designing DDS-based system can be decomposed in the following few simple steps: – Step#1: Define Information Model – Step #2: Associate QoS representing key non- functional invariants for your system with the Information Model – Step #3: Define Topics / Partition / Domain Mapping – Step #4: Identify Topic Readers/Writers – Step #5: Define QoS requirements for Readers/Writers – Step #6: Bind the model to a specific PSM
  • 39. DCPS Domain & Entities • Added Publisher, Subscriber Entities
  • 40. DCPS Domain & Entities • Added DataReaders, DataWriters Entities
  • 41. DCPS Domain & Entities DDS Topics connected to DataReaders & DataWriters
  • 42. DDS Design Steps • Designing DDS-based system can be decomposed in the following few simple steps: – Step#1: Define Information Model – Step #2: Associate QoS representing key non- functional invariants for your system with the Information Model – Step #3: Define Topics / Partition / Domain Mapping – Step #4: Identify Topic Readers/Writers – Step #5: Define QoS requirements for Readers/Writers – Step #6: Bind the model to a specific PSM
  • 43. Application Targets • ddsAppTarget – Binds one or more DomainParticipants to a PSM configuration
  • 44. Application Targets • ddsAppTarget – Binds one or more DomainParticipants to a PSM configuration ‘usage’ Dependency binds the DomainParticipant to the Target
  • 45. Application Targets • ddsAppTarget – Binds one or more DomainParticipants to a PSM configuration Tagged values specify the desired PSM output
  • 46. Code (PSM) Generation Tool Specific: Enterprise Architect prompts the user to designate the application targets to a specific DDS output platform
  • 50. Object/Relational Mapping – Automatically bridges the Object/Relational Impedance Mismatch – Arbitrary object reconstructions – Automatic Relationships Management – Inheritance – Local Operations – Local/Distributed State
  • 51. DLRL: How does it Work? Concepts The mechanism at the foundation is a managed Object Cache: ‣ An Object Cache can be populated by different types (classes) of Objects. ‣ Each object class has its own manager called an ObjectHome. ‣ They can inform the application about object creation/modification/deletion. ‣ Classes may contain navigable relationships to other classes. ‣ Each Object class may inherit from 1 other Object class.
  • 52. DLRL: How does it Work? DR DR DR OpenSplice DDS Information backbone Processing Updates ‣ ‘vanilla DDS’: updates arrive as separate samples at separate times. ‣ DDS Object Technology: updates are processed in ‘update rounds’: ‣ ObjectHomes read all available samples from the DDS information backbone and update their corresponding objects in the Cache accordingly. ‣ Objects are allocated once and their state is ‘overwritten’ on subsequent updates. ‣ Therefore an Object always contains the latest available state. ‣ Push mode: update rounds start when new data arrives. The application gets notified by Listeners. ‣ Pull mode: the application can determine the start of each update round manually.
  • 53. Notification Patterns on_object_modified() on_object_created() attach_listener on_begin_ updates() attach_listener on_end_ updates() DR DR DR Application get_modified_objects() OpenSplice DDS Information backbone Notifying the application The Object Caches offer two ways to notify an application of incoming information: ‣ Listeners can be triggered for each modification of an object’s state. ‣ Listeners registered to the Cache indicate the start and end of each update round. ‣ Listeners registered to the ObjectHome pass each modification back as a callback argument. ‣ With a simple mechanism that can be translated into callbacks for Listeners on individual objects. ‣ It is possible to get a separate list of all objects that have been created/modified/deleted in the current update round.
  • 54. CacheAccess: Examining Objects in Isolation DR DR DR DCPS Using snapshots Some applications want to be able to store temporal ‘snapshots’: ‣ A CacheAccess can be used to contain a temporal graph of objects. ‣ The graph is identified by a so-called ‘cloning contract’. ‣ Objects must physically be cloned from Cache to CacheAccess. ‣ A CacheAccesses is not automatically kept in sync with the main Cache. ‣ A ‘refresh’ operation can be used to resync the contents of CacheAccess with the contents of the main Cache.
  • 55. CacheAccess: Modifying and Creating Objects DR DR DR DW DW DW DCPS Using snapshots Some applications want to be able to modify or create certain objects: ‣ An initial set of Objects may be cloned into a writeable CacheAccess. ‣ Available objects may then be modified locally. ‣ New objects can be created in the CacheAccess as well. ‣ The ‘write’ operation instructs the ObjectHomes to write any modifications into the system.
  • 56. Using Selections to Manage Subsets S on_object_in() Application DR DR DR DCPS Creating and managing Selections A Selection mechanism can keep track of subsets of information: ‣ Selections are created and managed by the ObjectHomes. ‣ A Criterion plugged into a Selection determines the boundaries of a subset: ‣ A QueryCriterion determines boundaries based on an SQL statement. ‣ A FilterCriterion determines boundaries based on user-defined callback filters. ‣ Selections can notify the application when objects enter and leave it.
  • 57. DLRL – Class & Type Mapping • dlrlClass – DLRL Class representing a subscribed DCPS Topic Type
  • 58. DLRL – Class & Type Mapping • dlrlClass – DLRL Class representing a subscribed DCPS Topic Type
  • 59. DLRL – Class & Type Mapping • dlrlAttribute – DLRL Attribute representing mapped DCPS Type fields
  • 60. DLRL – Class & Type Mapping • relation – Association used to aggregate multiple classes using DLRL foreign keys
  • 61. DLRL – Local Reconstruction • Cache – Describes a DLRL cache entity used to provide dlrl class access to the user
  • 62. DLRL – Local Reconstruction • Cache – Describes a DLRL cache entity used to provide dlrl class access to the user DCPS ChatRoom DomainParticipant DLRL Classes
  • 63. DLRL – Local Reconstruction • objectHome, topicManager – Binds the cache to DataReaders to access the specific DCPS Topic, Types
  • 64. Application Targets • ddsAppTarget – Binds one or more DomainParticipants to a PSM configuration – Binds at most one DLRL cache to the PSM configuration
  • 66. Other Applications • Not just a DDS architecture description • Not just a PIM
  • 67. Other Applications • XMI Serialization  Direct Deployment – XMI Document describes the DDS application configuration with Participants, Topics, QoS, etc – Configuration loaded by runtime to configure nodes – No source code
  • 68. Other Applications • Visual Deployment Interface – DDS discovery to create a DDS model which visualizes a running deployment – Field Engineers interact with the DDS model to make changes to the deployment – Maintenance, re-engineering, documentation applications
  • 69. Concluding Remarks • UML Profile for DDS exemplifies the co- operation of multiple OMG standards to: – Overcome the real-world challenges of design complexity management – Provide turnkey rapid-development solutions for DDS applications • Culmination of OMG’s – Real-time distributed data middleware technology – UML extensibility (domain-specific languages) – Model-Driven Development / Architecture – XML Metadata Interchange specifications
  • 70. Concluding Remarks • Next Steps – Complete the FTF submission – Unleash to the world – promote industry adoption, drive market demand • For More information – Contact us • sam.mancarella@sparxsystems.com • angelo.corsaro@prismtech.com – Visit the Sparx exhibit for more information & demo
  • 71. Thank you for your attention!