SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
The Teton Project


 DDS vs. DDS4CCM
         July 13, 2011



  Teton SNA Core Team
Background

                                                               Layered Architecture
    • Object Management Group (OMG)                                       View 1
       – International software open standards
         organization
       – DDS, CCM, CORBA, UML, SysML, MDA, IDL,
         D&C, MARTE, MOF, UPDM, XMI, many
         others…

    • Data Distribution Service (DDS)
       – Popular real-time middleware open standard
       – Publish-Subscribe information exchange




                                                                                                                  Processing




                                                                                                                               Processing
                                                                                                     Controller
       – Inherent support for data-oriented Event      View 2




                                                                               Receiver
                                                                     Adapter

                                                                               Adapter

                                                                                           Adapter




                                                                                                                                 Control
                                                                                           Sender
                                                                     Device




                                                                                                      Device

                                                                                                                    Signal




                                                                                                                                            HMI
         Driven Architecture (EDA)                     Application
                                                      Components
    • CORBA Component Model (CCM)                                                              Open Standard APIs
                                                       Real-Time
       – Component model extension of the classic     Component
                                                                           Control                            Data                Adapter
                                                                         Middleware                        Middleware             Access
         CORBA 2 real-time middleware open standard   Framework
                                                                                          OS & Drivers (POSIX/ACE)
       – Also known as CORBA 3
                                                                        Mainstream Market Driven (MMD) Hardware
       – Request-Response information exchange
       – Inherent support for Service Oriented                        Until very recently, the CCM &
         Architecture (SOA) and Component Based                      DDS complementary middleware
         Architecture (CBA)                                           standards were not integrated
2
DDS for Lightweight CCM (DDS4CCM)
    Component-Based DDS (CBDDS)



    • New OMG open standard that integrates the CCM and                            DDS
      real-time middleware standards
        – CCM+DDS real-time component framework
        – All components and interface ports are well defined and
          specified in OMG Interface Definition Language (IDL)

    • Initial Adopted Specification in December 2008
        – At July OMG Real-Time Workshop, aided by RTI per an ongoing
          RTI Architecture Study for Teton that was targeting CCM+DDS
        – Primary/lead author was Thales, with co-sponsors RTI, PrismTech & Mercury
        – Entered two FTF (Finalization Task Force) phases, which NGC participated in
             • Influence over spec evolution primarily through NGC subcontractors
        – NGC funded the definitive & most advanced reference implementation of the DDS4CCM
          spec during FTF phase via RTI, Remedy IT and Vanderbilt ISIS
        – Three working drafts during the FTF phase

    • Final Available Specification (v1.0) in June 2011
        – OMG: http://www.omg.org/spec/dds4ccm/1.0/PDF/
        – A draft v1.1 specification is already available on the OMG site
3
The Five Architectural Tenets of the Northrop
    Grumman Electronic Systems’ Teton Project

    • The 5 key architectural tenets driving the Teton framework are:
        – OA – Open Architecture
            • More specifically, the DoD’s MOSA (Modular Open Systems Approach)
              initiative
        – EDA – Event Driven Architecture
            • Often associated with DOA (Data Oriented Architecture) as a complement to
              SOA, EDA primarily defines the programming model
        – SOA – Service Oriented Architecture
        – CBA – Component Based Architecture
            • Associated industry terms include CBD (Component Based Development)
              and CBSE (Component Based Software Engineering)
        – MDA – Model Driven Architecture

    • CBA is an intrinsic element of SOA, MOSA/OA and MDA

          Location    Extensible   Plug and Play                  SOA               EDA              Interoperable
        Independent                                Net-Centric          MOSA/OA           Scalable
                            Component
                                                                                                                     MDA
                            Based (CBA)
                 Dynamic                  Reusable       Distributed     Portable    Performant        Secure



4
OA – Open Architecture & MOSA

                                                                                                                                                        OA
    • Charter tenet for The Teton Project
    • OA is the foundation of a number of current key contracts at NGES
    • OA or MOSA in particular mandated in most new DoD RFPs
        – DoD directives mandate its use in acquisitions
            • DoD 5001.2: “A modular, open systems approach shall be employed, where
              feasible”
        – DoD program managers (our customers) expect it
            • MOSA is now a generally accepted standard approach
            • Makes government PMs job easier if contractor can assure MOSA compliance
        – Good for business
            • Reduces program execution risk                          MOSA
            • Our competitors are using and marketing it




                                                                                                                                     Certified Conformance
                                                           Enabling Environment




                                                                                                                    Open Standards
                                                                                  Modular Design



                                                                                                   Key Interfaces
                                            Five Pillars
                                                Of
5
                                              MOSA
SNA Core Software Services (CSS) APIs for High
    Performance Computing (HPC) Applications

     Mission Independent Core Services & APIs for the Teton Scalable Node Architecture (SNA)

                             Pub/Sub          Data                  Config                                           System
               Pub/Sub                                 Discovery                 Math      Service/Client   Time                         OS
    Logging                 Attachment      Record /               Parameter                                       Management
              Messaging                                Services                Libraries    Messaging       Mgmt                     Abstraction
                          Transfer (PSAT)   Playback                Access                                         (App Container)




    • All CSS APIs based upon open standards
    • The CSS Services & APIs provide the basic programming environment & foundation
      for all application component designs, offering universal software services
          – Including General Purpose (GP) and Signal Processing (SP) applications
    • Core services support mission independent needs of new NGES programs
          – DDS a key contributor, but many more OA standards needed to address requirements
          – Component-Based DDS via DDS4CCM addresses even more, but still others are required

                  Both DDS and DDS4CCM Satisfy the Teton OA Architectural Tenet
6
SNA APIs – OA Standards & Governance

#         API                                                 Description                                                Open Standard       Governance
1 Application        Encapsulation of message event handler for service calls, service responses, subscriptions,        CCM (CORBA          OMG (Object
  Container          timers & other events. Encapsulates business logic/algorithm event callback registration and       Component Model),   Management
  (System            common component-based functionality such as security, startup, init & shutdown.                   D&C (Deployment &   Group)
  Management)        Embodiment of component ICD & lifecycle management.                                                Configuration)
2 Service/Client     Request/response, synchronous/asynchronous, RPC/RMI-based messaging supporting SOA                 CCM, AMI4CCM        OMG
  Messaging          services and clients. Service interfaces defined in OMG IDL.
3 Pub/Sub            Publish/subscribe messaging API supporting streaming data and event streams per EDA                DDS, DDS4CCM        OMG
  Messaging          architectural patterns. Topic data types defined in OMG IDL.
4 Pub/Sub            Wideband, high-throughput transport encapsulation extension of DDS for “large data.”               DDS4CCM             OMG
  Attachment         Combination of DDS for signaling and OFED-based wideband fabric transport (SHMEM,
  Transfer (PSAT)    RDMA, etc.) integrated into a DDS4CCM standard “connector” in the CCM container.
5 Logging            Text-based logging system for debug, development, I&T                                              log4cxx             Apache
6 Config Parameter   Generic access to static [read at startup] user-defined configuration files of hierarchical key-   libConfig           SourceForge
  Access             value pairs. API lookup of a value string by passing a sequence of key strings.                                        .net
7 Data               Generic data record/playback service built on the pub/sub messaging system capabilities &          RTSP (Real Time     IETF RFC 2326
  Record/Playback    generic data type definition utilities.                                                            Streaming Protocol)
8 Discovery          Data & Service directory services supporting dynamic system behavior. Metadata catalog             DDS Topics,         OMG
  Services           access to available topic and data set descriptor names/attributes (metacards) for data, access    DDS4CCM
                     to active service specifications to lookup service endpoints & descriptors for services.
 9 Time              Access to current, multi-node synchronized system time. Timer event management                     POSIX & ACE         IEEE/ISO/IEC &
   Management        encapsulation.                                                                                     Timers              DOC Group
10 Math Libraries    Mission independent math libraries supporting common signal & image processing functions           VSIPL++             HPEC-SI
                     per a co-processor off-load model.
11 OS Abstraction    Access to basic resources managed by the OS, for intra-process component design (vs. the 10        ACE, POSIX          DOC Group,
                     CSS APIs, which are primarily inter-process) and driver level access by Adapter components                             IEEE/ISO/IEC
                     for handling external I/O. Prefer use of ACE OS abstraction layer in System Management API
                     instead for future portability (Linux, Windows, VxWorks, etc.).



       MOSA APIs used directly by apps with no intermediate proprietary abstraction/shim layer in between
7
SNA Platform v1.0 Run-Time HW/SW Stack
    DDS4CCM Content in Red


                                                                                     Visualization Application Component Layer



                                                                                       Processing Application Component Layer



                                                                                             CCM+DDS Container (CIAO)

                                                                                               DDS4CCM         Time                                                                       Math Libs
                                                      RTSP Data Playback




                                                                                                                                                             Config Param Access Libs
                                 RTSP Data Record




    Logging Lib                                                                                Discovery     Mgmt Libs                                                                    (Sourcery
     (log4cxx)                                                                                 Connector      (ACE +                                                                       VSIPL++
                                     Service



                                                           Service




                    DDS4CCM                                                       DDS4CCM                     POSIX                                                                     w/ Expression
                                                                                                                                 AMI4CCM         SMS




                                                                                                                                                                     (libConfig)
                      PSAT                                                          DDS         Data &         APIs)                                                                     Templates)
                                                                                                                                  (CIAO)       (DAnCE)
                     (CIAO)                                                        (CIAO)       Service
     Appenders                                                                                 Discovery                                                                                 ALF, CUDA,
                                                                                                               PTTI &
    (DDS, Others)                                                                               Topics                                                                                    OpenCL
                                                                                                               Time-
                                                                                                 (RTI)
                                                                                                               Keeper
                                                                                                                Time                                                                     ATLAS, FFTW,
      Logging                                                                                                                  CORBA 2.x Libs/ORB                                       IPP, MKL, CML,
                                                    DDS Libs & Threads (RTI)                                  Services
      Protocol                                                                                                                      (TAO)                                                  LAPACK,
     Aggregator                                                                                                                                                                         OpenMP, BLAS
      (to log4j     Wideband                                                    DDS RTPS Message                               CORBA IIOP Message




                                                                                                                                                             Config
        XML)         (OFED)                                                       Protocol (RTI)                                 Protocol (TAO)




                                                                                                                                                              Files
                                                                                                                                                                                         AltiVec, SSE,
    DDS                                                                                                                               OS Abstraction Layer                               AVX, libSPE
            TCP     Infiniband                                                   UDP                         Infiniband   TCP
    (RTI)                                                                                                                                   (ACE)

                                                                                          Security Services (SELinux, IPSec)


                                                                   Operating System, Device Drivers, Network Stack (Linux - Fedora 12)


                                                                           HW & Boot Loader Firmware (Intel x86-64, GPU, IBM Cell, PPC440)


