opendds

 

Concept messaging middleware, distributed data services, RPC, HTTP service, plus a communication mechanism clarify Analysis

 

http://opendds.org/

http://www.dre.vanderbilt.edu/~schmidt/ACE.html

 

concept

https://baike.baidu.com/item/OPENDDS/979069

https://blog.csdn.net/bossxu_linuxer/article/details/81216030

https://blog.csdn.net/xinqingwuji/article/details/72803145

 

OpenDDS is OMG Data Distribution Service (DDS) is an open source implementation that follows the real-time system v1.2 of the DDS specification (OMG Document formal / 07-01-01) and real-time publish / subscribe communications interoperability protocol v2.1 of DDS-RTPS specification (the OMG the Document Formal / 2010-11-01) . OpenDDS by the OCI design and maintenance company, from help OpenDDS community portal http://www.opendds.org/, the latest version has been released for v3.10.

OpenDDS is an open source C ++ realization of the Object Management Group OMG 's data distribution service (DDS) . OpenDDS using adaptive communication environment ( the ACE ) provides a cross-platform environment.

 

OpenDDS is built ACE ( the Adaptive Communication Environment , adaptive communication environment based on a set of C ++ language can be developed in the open source network library), by ACE to ensure cross-platform and portability. OpenDDS while utilizing TAO ( of The ACE the ORB , based ACE based on CORBA implementation framework) to provide IDL

translater

Features such as OpenDDS of DCPS Information Warehouse.

 

ACE concept (C ++ threads library )

https://www.ibm.com/developerworks/cn/aix/library/au-ace/

Adaptive Communication Environment (ACE) is a high performance, open source, object-oriented framework and C ++  class library, which helps to simplify the development of network applications. ACE kit includes an operating system layer, and a network API package of  C ++  appearance (Facades) collection. 

 

Recommended books, The Architecture of Open Source Applications volum 1, 2

 

actor model reference to Wikipedia ( http://en.wikipedia.org/wiki/Actor_model ):

actor is a computing entity, when it receives a message, the following operations may be performed concurrently:

1. The message sent to a limited number of other actor

2. Create a limited number of new actor

3. specify the behavior of the next message received

 

ACE reactor by registered / driven application development model callbacks, to register concern themselves with what event, and then the reactor will callback you when the event occurs. This is actually the actor model is somewhat similar. reactor is defined in Wikipedia as follows ( http://en.wikipedia.org/wiki/Reactor_pattern ):

reactor is a design pattern, for processing an input event and transmits the request to a service processor to a plurality. Request the service processor will receive simultaneous distribution to the appropriate request handler.

By definition, all reactor systems are single-threaded, but can be applied to multi-threaded environment. reactor characteristics of the model control flow is reversed ( Inversed Flow of Control )

 

proactor model may be considered reactor an asynchronous implementation of the model, reactor requires the synchronization request processor receives a request to distribute, rather proactor allows asynchronous processing, the definition ( http://en.wikipedia.org/wiki/Proactor_pattern ):

proactor is event processing design pattern, in this mode, the active long-running asynchronous process in a separate process, after the asynchronous processing technology, a completion handler is called. This is somewhat similar to akka actor model, Future object onComplete , onSuccess , onFailed method.

proactor 's ace realization ( http://www.cs.wustl.edu/~schmidt/PDF/proactor.pdf )

 

Thread why not? Why use the event in place? http://www.stanford.edu/~ouster/cgi-bin/papers/threads.pdf


Guess you like

Origin www.cnblogs.com/lizhensheng/p/11117422.html