Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesAll the World's an Actor


December 1995 / Reviews / Systems Design in ObjecTime / All the World's an Actor

Real-time object-oriented modeling (ROOM) handles objects as either actors or data classes. When developing in ROOM, you usually turn larger objects -- such as systems and processes -- into actors. Passive objects that either manipulate or encapsulate data become data classes. Both actors and data classes have methods and support full inheritance, with optional overrides and exclusions.

You can think of an actor as the fundamental execution unit within ROOM. An actor is an object that encapsulates data (in this case, state variables) as well as actions (or what the ROOM methodology refers to as the actor's behavior). To put it simply, actors do things.

Actors communicate with their e nvironment via ports. (You might find it helpful to think of an actor's ports as being analogous to the I/O ports on your computer.) A port is an interface into the actor through which messages pass. It's the medium of communication among actors. A message is composed of an identifier (i.e., this is a SetThermostat message), as well as message data (i.e., what temperature to set the thermostat to). The valid message types that are able to move through a port define a protocol.

Another important feature of ROOM's actors is that they can be nested; a single large actor that performs various jobs can actually be a container of multiple smaller actors. The internal actors are bound to one another by their ports. Ultimately, some of the internal actors' ports are exposed to the outside world, where they appear as the ports of the container actor.


Actors Communicate Across Rooms

screen _link (49 Kbytes)

In a ROOM-based system, an application consists of communicating actors. The entire application is therefore treated as an actor that contains other actors. Actors communicate via bound ports -- shown as solid lines connecting the representative boxes.

Notice that, in the ObjecTime run-time system, bindings flash to show the exchange of a message between actors.


Up to the Reviews section contentsGo to previous article: Systems Design in ObjecTimeGo to next article: More RAM for Win 3 HoldoutsSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM   
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network