8
EDA – Event Driven Architecture

                                                                                                       EDA
    • Architecture pattern supporting real-time system design
        – Hardware analogy: Interrupt-driven vs. Poll-driven design

    • Primarily defined by the event-driven programming model
        – Leverage reactor pattern to dispatch incoming “events” to user-registered event
          handlers, a.k.a. “callback” routines
        – Most business logic embodied in callbacks, or code called from callbacks

    • Business logic invoked by real-time events, including:
        –   Incoming subscribed messages (pub-sub events)
        –   Incoming service invocation messages (request-response events)
        –   Asynchronous responses to service invocations by a client (AMI)
        –   Timer events
        –   Exceptions
        –   Other registered activity on file descriptors (FDs) or equivalent (interrupts, AIO, file
            system activity, socket/pipe activity, etc.)

    • Typically associated with data-driven design patterns
        – Pub-sub, streaming data, message passing

        Both DDS and DDS4CCM (CCM) Satisfy the Teton EDA Architectural Tenet
9
SNA Supports EDA & SOA Architecture Patterns




       Advanced real-time distributed processing systems utilize all of these patterns to some
           extent, and greatly benefit from combining and using them where appropriate
10
SNA Supports Pub-Sub & Request-Response
     Information Exchange Patterns




       Advanced real-time distributed processing systems utilize all of these patterns to some
           extent, and greatly benefit from combining and using them where appropriate
11
SOA – Service Oriented Architecture

                                                                                                           SOA
     • Desired architecture pattern for most new systems/programs
     • Specifically called out in DoD reference architectures and directives, particularly for
       Air Force and Navy systems
         – Primarily due to the strong influence of web-based enterprise architectures using Java EE or
           .NET, but the pattern is quite useful in distributed, real-time embedded (DRE) systems as well

     • Inherently implements the Request-Response information exchange pattern
         – RPC vs. DOC programming style comes naturally and is desirable to most OO programmers

     • Loose coupling and easy composition (workflows) of modular functionality
     • Services as groupings of common functionality with a well-defined interface,
       defined by a single service specification
         – Captured and looked up in a service registry (e.g., UDDI, CORBA Naming Service, LDAP, or
           Directory Services built with DDS per the SNA Platform)

     • Client-serv[er|ice] interfaces have proven popular on Teton-supported programs
         – Especially for defining/building “collocated” services (class libraries) in a language independent
           fashion using an IDL “interface” definition as the service specification



         DDS4CCM Arguably is a Real-Time SOA, DDS Alone Only “Supports” a SOA
12
SOA Shortcomings When Using DDS Alone

     • No concept of a “service” as a grouping of like functionality, and thus no service
       discovery
         – Only data discovery, topics and lots of message definitions per DDS’s data vs. service orientation

     • No concept of an "interface" as a grouping of commonly handled DDS-only
       message types
         – The concept of a deployable service would need to be built as a non-standard custom entity

     • Common request-response information exchange patterns would be much
       messier to implement due to potentially many required topics per “service”
         – Topic pairs for each request and response message type, and separate pairs for each service operation
         – Would need to be encapsulated under a proprietary, non-standard abstraction to be workable
         – Requires custom application layer header fields to support request-response message correlation

     • No support for an RPC (Remote Procedure Call) programming model
         – RPC is the assumed IPC model in UML-based OO/distributed-object design tools, barring
           profiles/stereotypes to support events and message passing unique to pub-sub
         – Without custom DDS extensions, only “DOC” style, message-oriented services would be available

     • No open standards based "well defined” service interface available for DDS
         – DDS does not support IDL “interface” definitions, so a custom documentation standard would be needed

     • Cannot claim the politically advantageous mantle of being a “Real-Time SOA”
     • SOA "workflows" would be more difficult to build
13       – Best defined using branching sequences of synchronous RPC calls & returns combined with mediation
CBA – Component Based Architecture

                                                                                                 CBA
     • Recent DoD OA/MOSA specs, program requirements and reference
       architectures usually mandate the development/use of software
       “components”
         – Typically interpreted as meaning “modular,” rather than necessarily mandating the use of
           a formal, standards-based component framework
         – However, NGC customer presentations proposing a standards-based component
           framework (DDS4CCM), rather than a custom one, have been very well received

     • Adds the ability to formally define the Structural architecture model
         – SNA has adopted an architecture definition that encompasses separate Behavioral,
           Structural, Concurrency and Resource models (per SSCI, ATAM), supported by Module,
           Component & Connector (C&C) and Allocation architecture styles & views
         – Concurrency and Resource models greatly enhanced by DDS4CCM as well
              • Per C&C Assembly, Deployment and Domain diagrams, and standard XML artifacts
                generated from them, compatible with the OMG CCM and D&C specifications

     • Brings many advantages to an architecture above and beyond powerful,
       interoperable messaging middleware such as DDS

           DDS4CCM Satisfies the CBA Architectural Tenet, DDS Alone Does Not
14
Why Component Based Development (CBD)?


     • Modularity
         – Components can be independently updated or replaced without affecting
           the rest of a system
         – CBD adheres to the time-tested “black box” design methodology
     • Reuse
         – Software is reusable at the component level, vs. a full system level
         – A component reuse library such as OER is a key element
     • Interoperability
         – Container-based development ensures interoperability between application components
                                                                                                       Beyond OO
     • Extensibility
         – A CBA (Component Based Architecture) is inherently loosely-coupled, supporting easier
           extensibility of component and system functionality
     • Reduced Complexity
         – Encapsulation, modularity, separation of concerns and the establishment of hierarchical
           component dependencies, or “layers”, all contribute to reduced design & system complexity
     • Reduced Design Time
         – Faster time-to-market, shortened program/software development schedules
         – Focus changed to composition of a software-intensive system, vs. all new design
     • Lower Design & Maintenance Costs
         – Result of shorter design times, reuse, less complexity
     • Quality & Reliability
         – Reuse and test/maintenance at the component level vs. at a monolithic system level
15
SNA Component Based Architecture (CBA)
     Notation Overview for Component-Based DDS

                                What is a Software Component?
     • Independently revisable unit of software with a well defined interface
     • Well defined interfaces are called “ports”
     • Able to be packaged into an independently installable set of hierarchically defined files
     • Smallest decomposable unit that defines standard ports is called a “monolithic component”
     • A “component assembly” is a higher level aggregation of monolithic components or other
       component assemblies
     • A component/assembly defines an aggregation of multiple ports




                              Basic CBDDS CBA Symbology & Terms used on SNA
16
CBA Shortcomings When Using DDS Alone
     (1 of 2)


     • No formal concept and implementation of a software "component“ as a reusable
       software module with well-defined and controlled interfaces/ports
          – CBA offers the promise of modularity, reusability, composition, and many other desirable system
            architecture features
          – Modularity and reuse, particularly when implemented via standards-based components, is the
            most desirable feature that our customers really want/assume when they say "SOA“
          – Formal specification of a component via IDL3 is valuable (vs. some ad-hoc/proprietary method)

     • No support for the concept of an application "container“ as a standard execution
       environment for component business logic
          – Encapsulation of tedious boilerplate setup code and lower level middleware details
          – Underlying interface with system management and security services
          – Ability to transparently initialize and integrate other core services
          – A consistent event-driven architecture (EDA) programming model built into the container
          – Encapsulation of event dispatch and threading issues (big portability advantage)

     • No standard defined for deployment via System Management Services (SMS)
          – For instance the OMG D&C open-standard specification – no equivalent for DDS alone
          – Offers a standards-based method for starting/stopping/modifying a distributed software system
          – Use of the DAnCE implementation of the D&C spec Execution Model is a huge plus that comes
            with CCM and CBA
17
CBA Shortcomings When Using DDS Alone
     (2 of 2)


     • Lack of a rich tool suite for managing the full life cycle of software components
       in a CBA
          – Separation of design from deployment is particularly valuable for reuse
               • MDA tools exist to support these phases independently
          – Component attributes settable via a deployment planning tool offer excellent ability to
            easily configure system operation, post-design
          – CBA and its independent, formal deployment planning phase change the system
            development focus from design to composition of new high-level capabilities using pre-
            existing components as “software parts”
     • Lack of a common graphical notation for describing the Structural architecture
          – See example on next slide – extremely useful for cross-program understanding and
            reuse
     • No concept of component “assemblies”
          – Come with associated tool & file format standards for software packaging & deployment
            preparation
          – Useful for specification of deployable instances, as well as source code organization and
            sharing via component reuse libraries
     • No standard file format for describing a deployment
          – OMG D&C spec CDD (Component Domain Descriptor) and CDP (Component
            Deployment Plan) files used for CBDDS
