TAO (software)

TAO (software)

The ACE ORB (TAO - The Ace Orb) is a freely available, open-source, and standards-compliant real-time C++ implementation of CORBA based upon the Adaptive Communication Environment (ACE). It attempts to provide efficient, predictable, and scalable quality of service (QoS) end-to-end. Unlike conventional implementations of CORBA, which are inefficient, unpredictable, non-scalable, and often non-portable, TAO applies the best software practices and patterns to automate the delivery of high-performance and real-time QoS to distributed applications. TAO is for developers of distributed and embedded applications who have stringent performance demands.

Domain of application

Certain real-time applications have benefited from TAO's use of familiar software concepts to present a solution to challenging real-time software problems. In general, real-time systems require predictable timing characteristics and robustness since they are used in mission-critical domains. Other real-time applications require low development cost and fast time to market. TAO addresses both of these by providing an already-implemented general-purpose communications framework that uses concepts familiar to non-real-time portions of the software industry.

Advantages

Traditionally, the barrier to viable real-time CORBA has been that many real-time challenges are associated with end-to-end system design aspects that transcend the layering boundaries traditionally associated with CORBA. That's why TAO integrates the network interfaces, OS I/O subsystem, ORB, and middleware services in order to provide an end-to-end solution. For instance, consider the CORBA Event Service, which simplifies application software by supporting decoupled suppliers and consumers, asynchronous event delivery, and distributed group communication. TAO enhances the standard CORBA Event Service to provide important features, such as real-time event dispatching and scheduling, periodic event processing, efficient event filtering and correlation mechanisms, and multicast protocols required by real-time applications.

Familiar concepts presented

TAO brings familiar concepts from elsewhere in the software industry to real-time systems. These concepts include CORBA, RPC, an OO presentation, and Berkeley-sockets. In OO, RPC is usually termed “remote method invocation” (RMI), because subroutines or procedures that are directly associated with objects or classes are termed methods, but the concept is fundamentally the same in that the caller at the origin is suspended while the method at the destination object executes. This provides a simplicity of execution of software that can be desirable when subroutine is the idiom that is intended in the design or architecture.

Disadvantages

uspension of execution

TAO, like all CORBA implementations, presents an OO RMI interface to the application. Invoking a subroutine suspends the execution of the superior who is delegating the operation and transfers the sole right to execute to the invoked method at the destination object, the subordinate to which the operation was delegated. Perhaps the caller could go on and perform other activities during that delegated operation, but the caller is suspended, awaiting the final accomplished result from the subordinate.

This becomes especially troublesome when the superior and subordinate are on different processors. Because the superior is suspended and only the subordinate is actively executing, two threads on two processors are occupied in the accomplishment of a single delegated operation. Typically, the counter-measure to this when using RMI/RPC is to increase the number of threads in the superior to match the desired total number of concurrent operations throughout the set of all subordinates. The resources consumed by a thread are typically greater than the resources consumed by communicating each delegated operation to the subordinate. Thus the overhead of concurrency is multiplied when using an RPC/RMI approach when compared to the approach of allowing the superior to continue executing to perform other tasks.

The alternative used by competitors to CORBA is simply to forgo the subroutine model so that the superior continues to execute concurrently with the delegated operations. The superior simply prepares a message that is sent to the subordinate. The subordinate immediately acknowledges the receipt of the message that requests the accomplishment of the delegated operation (without yet starting to accomplish the delegated operation itself). The superior then goes about other business, such as preparing messages for other delegated operations either to that same subordinate or to other subordinates. Each subordinate that has been delegated an operation, enqueues the operation's requesting message in a message queue that corresponds to the message's priority or deadline. A thread (perhaps in a thread pool) dequeues that message from that queue to accomplish the delegated operation. Upon accomplishment, the result is sent as a different message to the superior. The superior processes the result messages similarly to the way the subordinate processed the delegation messages.

TAO provides this alternative through the Asynchronous Method Invocation (AMI) and Asynchronous Method Handling (AMH) mechanisms. AMI is used by clients to make remote invocations without blocking for a response, the reply is received as a callback. AMH is used by servers to delay sending responses, for example, if the server itself needs to wait for other remote calls. AMI is part of the CORBA standard. AMH is a TAO extension to the CORBA specification.

Availability

TAO can be downloaded from the Internet and freely used and redistributed without developer or run-time licensing costs. Commercial support, documentation, training, and consulting for TAO are available from multiple vendors. Many other third-party tools and services have also been integrated with TAO.

TAO has been ported to many operating systems, such as Microsoft Windows, Embedded systems such as VxWorks and LynxOS, high end systems like OpenVMS, and Unix systems such as Solaris and Linux.

ee also

*ACE
*CIAO
*
*ZEN

External links

* [http://www.cs.wustl.edu/~schmidt/TAO.html TAO Homepage]
* [http://download.dre.vanderbilt.edu Download TAO]
* [http://www.theaceorb.nl/ Remedy IT] - commercial support for TAO
* [http://www.theaceorb.nl/ TPG] - TAO Programmers Guide
* [http://www.theaceorb.com/ Object Computing Inc.'s distribution of TAO] - commercially supported version of TAO
* [http://www.prismtech.com/ PrismTech's distribution of TAO] - commercially supported version of TAO


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • TAO (Software) — The ACE ORB (TAO) ist eine freie, Open Source Standard kompatible echtzeitfähige Implementierung von CORBA in C++ basierend auf dem ACE Framework. TAO bietet eine skalierbare Dienstgüte (Quality of Service QoS) für die gesamte… …   Deutsch Wikipedia

  • Delta Tao Software — Type Corporation Industry Computer and video game industry Founded 1990 Headquarters 8032 Twin Oaks Ave, Citrus Heights, CA 95610 Key people Tim Cotter and Joe Williams (Joedelta) …   Wikipedia

  • Delta Tao Software — Logo de Delta Tao Software Dates clés 1990 (fondation) Personnages clés Tim Cotter Joe Williams …   Wikipédia en Français

  • Tao (disambiguation) — Tao is a metaphysical concept found in Taoism, Confucianism, and more generally in ancient Chinese philosophyTao may also refer to: *Tao Te Ching, an ancient Chinese philosophical text *Taoism, a philosophical school and folk religion based on… …   Wikipedia

  • Tao — bezeichnet: in Wade Giles Umschrift den chinesischen Begriff Dao; davon abgeleitet das Daodejing (Tao Te King), eine Sammlung philosophischer und mystischer Aphorismen und Sinnsprüche den Daoismus die thailändische Insel Koh Tao Tao (Lanzarote),… …   Deutsch Wikipedia

  • Tao (homonymie) — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.   Sigles d’une seule lettre   Sigles de deux lettres > Sigles de trois lettres   Sigles de quatre lettres …   Wikipédia en Français

  • Tao Group — Infobox Company company name = Tao Group company company type = Limited company foundation = 1992 location = , England company slogan = Imagine Tomorrow. Tao Group was a software company headquartered in Reading, Berkshire,UK. It developed intent …   Wikipedia

  • List of free and open source software packages — This article is about software free to be modified and distributed. For examples of software free in the monetary sense, see List of freeware. This is a list of free and open source software packages: computer software licensed under free… …   Wikipedia

  • List of open source software packages — This is a list of open source software packages: computer software licensed under an open source license. Software that fits the Free software definition may be more appropriately called free software; the GNU project in particular objects to… …   Wikipedia

  • Comparison of ISO image software — This article is a comparison of notable software applications that can access or manipulate ISO image files. It compares their ISO image handling capabilities. Software Creates[1] Modifies[2] Mounts …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”