18
Real Time Software Component Framework
     Layered Infrastructure – Notional System Design
                            Ref.                                Notional Reference                                                                                       Real-Time (RT) Software
     Sender                                   Reference
     Adapter                                  Controller        Model Component                                             System                                       Component Framework
                                                                                                                           Controller
                                                                     Diagram
                Control                                                                                                                                                • MDE PIM design transforms
                Services                                                                                           Products
                                                                                                                  & Reports
                                                                                                                                                                         to OMG CCM+DDS PSM




                                                                                                                                    Timing & GPS
                                                                                                                                                   Tasking
     Device                 Device
                                                       Control & Status                                                                                                • Working with OA RT
     Adapter               Controller
                                                       System Timing
                                                                                                                                                                         middleware community &
                                                                                                                                                                         OMG to advance CBDDS for
                Control
                Services                                                                                                                                                 HPC apps
                                                                                                    Reports                                                            • CBD tooling support
     Receiver                                                             Signal                                             Control
     Adapter
                              Raw Data
                                             Preprocessing
                                                             Data
                                                                        Processing
                                                                                                    Products
                                                                                                                           Processing                                  • Common framework used
                                                                                                                                                                         for both GP & SP apps
                                                                              Data                       System                                              Control
                                                                                                                                                             Service
                                                                                                                                                                       • Supports both SOA & EDA
            Port Role Key                                                                                Timing
                                                                                                                                                                         architecture patterns
                                                                                                                               Display
                                                                         Record /
        Service Port       Subscriber Port
                                                                         Playback
                                                                                                                                                                       • Well defined port interfaces
                                                                                                                                HMI
        Client Port        Publisher Port                                 Service                                                                                        specified in IDL3+
                                                                                                                                                                       • OA APIs used directly by
Layered Architecture                                                                                                                                                     components


                                                                                                                  Processing




                                                                                                                                           Processing
           View 1                                     View 2                                         Controller                                                        • External I/O & device
                                                                              Receiver
                                                                    Adapter

                                                                              Adapter

                                                                                          Adapter




                                                                                                                                             Control
                                                                                          Sender
                                                                    Device




                                                                                                      Device

                                                                                                                    Signal




                                                                                                                                                                HMI
                                                                                                                                                                         adapters may access OS
                                                      Application
                                                     Components                                                                                                          layer in lieu of proprietary
                                                                                              Open Standard APIs                                                         isolation layer (full OA)
                                                      Real-Time           Control                             Data                                 Adapter             • Portable VSIPL++ math
                                                     Component
                                                     Framework
                                                                        Middleware                         Middleware                              Access              • OA sensor applications
                                                                                         OS & Drivers (POSIX/ACE)
                                                                                                                                                                         successfully being built on
                                                                                                                                                                         this emerging OA RT
19                                                                     Mainstream Market Driven (MMD) Hardware
                                                                                                                                                                         component framework
New CBDDS Tooling Offers a Formal Architecture
     Description Language (ADL) Enabling the Graphical
     Specification of a Structural Architecture

     • Formal ADL enables auto-generation of a large percentage
       of the operational software for a software intensive system
     • CBA CCM graphical notations and component diagrams are
       proving to be invaluable as a common cross-program
       means of describing and sharing architectures and
       components
     • C&C Assembly, Domain and Deployment diagrams very
       useful as specific, standard architecture views
          – Component diagrams offer a “software schematic” view of
            intended system composition using standard software parts
              • Very similar to hardware schematics connecting standard
                  hardware parts
              • Connections drawn in an MDA modeling tool are
                  automatically established during the deployment launch
                  phase – big time/code savings to developers
          – Domain diagrams capture aspects of system resource
            utilization
          – Deployment diagrams define key elements of both the
            Resource and Concurrency architecture models
     • The next 4 slides are included to illustrate the power of
       having a common CBDDS graphical ADL to represent
       alternative SOA/EDA architecture patterns
          – System optimization, tradeoffs, alternative deployment of same
            component designs
20
CBA Design Patterns – State Distribution 1
     Stateful SOA & Alternative Pub-Sub Approaches
                                                                                                                    Optimizing Client Access Latency
                                                                                                                                     Store incoming state event




      Assumptions:
      • Periodic state data (e.g., GPS) is arriving from outside the system – it must be ingested and stored (keep state history)
      • The state data must be normalized to internal CBDDS formats and protocols (per Adapter) before use by client components
      • Clients exist throughout a distributed system that need on-demand access to the collected state data through a value-added service that
        returns massaged or indexed state data (e.g., interpolations, latest average, etc.)
      • Examples 1a, b & c are concerned with optimizing on-demand client access latency to incoming state data, not overall latency
21
CBA Design Patterns – State Distribution 1
     Embassy Pattern Approach
                                                  Optimizing Client Access Latency
                                                               Store incoming state event




22
CBA Design Patterns – State Distribution 2
     Pub-Sub with Single Stateless Service Approach
                                                                                                  Optimizing Overall Latency w/Service Support
                                                                                                   Distribute incoming state event all the way to client vs. memory




        Assumptions:
        • Periodic state data (e.g., GPS) is arriving from outside the system – it must be ingested and stored (keep state history)
        • The state data must be normalized to internal CBDDS formats and protocols (per Adapter) before use by client components
        • Clients exist throughout a distributed system that need immediate access to the incoming state data, as well as on-demand access to a
          value-added service that returns massaged or indexed state data (e.g., interpolations, latest average, etc.)
        • Unlike the prior 1a, b & c examples, 2a & b are concerned with optimizing overall latency to incoming state data events so that client
          components get the state change event ASAP
          • In the prior examples, the incoming state change event propagated only so far as the State Memory and then stopped
          • A separate (unspecified) event prompted the client components to make a service call to access the collective stored state data (which
            could be quite stale)
          • The goal in the prior 1a, b & c examples was to minimize the time from the client call until value-added data was returned, whereas for 2a
            & b we are trying to minimize the time from external state event arrival until the client has access to it
23
CBA Design Patterns – State Distribution 2
     Pub-Sub with Distributed Stateless Service Approach
                                                   Optimizing Overall Latency w/Service Support
                                                    Distribute incoming state event all the way to client vs. memory




24
DDS4CCM Connector Implementation
     Logical View Expanded to Basic Port View Showing Fragments
                                                                       TopicX using DDS_Event Connector
                            DDS_Write                                                                                                         DDS_Listen

                                                                                                                                                ServiceA

       Component A          ServiceB                                                                                                                            Component B
                            DDS_Read                                                                                                      DDS_Update


                                                                       TopicY using DDS_State Connector
                                                                                                                                                                  Logical View
                                                                                                                                                              Basic Port View

                        Writer                                                                                                                   Listener
                                                       DDS_Event                     DDS
         DDS_Write      DDS::DataWriter                 Connector                    RTPS                                                         Reader
                                                       DDS_Write
                                                       Component
                                                        Fragment                     TopicX                                         DataListenerControl
                                         domain_id                                                                 DDS_Event
                                                                                                                                     PortStatusListener          DDS_Listen
                                         qos_profile                                                               Connector
                                        topic_name                                                                 Component         DDS::DataReader
                                                                                                                    Fragment
                                                                                                                                    ContentFilterSetting

                            ServiceB                                                                      filter
       Component A                                                                                                              domain_id                        Component B
                                                                                                                                qos_profile
                                                                                    CORBA                          DDS_Listen
                                                                                                                                topic_name
                                                                                     IIOP                                                       ServiceA

                                        Reader
                                                       DDS_State
                            ContentFilterSetting
                                                       Connector
         DDS_Read                                      Component                     DDS
                             PortStatusListener                                      RTPS                          DDS_State       Updater
                                                        Fragment
                             DDS::DataReader                                                                       Connector                                     DDS_Update
                                                                                     TopicY                                        DDS::DataWriter
                                                                                                                   Component
                                                                                                                    Fragment
                                         domain_id                  filter
                                                                                                                                domain_id
                                         qos_profile                         Complexity Encapsulated                            qos_profile
                                        topic_name                                                                              topic_name
                                                                             Boilerplate Code Auto-
                                          key_fields                                                                            key_fields
      Process/Container A                                                    generated & Abstracted                                                         Process/Container B
25
MDA – Model Driven Architecture

     • Improved support for MDA/MDE is a prominent initiative at NGES                                  MDA
         – Also popular with our DoD customers
     • Design and Deployment Planning Tools for DDS are virtually non-existent
         – Sparx System’s Enterprise Architect (EA) and IBM’s Rhapsody tools support the
           OMG UML4DDS standard
              • Low level UML profile only - has little value in terms of expressing an architecture
         – Strong support exists for run-time DDS tooling, but not Design or Deployment
           Planning
     • CBDDS per DDS4CCM, being component-based, is inherently amenable to
       modular CBD design methodologies, processes & architecture views
         – DDS is “just” a pub-sub middleware, albeit a very powerful one
         – UML-based design tools are inherently OO and extremely oriented toward SOA
           and distributed object architectures, without specific tailoring
     • NGC continues to work with 3 tool providers/vendors to offer full fledged
       tooling support for CBDDS (DDS4CCM)
         – Design, IDE integration, Deployment Planning – not just I&T support
         – Atego’s Artisan Studio (design & deployment), Zeligsoft’s CX for CBDDS (design &
           deployment), DOC Group’s CoSMIC (deployment only)

      DDS4CCM has MDA Tooling & is Extremely Amenable to MDA, DDS Alone is Not
26
A Three-Stage GUI-Based Tool Chain Supports the
     Six-Step Teton SNA CBD Software Lifecycle Process


                          • Artisan Studio                                                                                 • Zeligsoft CX
                          • Zeligsoft CX                                   • Eclipse                                       • Artisan Studio
 Architecture




                                                                                                                                                         Integration,

                                                                                                                                                         Verification
                                                                                                                             Deployment
  & System




                           Design Tool                                           IDE Tool




                                                                                                                                                           System
   Design




                                                                                                                                                            Test &
                                                                                                                            Planning Tool




                1                     2                         3                         4                        5                     6
                System Software                                                                                                               Component
                                          Component                                                                    Component
                    Design &                                      Component                  Component                                       Deployment,
                                           Interface                                                                   Packaging &
                  Component                                     Software Design            Implementation                                    Integration &
                                            Design                                                                      Assembly
                   Definition                                                                                                                    Reuse

                                                                SNA CBD Software Lifecycle Process



                                                                                              Component




                                                                                                                                                             Key
                                            IDL                                               CPP, H       SO                                CDP      CDD    Artifacts


                    • IDE: Integrated Development Environment       • SNA: Scalable Node Architecture            • CDP: Component Deployment Plan
                    • CBD: Component Based Development              • IDL: Interface Definition Language (OMG)   • CDD: Component Domain Descriptor
27
In a DDS-only Solution, the Entire CBA Lifecycle
     Process and Almost All Tools Would be Lost
         • DDS alone only has extensive tooling for run-time debug, but no design tools, no deployment tools
         • DDS alone has no components, no deployment framework, no structure around which to build modularity, portability, reuse or a value-added IDE

                          • Artisan Studio                                                                        • Zeligsoft CX
                          • Zeligsoft CX                             • Eclipse                                    • Artisan Studio
 Architecture




                                                                                                                                                 Integration,

                                                                                                                                                 Verification
                                                                                                                    Deployment
  & System




                          Design Tool                                      IDE Tool




                                                                                                                                                   System
   Design




                                                                                                                                                    Test &
                                                                                                                   Planning Tool

                                                                         New custom build
                                                                          system required



                1                  2                       3                       4                      5                      6
                System Software                                                                                                       Component
                                       Component                                                              Component
                    Design &                                 Component               Component                                       Deployment,
                                        Interface                                                             Packaging &
                  Component                                Software Design         Implementation                                    Integration &
                                         Design                                                                Assembly
                   Definition                                                                                                            Reuse

                                                          SNA CBD Software Lifecycle Process



                                                                                       Component




                                                                                                                                                     Key
                                         IDL    IDL for raw messages                   CPP, H      SO                                CDP     CDD
                                                only – not services or
                                                                                                                                                     Artifacts
                                                reusable components


         • All that’s left to build a tool chain and process are bare middleware libs/APIs amenable to standard OO code-level design
28
MDE Tools are Available to Support CBD for
     CBDDS per New OMG DDS4CCM Spec




                                                            Artisan Studio (Atego)
                                                    UML-based Design & Deployment Planning tool




      Zeligsoft CX (Zeligsoft → PrismTech)
      UML-based Design & Deployment Planning tool




29
Design – Hierarchical Component Diagrams in
     UML Using Artisan Studio




30
Design – Hierarchical Component Diagrams in
     UML Using Artisan Studio




31
Design – Hierarchical Component Diagrams in
     UML Using Artisan Studio




32
Design – Hierarchical Component Diagrams in
     UML Using Zeligsoft CX




33
Design – Hierarchical Component Diagrams in
     UML Using Zeligsoft CX




34
Design – Hierarchical Component Diagrams in
     UML Using Zeligsoft CX




35
Deployment Diagram in Artisan Studio




                                            Deployment diagram that maps component and/or
                                            deployment assembly instances to processes/containers,
                                            and processes to processing nodes (OS instances)
36
Domain Diagram and Deployment Plan in
     Zeligsoft CX




37
Deployment Diagram in CoSMIC




38
OMG IDL Used to Define SNA Software
     Components, Messages and Interfaces
                                                                    *_msg.idl files are #included by *_conn.idl files

                                              *_msg.idl File         *_conn.idl File                *_obj.idl File
                   *_defn.idl files are                                                                                  *_conn.idl & *_obj.idl
                                            *_msg.idl File
                                              IDL “struct”         *_conn.idl File
                                                                     IDL “struct”                 *_obj.idl File
                                                                                                    IDL “interface”
                   #included by *_msg.idl                                                                                files are #included by
 IDL3+ File        & *_obj.idl files        IDL “struct” pub-sub
                                               Defines a           IDL Defines a pub-sub
                                                                       templated                     Defines a client-
                                                                                                  IDL “interface”        *_comp.idl files
                                            Defines (data type)
                                               port a pub-sub      “module”(data type)
                                                                       port                          service port
                                                                                                  Defines a client-
 Taxonomy                                   port (data type)       Defines a connector            service port
 Supported
                                                                                                                           *_comp.idl File
   by Tool             *_defn.idl File                                                                                   *_comp.idl File
                                                                                                                            IDL “component”
  Vendors              IDL primitive                                                                                     IDLDefines a
                                                                                                                             “component”
                       definitions                                                                                          component
                                                                                                                         Defines a
      -                                                                                                                  component
                       Common includes
 5 Standard
 File Types                                           Component                                  Component
                           = Defined By




      • The Object Management Group (OMG) Interface Definition Language (IDL) defines
        pub-sub data types & request-response service interfaces
         • ISO/IEC 14750 | ITU-T Rec. X.920 standard as well
      • Language independent format
         • OMG standards also exist for IDL to C++ mapping, IDL to Java, etc. (new IDL to C++0x in works)
      • A given middleware standard implementation provides an IDL to language compiler
         • Auto-generates language specific code abstracting away transports, serialization/de-serialization
           & endian swapping issues from applications
         • IDL compiler called prior to platform specific language compiler as part of project build
         • Produces client stubs, service servants/executors, and pub/sub message classes
         • Model generated IDL -> IDL compiler generated source = large percentage of design code base
         • SNA currently uses tao_idl and rtiddsgen IDL compilers
39
DDS vs. CBDDS

     • DDS: Data Distribution Service
          – Popular, powerful pub-sub messaging DRE (distributed, real-time, embedded) middleware
          – Offers:
               • OA, EDA                                                                     KEY
               • Interoperability, Performance                                    Offered by both DDS & CBDDS
                                                                                  Offered by CBDDS only
               • Location-independent messaging and state distribution
        Teton        Location    Extensible   Plug and Play                  SOA              EDA              Interoperable
      “String of   Independent         Component
                                                              Net-Centric          MOSA             Scalable
                                                                                                                               MDA
       Pearls”              Dynamic
                                       Based (CBA)
                                                     Reusable       Distributed    Portable     Performant      Secure



     • CBDDS: Component Based DDS
          – Greatly enhanced version of DDS that addresses the standards-based integration of DDS with
            other OA common core services required by all software-intensive system designs
          – Extends DDS to add:
               • SOA, CBA, MDA
               • Reuse, Modularity
                     – Adds structure to your architecture, not just interoperable messaging
               • Portability
                     – Standards-based OMG DDS4CCM abstraction layer for DDS (vendor neutrality,
                       transparent use of alternative middleware standards – not just DDS)
                     – Portable, “container” based execution environment (threading, event queue/dispatch,
                       clean integration of Logging, Time Management and Security)
               • Additional core services – System Management, Service/Client Messaging, PSAT
40
DDS vs. DDS4CCM Summary

                                                                      Teton’s Driving Architectural Tenets
     • DDS alone only addresses the OA and EDA                          • OA    Open Architecture (MOSA)
                                                                        • EDA   Event Driven Architecture (DOA)
       architectural tenets                                             • SOA   Service Oriented Architecture
                                                                        • CBA   Component Based Architecture
     • DDS4CCM adds support for SOA, CBA and MDA                        • MDA   Model Driven Architecture
         – Critical additional features/requirements for Teton
         – DDS alone provides performance & interoperability, but not modularity
         – The additional CBA & MDA promise of reduced development costs & schedules                        is
           not realizable with just DDS
         – Custom/proprietary SOA service definitions and protocols required with just DDS

     • A good case can be made that DDS4CCM (CBDDS) is a Real-Time SOA
         – DDS alone only provides support for a Real-Time SOA

     • No CBA means no standard execution container, auto-gen of boilerplate code
       and no end-to-end development process for SNA
         – No standard modularity – “free for all” process/thread level design and access of OS level
           system resources to duplicate CBA container functionality in a variety of custom ways
         – Greatly reduced software reuse, and thus system development cost & schedule

     • No MDA means no design or deployment planning tools, no modeling support,
       no ADL, no extensive auto-code (IDL) generation
         – Higher development costs, longer program development schedules

        Component-Based DDS (DDS4CCM) Addresses Many More DoD Customer Needs Than DDS Alone
41
DDS vs DDS4CCM

Contenu connexe

Tendances

3GPP_Overall_Architecture_and_Specifications.pdf
3GPP_Overall_Architecture_and_Specifications.pdf3GPP_Overall_Architecture_and_Specifications.pdf
3GPP_Overall_Architecture_and_Specifications.pdfAbubakar416712
 
3.3 gpp NR USER Plane introduction
3.3 gpp NR USER Plane introduction3.3 gpp NR USER Plane introduction
3.3 gpp NR USER Plane introductionSaurabh Verma
 
3GPP 5G SA Detailed explanation 2(5G Network Slice Call Flow)
3GPP 5G SA Detailed explanation 2(5G Network Slice Call Flow)3GPP 5G SA Detailed explanation 2(5G Network Slice Call Flow)
3GPP 5G SA Detailed explanation 2(5G Network Slice Call Flow)Ryuichi Yasunaga
 
IPv6 Address Planning
IPv6 Address PlanningIPv6 Address Planning
IPv6 Address PlanningAPNIC
 
Webinar Keysight: Soluções de Teste para Tecnologias Emergentes 5G-NR e IoT-L...
Webinar Keysight: Soluções de Teste para Tecnologias Emergentes 5G-NR e IoT-L...Webinar Keysight: Soluções de Teste para Tecnologias Emergentes 5G-NR e IoT-L...
Webinar Keysight: Soluções de Teste para Tecnologias Emergentes 5G-NR e IoT-L...Embarcados
 
TechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterTechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterRobb Boyd
 
Beginners: Open RAN, White Box RAN & vRAN
Beginners: Open RAN, White Box RAN & vRANBeginners: Open RAN, White Box RAN & vRAN
Beginners: Open RAN, White Box RAN & vRAN3G4G
 
H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10goforbroke
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area NetworkFernando Palma
 
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020Joe Speed
 
BPF Hardware Offload Deep Dive
BPF Hardware Offload Deep DiveBPF Hardware Offload Deep Dive
BPF Hardware Offload Deep DiveNetronome
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越Kentaro Ebisawa
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & ToolseProsima
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCHChien Cheng Wu
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Michelle Holley
 
【English version】3GPP 5G Standalone Access Registration Call flow_Rev3.00_202...
【English version】3GPP 5G Standalone Access Registration Call flow_Rev3.00_202...【English version】3GPP 5G Standalone Access Registration Call flow_Rev3.00_202...
【English version】3GPP 5G Standalone Access Registration Call flow_Rev3.00_202...Ryuichi Yasunaga
 

Tendances (20)

3GPP_Overall_Architecture_and_Specifications.pdf
3GPP_Overall_Architecture_and_Specifications.pdf3GPP_Overall_Architecture_and_Specifications.pdf
3GPP_Overall_Architecture_and_Specifications.pdf
 
3.3 gpp NR USER Plane introduction
3.3 gpp NR USER Plane introduction3.3 gpp NR USER Plane introduction
3.3 gpp NR USER Plane introduction
 
3GPP 5G SA Detailed explanation 2(5G Network Slice Call Flow)
3GPP 5G SA Detailed explanation 2(5G Network Slice Call Flow)3GPP 5G SA Detailed explanation 2(5G Network Slice Call Flow)
3GPP 5G SA Detailed explanation 2(5G Network Slice Call Flow)
 
IPv6 Address Planning
IPv6 Address PlanningIPv6 Address Planning
IPv6 Address Planning
 
DDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data LinksDDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data Links
 
Flow Monitoring Tools, What do we have, What do we need?
Flow Monitoring Tools, What do we have, What do we need?Flow Monitoring Tools, What do we have, What do we need?
Flow Monitoring Tools, What do we have, What do we need?
 
IIJmio meeting 19 IIJ フルMVNO徹底解説
IIJmio meeting 19 IIJ フルMVNO徹底解説IIJmio meeting 19 IIJ フルMVNO徹底解説
IIJmio meeting 19 IIJ フルMVNO徹底解説
 
Webinar Keysight: Soluções de Teste para Tecnologias Emergentes 5G-NR e IoT-L...
Webinar Keysight: Soluções de Teste para Tecnologias Emergentes 5G-NR e IoT-L...Webinar Keysight: Soluções de Teste para Tecnologias Emergentes 5G-NR e IoT-L...
Webinar Keysight: Soluções de Teste para Tecnologias Emergentes 5G-NR e IoT-L...
 
TechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterTechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the Datacenter
 
Beginners: Open RAN, White Box RAN & vRAN
Beginners: Open RAN, White Box RAN & vRANBeginners: Open RAN, White Box RAN & vRAN
Beginners: Open RAN, White Box RAN & vRAN
 
H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area Network
 
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
 
BPF Hardware Offload Deep Dive
BPF Hardware Offload Deep DiveBPF Hardware Offload Deep Dive
BPF Hardware Offload Deep Dive
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & Tools
 
IIJmio meeting 14 IIJmioタイプAとSIMフリー端末について
IIJmio meeting 14 IIJmioタイプAとSIMフリー端末についてIIJmio meeting 14 IIJmioタイプAとSIMフリー端末について
IIJmio meeting 14 IIJmioタイプAとSIMフリー端末について
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCH
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
 
【English version】3GPP 5G Standalone Access Registration Call flow_Rev3.00_202...
【English version】3GPP 5G Standalone Access Registration Call flow_Rev3.00_202...【English version】3GPP 5G Standalone Access Registration Call flow_Rev3.00_202...
【English version】3GPP 5G Standalone Access Registration Call flow_Rev3.00_202...
 

Similaire à DDS vs DDS4CCM

Michel izygon
Michel izygonMichel izygon
Michel izygonNASAPMC
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSSupreet Oberoi
 
Gef 2012 InduSoft Presentation
Gef 2012  InduSoft PresentationGef 2012  InduSoft Presentation
Gef 2012 InduSoft PresentationAVEVA
 
Zeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCZeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCArvind Krishnaa
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
TOSCA - Topology and Orchestration Specification for Cloud Applications
TOSCA  - Topology and Orchestration Specification for Cloud ApplicationsTOSCA  - Topology and Orchestration Specification for Cloud Applications
TOSCA - Topology and Orchestration Specification for Cloud Applicationssdmoser
 
ITExpo West Conference Highlights from Alan Quayle 2012
ITExpo West Conference Highlights from Alan Quayle 2012ITExpo West Conference Highlights from Alan Quayle 2012
ITExpo West Conference Highlights from Alan Quayle 2012Alan Quayle
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13gaborvodics
 
Rebaca Technologies Corporate Overview
Rebaca Technologies Corporate OverviewRebaca Technologies Corporate Overview
Rebaca Technologies Corporate OverviewAvishek Gupta
 
Rebaca Technologies Corporate Overview
Rebaca Technologies Corporate OverviewRebaca Technologies Corporate Overview
Rebaca Technologies Corporate OverviewAvishek Gupta
 
SDN-enhanced Services in Enterprises and Data Centers
SDN-enhanced Services in Enterprises and Data CentersSDN-enhanced Services in Enterprises and Data Centers
SDN-enhanced Services in Enterprises and Data CentersAnees Shaikh
 
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...mfrancis
 
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Remedy IT
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugWSO2
 
SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session WSO2
 

Similaire à DDS vs DDS4CCM (20)

Michel izygon
Michel izygonMichel izygon
Michel izygon
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDS
 
Gef 2012 InduSoft Presentation
Gef 2012  InduSoft PresentationGef 2012  InduSoft Presentation
Gef 2012 InduSoft Presentation
 
Zeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCZeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMC
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
TOSCA - Topology and Orchestration Specification for Cloud Applications
TOSCA  - Topology and Orchestration Specification for Cloud ApplicationsTOSCA  - Topology and Orchestration Specification for Cloud Applications
TOSCA - Topology and Orchestration Specification for Cloud Applications
 
ITExpo West Conference Highlights from Alan Quayle 2012
ITExpo West Conference Highlights from Alan Quayle 2012ITExpo West Conference Highlights from Alan Quayle 2012
ITExpo West Conference Highlights from Alan Quayle 2012
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13
 
Rebaca Technologies Corporate Overview
Rebaca Technologies Corporate OverviewRebaca Technologies Corporate Overview
Rebaca Technologies Corporate Overview
 
Rebaca Technologies Corporate Overview
Rebaca Technologies Corporate OverviewRebaca Technologies Corporate Overview
Rebaca Technologies Corporate Overview
 
eXtremeDB FE
eXtremeDB FEeXtremeDB FE
eXtremeDB FE
 
Cardamom O M G
Cardamom O M GCardamom O M G
Cardamom O M G
 
SDN-enhanced Services in Enterprises and Data Centers
SDN-enhanced Services in Enterprises and Data CentersSDN-enhanced Services in Enterprises and Data Centers
SDN-enhanced Services in Enterprises and Data Centers
 
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
 
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...
 
Cardamom Omg
Cardamom OmgCardamom Omg
Cardamom Omg
 
Cardamom Omg
Cardamom OmgCardamom Omg
Cardamom Omg
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 Aug
 
SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session
 

Plus de Remedy IT

Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachRemedy IT
 
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsRemedy IT
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...Remedy IT
 
Remedy IT Company presentation
Remedy IT Company presentationRemedy IT Company presentation
Remedy IT Company presentationRemedy IT
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialRemedy IT
 
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11Remedy IT
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachRemedy IT
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsRemedy IT
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...Remedy IT
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsRemedy IT
 
ACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overviewACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overviewRemedy IT
 
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...Remedy IT
 
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...Remedy IT
 
DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialDDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialRemedy IT
 
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDSComponent Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDSRemedy IT
 
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsRemedy IT
 
Component Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesComponent Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesRemedy IT
 
UCM Initial Submission presentation
UCM Initial Submission presentationUCM Initial Submission presentation
UCM Initial Submission presentationRemedy IT
 
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...Remedy IT
 
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...Remedy IT
 

Plus de Remedy IT (20)

Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
 
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
 
Remedy IT Company presentation
Remedy IT Company presentationRemedy IT Company presentation
Remedy IT Company presentation
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
 
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
 
ACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overviewACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overview
 
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
 
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
 
DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialDDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorial
 
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDSComponent Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDS
 
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
 
Component Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesComponent Technologies for Fractionated Satellites
Component Technologies for Fractionated Satellites
 
UCM Initial Submission presentation
UCM Initial Submission presentationUCM Initial Submission presentation
UCM Initial Submission presentation
 
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
 
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
 

Dernier

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Dernier (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

DDS vs DDS4CCM

  • 1. The Teton Project DDS vs. DDS4CCM July 13, 2011 Teton SNA Core Team
  • 2. Background Layered Architecture • Object Management Group (OMG) View 1 – International software open standards organization – DDS, CCM, CORBA, UML, SysML, MDA, IDL, D&C, MARTE, MOF, UPDM, XMI, many others… • Data Distribution Service (DDS) – Popular real-time middleware open standard – Publish-Subscribe information exchange Processing Processing Controller – Inherent support for data-oriented Event View 2 Receiver Adapter Adapter Adapter Control Sender Device Device Signal HMI Driven Architecture (EDA) Application Components • CORBA Component Model (CCM) Open Standard APIs Real-Time – Component model extension of the classic Component Control Data Adapter Middleware Middleware Access CORBA 2 real-time middleware open standard Framework OS & Drivers (POSIX/ACE) – Also known as CORBA 3 Mainstream Market Driven (MMD) Hardware – Request-Response information exchange – Inherent support for Service Oriented Until very recently, the CCM & Architecture (SOA) and Component Based DDS complementary middleware Architecture (CBA) standards were not integrated 2
  • 3. DDS for Lightweight CCM (DDS4CCM) Component-Based DDS (CBDDS) • New OMG open standard that integrates the CCM and DDS real-time middleware standards – CCM+DDS real-time component framework – All components and interface ports are well defined and specified in OMG Interface Definition Language (IDL) • Initial Adopted Specification in December 2008 – At July OMG Real-Time Workshop, aided by RTI per an ongoing RTI Architecture Study for Teton that was targeting CCM+DDS – Primary/lead author was Thales, with co-sponsors RTI, PrismTech & Mercury – Entered two FTF (Finalization Task Force) phases, which NGC participated in • Influence over spec evolution primarily through NGC subcontractors – NGC funded the definitive & most advanced reference implementation of the DDS4CCM spec during FTF phase via RTI, Remedy IT and Vanderbilt ISIS – Three working drafts during the FTF phase • Final Available Specification (v1.0) in June 2011 – OMG: http://www.omg.org/spec/dds4ccm/1.0/PDF/ – A draft v1.1 specification is already available on the OMG site 3
  • 4. The Five Architectural Tenets of the Northrop Grumman Electronic Systems’ Teton Project • The 5 key architectural tenets driving the Teton framework are: – OA – Open Architecture • More specifically, the DoD’s MOSA (Modular Open Systems Approach) initiative – EDA – Event Driven Architecture • Often associated with DOA (Data Oriented Architecture) as a complement to SOA, EDA primarily defines the programming model – SOA – Service Oriented Architecture – CBA – Component Based Architecture • Associated industry terms include CBD (Component Based Development) and CBSE (Component Based Software Engineering) – MDA – Model Driven Architecture • CBA is an intrinsic element of SOA, MOSA/OA and MDA Location Extensible Plug and Play SOA EDA Interoperable Independent Net-Centric MOSA/OA Scalable Component MDA Based (CBA) Dynamic Reusable Distributed Portable Performant Secure 4
  • 5. OA – Open Architecture & MOSA OA • Charter tenet for The Teton Project • OA is the foundation of a number of current key contracts at NGES • OA or MOSA in particular mandated in most new DoD RFPs – DoD directives mandate its use in acquisitions • DoD 5001.2: “A modular, open systems approach shall be employed, where feasible” – DoD program managers (our customers) expect it • MOSA is now a generally accepted standard approach • Makes government PMs job easier if contractor can assure MOSA compliance – Good for business • Reduces program execution risk MOSA • Our competitors are using and marketing it Certified Conformance Enabling Environment Open Standards Modular Design Key Interfaces Five Pillars Of 5 MOSA
  • 6. SNA Core Software Services (CSS) APIs for High Performance Computing (HPC) Applications Mission Independent Core Services & APIs for the Teton Scalable Node Architecture (SNA) Pub/Sub Data Config System Pub/Sub Discovery Math Service/Client Time OS Logging Attachment Record / Parameter Management Messaging Services Libraries Messaging Mgmt Abstraction Transfer (PSAT) Playback Access (App Container) • All CSS APIs based upon open standards • The CSS Services & APIs provide the basic programming environment & foundation for all application component designs, offering universal software services – Including General Purpose (GP) and Signal Processing (SP) applications • Core services support mission independent needs of new NGES programs – DDS a key contributor, but many more OA standards needed to address requirements – Component-Based DDS via DDS4CCM addresses even more, but still others are required Both DDS and DDS4CCM Satisfy the Teton OA Architectural Tenet 6
  • 7. SNA APIs – OA Standards & Governance # API Description Open Standard Governance 1 Application Encapsulation of message event handler for service calls, service responses, subscriptions, CCM (CORBA OMG (Object Container timers & other events. Encapsulates business logic/algorithm event callback registration and Component Model), Management (System common component-based functionality such as security, startup, init & shutdown. D&C (Deployment & Group) Management) Embodiment of component ICD & lifecycle management. Configuration) 2 Service/Client Request/response, synchronous/asynchronous, RPC/RMI-based messaging supporting SOA CCM, AMI4CCM OMG Messaging services and clients. Service interfaces defined in OMG IDL. 3 Pub/Sub Publish/subscribe messaging API supporting streaming data and event streams per EDA DDS, DDS4CCM OMG Messaging architectural patterns. Topic data types defined in OMG IDL. 4 Pub/Sub Wideband, high-throughput transport encapsulation extension of DDS for “large data.” DDS4CCM OMG Attachment Combination of DDS for signaling and OFED-based wideband fabric transport (SHMEM, Transfer (PSAT) RDMA, etc.) integrated into a DDS4CCM standard “connector” in the CCM container. 5 Logging Text-based logging system for debug, development, I&T log4cxx Apache 6 Config Parameter Generic access to static [read at startup] user-defined configuration files of hierarchical key- libConfig SourceForge Access value pairs. API lookup of a value string by passing a sequence of key strings. .net 7 Data Generic data record/playback service built on the pub/sub messaging system capabilities & RTSP (Real Time IETF RFC 2326 Record/Playback generic data type definition utilities. Streaming Protocol) 8 Discovery Data & Service directory services supporting dynamic system behavior. Metadata catalog DDS Topics, OMG Services access to available topic and data set descriptor names/attributes (metacards) for data, access DDS4CCM to active service specifications to lookup service endpoints & descriptors for services. 9 Time Access to current, multi-node synchronized system time. Timer event management POSIX & ACE IEEE/ISO/IEC & Management encapsulation. Timers DOC Group 10 Math Libraries Mission independent math libraries supporting common signal & image processing functions VSIPL++ HPEC-SI per a co-processor off-load model. 11 OS Abstraction Access to basic resources managed by the OS, for intra-process component design (vs. the 10 ACE, POSIX DOC Group, CSS APIs, which are primarily inter-process) and driver level access by Adapter components IEEE/ISO/IEC for handling external I/O. Prefer use of ACE OS abstraction layer in System Management API instead for future portability (Linux, Windows, VxWorks, etc.). MOSA APIs used directly by apps with no intermediate proprietary abstraction/shim layer in between 7
  • 8. SNA Platform v1.0 Run-Time HW/SW Stack DDS4CCM Content in Red Visualization Application Component Layer Processing Application Component Layer CCM+DDS Container (CIAO) DDS4CCM Time Math Libs RTSP Data Playback Config Param Access Libs RTSP Data Record Logging Lib Discovery Mgmt Libs (Sourcery (log4cxx) Connector (ACE + VSIPL++ Service Service DDS4CCM DDS4CCM POSIX w/ Expression AMI4CCM SMS (libConfig) PSAT DDS Data & APIs) Templates) (CIAO) (DAnCE) (CIAO) (CIAO) Service Appenders Discovery ALF, CUDA, PTTI & (DDS, Others) Topics OpenCL Time- (RTI) Keeper Time ATLAS, FFTW, Logging CORBA 2.x Libs/ORB IPP, MKL, CML, DDS Libs & Threads (RTI) Services Protocol (TAO) LAPACK, Aggregator OpenMP, BLAS (to log4j Wideband DDS RTPS Message CORBA IIOP Message Config XML) (OFED) Protocol (RTI) Protocol (TAO) Files AltiVec, SSE, DDS OS Abstraction Layer AVX, libSPE TCP Infiniband UDP Infiniband TCP (RTI) (ACE) Security Services (SELinux, IPSec) Operating System, Device Drivers, Network Stack (Linux - Fedora 12) HW & Boot Loader Firmware (Intel x86-64, GPU, IBM Cell, PPC440) 8
  • 9. EDA – Event Driven Architecture EDA • Architecture pattern supporting real-time system design – Hardware analogy: Interrupt-driven vs. Poll-driven design • Primarily defined by the event-driven programming model – Leverage reactor pattern to dispatch incoming “events” to user-registered event handlers, a.k.a. “callback” routines – Most business logic embodied in callbacks, or code called from callbacks • Business logic invoked by real-time events, including: – Incoming subscribed messages (pub-sub events) – Incoming service invocation messages (request-response events) – Asynchronous responses to service invocations by a client (AMI) – Timer events – Exceptions – Other registered activity on file descriptors (FDs) or equivalent (interrupts, AIO, file system activity, socket/pipe activity, etc.) • Typically associated with data-driven design patterns – Pub-sub, streaming data, message passing Both DDS and DDS4CCM (CCM) Satisfy the Teton EDA Architectural Tenet 9
  • 10. SNA Supports EDA & SOA Architecture Patterns Advanced real-time distributed processing systems utilize all of these patterns to some extent, and greatly benefit from combining and using them where appropriate 10
  • 11. SNA Supports Pub-Sub & Request-Response Information Exchange Patterns Advanced real-time distributed processing systems utilize all of these patterns to some extent, and greatly benefit from combining and using them where appropriate 11
  • 12. SOA – Service Oriented Architecture SOA • Desired architecture pattern for most new systems/programs • Specifically called out in DoD reference architectures and directives, particularly for Air Force and Navy systems – Primarily due to the strong influence of web-based enterprise architectures using Java EE or .NET, but the pattern is quite useful in distributed, real-time embedded (DRE) systems as well • Inherently implements the Request-Response information exchange pattern – RPC vs. DOC programming style comes naturally and is desirable to most OO programmers • Loose coupling and easy composition (workflows) of modular functionality • Services as groupings of common functionality with a well-defined interface, defined by a single service specification – Captured and looked up in a service registry (e.g., UDDI, CORBA Naming Service, LDAP, or Directory Services built with DDS per the SNA Platform) • Client-serv[er|ice] interfaces have proven popular on Teton-supported programs – Especially for defining/building “collocated” services (class libraries) in a language independent fashion using an IDL “interface” definition as the service specification DDS4CCM Arguably is a Real-Time SOA, DDS Alone Only “Supports” a SOA 12
  • 13. SOA Shortcomings When Using DDS Alone • No concept of a “service” as a grouping of like functionality, and thus no service discovery – Only data discovery, topics and lots of message definitions per DDS’s data vs. service orientation • No concept of an "interface" as a grouping of commonly handled DDS-only message types – The concept of a deployable service would need to be built as a non-standard custom entity • Common request-response information exchange patterns would be much messier to implement due to potentially many required topics per “service” – Topic pairs for each request and response message type, and separate pairs for each service operation – Would need to be encapsulated under a proprietary, non-standard abstraction to be workable – Requires custom application layer header fields to support request-response message correlation • No support for an RPC (Remote Procedure Call) programming model – RPC is the assumed IPC model in UML-based OO/distributed-object design tools, barring profiles/stereotypes to support events and message passing unique to pub-sub – Without custom DDS extensions, only “DOC” style, message-oriented services would be available • No open standards based "well defined” service interface available for DDS – DDS does not support IDL “interface” definitions, so a custom documentation standard would be needed • Cannot claim the politically advantageous mantle of being a “Real-Time SOA” • SOA "workflows" would be more difficult to build 13 – Best defined using branching sequences of synchronous RPC calls & returns combined with mediation
  • 14. CBA – Component Based Architecture CBA • Recent DoD OA/MOSA specs, program requirements and reference architectures usually mandate the development/use of software “components” – Typically interpreted as meaning “modular,” rather than necessarily mandating the use of a formal, standards-based component framework – However, NGC customer presentations proposing a standards-based component framework (DDS4CCM), rather than a custom one, have been very well received • Adds the ability to formally define the Structural architecture model – SNA has adopted an architecture definition that encompasses separate Behavioral, Structural, Concurrency and Resource models (per SSCI, ATAM), supported by Module, Component & Connector (C&C) and Allocation architecture styles & views – Concurrency and Resource models greatly enhanced by DDS4CCM as well • Per C&C Assembly, Deployment and Domain diagrams, and standard XML artifacts generated from them, compatible with the OMG CCM and D&C specifications • Brings many advantages to an architecture above and beyond powerful, interoperable messaging middleware such as DDS DDS4CCM Satisfies the CBA Architectural Tenet, DDS Alone Does Not 14
  • 15. Why Component Based Development (CBD)? • Modularity – Components can be independently updated or replaced without affecting the rest of a system – CBD adheres to the time-tested “black box” design methodology • Reuse – Software is reusable at the component level, vs. a full system level – A component reuse library such as OER is a key element • Interoperability – Container-based development ensures interoperability between application components Beyond OO • Extensibility – A CBA (Component Based Architecture) is inherently loosely-coupled, supporting easier extensibility of component and system functionality • Reduced Complexity – Encapsulation, modularity, separation of concerns and the establishment of hierarchical component dependencies, or “layers”, all contribute to reduced design & system complexity • Reduced Design Time – Faster time-to-market, shortened program/software development schedules – Focus changed to composition of a software-intensive system, vs. all new design • Lower Design & Maintenance Costs – Result of shorter design times, reuse, less complexity • Quality & Reliability – Reuse and test/maintenance at the component level vs. at a monolithic system level 15
  • 16. SNA Component Based Architecture (CBA) Notation Overview for Component-Based DDS What is a Software Component? • Independently revisable unit of software with a well defined interface • Well defined interfaces are called “ports” • Able to be packaged into an independently installable set of hierarchically defined files • Smallest decomposable unit that defines standard ports is called a “monolithic component” • A “component assembly” is a higher level aggregation of monolithic components or other component assemblies • A component/assembly defines an aggregation of multiple ports Basic CBDDS CBA Symbology & Terms used on SNA 16
  • 17. CBA Shortcomings When Using DDS Alone (1 of 2) • No formal concept and implementation of a software "component“ as a reusable software module with well-defined and controlled interfaces/ports – CBA offers the promise of modularity, reusability, composition, and many other desirable system architecture features – Modularity and reuse, particularly when implemented via standards-based components, is the most desirable feature that our customers really want/assume when they say "SOA“ – Formal specification of a component via IDL3 is valuable (vs. some ad-hoc/proprietary method) • No support for the concept of an application "container“ as a standard execution environment for component business logic – Encapsulation of tedious boilerplate setup code and lower level middleware details – Underlying interface with system management and security services – Ability to transparently initialize and integrate other core services – A consistent event-driven architecture (EDA) programming model built into the container – Encapsulation of event dispatch and threading issues (big portability advantage) • No standard defined for deployment via System Management Services (SMS) – For instance the OMG D&C open-standard specification – no equivalent for DDS alone – Offers a standards-based method for starting/stopping/modifying a distributed software system – Use of the DAnCE implementation of the D&C spec Execution Model is a huge plus that comes with CCM and CBA 17
  • 18. CBA Shortcomings When Using DDS Alone (2 of 2) • Lack of a rich tool suite for managing the full life cycle of software components in a CBA – Separation of design from deployment is particularly valuable for reuse • MDA tools exist to support these phases independently – Component attributes settable via a deployment planning tool offer excellent ability to easily configure system operation, post-design – CBA and its independent, formal deployment planning phase change the system development focus from design to composition of new high-level capabilities using pre- existing components as “software parts” • Lack of a common graphical notation for describing the Structural architecture – See example on next slide – extremely useful for cross-program understanding and reuse • No concept of component “assemblies” – Come with associated tool & file format standards for software packaging & deployment preparation – Useful for specification of deployable instances, as well as source code organization and sharing via component reuse libraries • No standard file format for describing a deployment – OMG D&C spec CDD (Component Domain Descriptor) and CDP (Component Deployment Plan) files used for CBDDS 18
  • 19. Real Time Software Component Framework Layered Infrastructure – Notional System Design Ref. Notional Reference Real-Time (RT) Software Sender Reference Adapter Controller Model Component System Component Framework Controller Diagram Control • MDE PIM design transforms Services Products & Reports to OMG CCM+DDS PSM Timing & GPS Tasking Device Device Control & Status • Working with OA RT Adapter Controller System Timing middleware community & OMG to advance CBDDS for Control Services HPC apps Reports • CBD tooling support Receiver Signal Control Adapter Raw Data Preprocessing Data Processing Products Processing • Common framework used for both GP & SP apps Data System Control Service • Supports both SOA & EDA Port Role Key Timing architecture patterns Display Record / Service Port Subscriber Port Playback • Well defined port interfaces HMI Client Port Publisher Port Service specified in IDL3+ • OA APIs used directly by Layered Architecture components Processing Processing View 1 View 2 Controller • External I/O & device Receiver Adapter Adapter Adapter Control Sender Device Device Signal HMI adapters may access OS Application Components layer in lieu of proprietary Open Standard APIs isolation layer (full OA) Real-Time Control Data Adapter • Portable VSIPL++ math Component Framework Middleware Middleware Access • OA sensor applications OS & Drivers (POSIX/ACE) successfully being built on this emerging OA RT 19 Mainstream Market Driven (MMD) Hardware component framework
  • 20. New CBDDS Tooling Offers a Formal Architecture Description Language (ADL) Enabling the Graphical Specification of a Structural Architecture • Formal ADL enables auto-generation of a large percentage of the operational software for a software intensive system • CBA CCM graphical notations and component diagrams are proving to be invaluable as a common cross-program means of describing and sharing architectures and components • C&C Assembly, Domain and Deployment diagrams very useful as specific, standard architecture views – Component diagrams offer a “software schematic” view of intended system composition using standard software parts • Very similar to hardware schematics connecting standard hardware parts • Connections drawn in an MDA modeling tool are automatically established during the deployment launch phase – big time/code savings to developers – Domain diagrams capture aspects of system resource utilization – Deployment diagrams define key elements of both the Resource and Concurrency architecture models • The next 4 slides are included to illustrate the power of having a common CBDDS graphical ADL to represent alternative SOA/EDA architecture patterns – System optimization, tradeoffs, alternative deployment of same component designs 20
  • 21. CBA Design Patterns – State Distribution 1 Stateful SOA & Alternative Pub-Sub Approaches Optimizing Client Access Latency Store incoming state event Assumptions: • Periodic state data (e.g., GPS) is arriving from outside the system – it must be ingested and stored (keep state history) • The state data must be normalized to internal CBDDS formats and protocols (per Adapter) before use by client components • Clients exist throughout a distributed system that need on-demand access to the collected state data through a value-added service that returns massaged or indexed state data (e.g., interpolations, latest average, etc.) • Examples 1a, b & c are concerned with optimizing on-demand client access latency to incoming state data, not overall latency 21
  • 22. CBA Design Patterns – State Distribution 1 Embassy Pattern Approach Optimizing Client Access Latency Store incoming state event 22
  • 23. CBA Design Patterns – State Distribution 2 Pub-Sub with Single Stateless Service Approach Optimizing Overall Latency w/Service Support Distribute incoming state event all the way to client vs. memory Assumptions: • Periodic state data (e.g., GPS) is arriving from outside the system – it must be ingested and stored (keep state history) • The state data must be normalized to internal CBDDS formats and protocols (per Adapter) before use by client components • Clients exist throughout a distributed system that need immediate access to the incoming state data, as well as on-demand access to a value-added service that returns massaged or indexed state data (e.g., interpolations, latest average, etc.) • Unlike the prior 1a, b & c examples, 2a & b are concerned with optimizing overall latency to incoming state data events so that client components get the state change event ASAP • In the prior examples, the incoming state change event propagated only so far as the State Memory and then stopped • A separate (unspecified) event prompted the client components to make a service call to access the collective stored state data (which could be quite stale) • The goal in the prior 1a, b & c examples was to minimize the time from the client call until value-added data was returned, whereas for 2a & b we are trying to minimize the time from external state event arrival until the client has access to it 23
  • 24. CBA Design Patterns – State Distribution 2 Pub-Sub with Distributed Stateless Service Approach Optimizing Overall Latency w/Service Support Distribute incoming state event all the way to client vs. memory 24
  • 25. DDS4CCM Connector Implementation Logical View Expanded to Basic Port View Showing Fragments TopicX using DDS_Event Connector DDS_Write DDS_Listen ServiceA Component A ServiceB Component B DDS_Read DDS_Update TopicY using DDS_State Connector Logical View Basic Port View Writer Listener DDS_Event DDS DDS_Write DDS::DataWriter Connector RTPS Reader DDS_Write Component Fragment TopicX DataListenerControl domain_id DDS_Event PortStatusListener DDS_Listen qos_profile Connector topic_name Component DDS::DataReader Fragment ContentFilterSetting ServiceB filter Component A domain_id Component B qos_profile CORBA DDS_Listen topic_name IIOP ServiceA Reader DDS_State ContentFilterSetting Connector DDS_Read Component DDS PortStatusListener RTPS DDS_State Updater Fragment DDS::DataReader Connector DDS_Update TopicY DDS::DataWriter Component Fragment domain_id filter domain_id qos_profile Complexity Encapsulated qos_profile topic_name topic_name Boilerplate Code Auto- key_fields key_fields Process/Container A generated & Abstracted Process/Container B 25
  • 26. MDA – Model Driven Architecture • Improved support for MDA/MDE is a prominent initiative at NGES MDA – Also popular with our DoD customers • Design and Deployment Planning Tools for DDS are virtually non-existent – Sparx System’s Enterprise Architect (EA) and IBM’s Rhapsody tools support the OMG UML4DDS standard • Low level UML profile only - has little value in terms of expressing an architecture – Strong support exists for run-time DDS tooling, but not Design or Deployment Planning • CBDDS per DDS4CCM, being component-based, is inherently amenable to modular CBD design methodologies, processes & architecture views – DDS is “just” a pub-sub middleware, albeit a very powerful one – UML-based design tools are inherently OO and extremely oriented toward SOA and distributed object architectures, without specific tailoring • NGC continues to work with 3 tool providers/vendors to offer full fledged tooling support for CBDDS (DDS4CCM) – Design, IDE integration, Deployment Planning – not just I&T support – Atego’s Artisan Studio (design & deployment), Zeligsoft’s CX for CBDDS (design & deployment), DOC Group’s CoSMIC (deployment only) DDS4CCM has MDA Tooling & is Extremely Amenable to MDA, DDS Alone is Not 26
  • 27. A Three-Stage GUI-Based Tool Chain Supports the Six-Step Teton SNA CBD Software Lifecycle Process • Artisan Studio • Zeligsoft CX • Zeligsoft CX • Eclipse • Artisan Studio Architecture Integration, Verification Deployment & System Design Tool IDE Tool System Design Test & Planning Tool 1 2 3 4 5 6 System Software Component Component Component Design & Component Component Deployment, Interface Packaging & Component Software Design Implementation Integration & Design Assembly Definition Reuse SNA CBD Software Lifecycle Process Component Key IDL CPP, H SO CDP CDD Artifacts • IDE: Integrated Development Environment • SNA: Scalable Node Architecture • CDP: Component Deployment Plan • CBD: Component Based Development • IDL: Interface Definition Language (OMG) • CDD: Component Domain Descriptor 27
  • 28. In a DDS-only Solution, the Entire CBA Lifecycle Process and Almost All Tools Would be Lost • DDS alone only has extensive tooling for run-time debug, but no design tools, no deployment tools • DDS alone has no components, no deployment framework, no structure around which to build modularity, portability, reuse or a value-added IDE • Artisan Studio • Zeligsoft CX • Zeligsoft CX • Eclipse • Artisan Studio Architecture Integration, Verification Deployment & System Design Tool IDE Tool System Design Test & Planning Tool New custom build system required 1 2 3 4 5 6 System Software Component Component Component Design & Component Component Deployment, Interface Packaging & Component Software Design Implementation Integration & Design Assembly Definition Reuse SNA CBD Software Lifecycle Process Component Key IDL IDL for raw messages CPP, H SO CDP CDD only – not services or Artifacts reusable components • All that’s left to build a tool chain and process are bare middleware libs/APIs amenable to standard OO code-level design 28
  • 29. MDE Tools are Available to Support CBD for CBDDS per New OMG DDS4CCM Spec Artisan Studio (Atego) UML-based Design & Deployment Planning tool Zeligsoft CX (Zeligsoft → PrismTech) UML-based Design & Deployment Planning tool 29
  • 30. Design – Hierarchical Component Diagrams in UML Using Artisan Studio 30
  • 31. Design – Hierarchical Component Diagrams in UML Using Artisan Studio 31
  • 32. Design – Hierarchical Component Diagrams in UML Using Artisan Studio 32
  • 33. Design – Hierarchical Component Diagrams in UML Using Zeligsoft CX 33
  • 34. Design – Hierarchical Component Diagrams in UML Using Zeligsoft CX 34
  • 35. Design – Hierarchical Component Diagrams in UML Using Zeligsoft CX 35
  • 36. Deployment Diagram in Artisan Studio Deployment diagram that maps component and/or deployment assembly instances to processes/containers, and processes to processing nodes (OS instances) 36
  • 37. Domain Diagram and Deployment Plan in Zeligsoft CX 37
  • 39. OMG IDL Used to Define SNA Software Components, Messages and Interfaces *_msg.idl files are #included by *_conn.idl files *_msg.idl File *_conn.idl File *_obj.idl File *_defn.idl files are *_conn.idl & *_obj.idl *_msg.idl File IDL “struct” *_conn.idl File IDL “struct” *_obj.idl File IDL “interface” #included by *_msg.idl files are #included by IDL3+ File & *_obj.idl files IDL “struct” pub-sub Defines a IDL Defines a pub-sub templated Defines a client- IDL “interface” *_comp.idl files Defines (data type) port a pub-sub “module”(data type) port service port Defines a client- Taxonomy port (data type) Defines a connector service port Supported *_comp.idl File by Tool *_defn.idl File *_comp.idl File IDL “component” Vendors IDL primitive IDLDefines a “component” definitions component Defines a - component Common includes 5 Standard File Types Component Component = Defined By • The Object Management Group (OMG) Interface Definition Language (IDL) defines pub-sub data types & request-response service interfaces • ISO/IEC 14750 | ITU-T Rec. X.920 standard as well • Language independent format • OMG standards also exist for IDL to C++ mapping, IDL to Java, etc. (new IDL to C++0x in works) • A given middleware standard implementation provides an IDL to language compiler • Auto-generates language specific code abstracting away transports, serialization/de-serialization & endian swapping issues from applications • IDL compiler called prior to platform specific language compiler as part of project build • Produces client stubs, service servants/executors, and pub/sub message classes • Model generated IDL -> IDL compiler generated source = large percentage of design code base • SNA currently uses tao_idl and rtiddsgen IDL compilers 39
  • 40. DDS vs. CBDDS • DDS: Data Distribution Service – Popular, powerful pub-sub messaging DRE (distributed, real-time, embedded) middleware – Offers: • OA, EDA KEY • Interoperability, Performance Offered by both DDS & CBDDS Offered by CBDDS only • Location-independent messaging and state distribution Teton Location Extensible Plug and Play SOA EDA Interoperable “String of Independent Component Net-Centric MOSA Scalable MDA Pearls” Dynamic Based (CBA) Reusable Distributed Portable Performant Secure • CBDDS: Component Based DDS – Greatly enhanced version of DDS that addresses the standards-based integration of DDS with other OA common core services required by all software-intensive system designs – Extends DDS to add: • SOA, CBA, MDA • Reuse, Modularity – Adds structure to your architecture, not just interoperable messaging • Portability – Standards-based OMG DDS4CCM abstraction layer for DDS (vendor neutrality, transparent use of alternative middleware standards – not just DDS) – Portable, “container” based execution environment (threading, event queue/dispatch, clean integration of Logging, Time Management and Security) • Additional core services – System Management, Service/Client Messaging, PSAT 40
  • 41. DDS vs. DDS4CCM Summary Teton’s Driving Architectural Tenets • DDS alone only addresses the OA and EDA • OA Open Architecture (MOSA) • EDA Event Driven Architecture (DOA) architectural tenets • SOA Service Oriented Architecture • CBA Component Based Architecture • DDS4CCM adds support for SOA, CBA and MDA • MDA Model Driven Architecture – Critical additional features/requirements for Teton – DDS alone provides performance & interoperability, but not modularity – The additional CBA & MDA promise of reduced development costs & schedules is not realizable with just DDS – Custom/proprietary SOA service definitions and protocols required with just DDS • A good case can be made that DDS4CCM (CBDDS) is a Real-Time SOA – DDS alone only provides support for a Real-Time SOA • No CBA means no standard execution container, auto-gen of boilerplate code and no end-to-end development process for SNA – No standard modularity – “free for all” process/thread level design and access of OS level system resources to duplicate CBA container functionality in a variety of custom ways – Greatly reduced software reuse, and thus system development cost & schedule • No MDA means no design or deployment planning tools, no modeling support, no ADL, no extensive auto-code (IDL) generation – Higher development costs, longer program development schedules Component-Based DDS (DDS4CCM) Addresses Many More DoD Customer Needs Than DDS Alone 41