Title :
Library Support in an Actor-Based Parallel Programming Platform
Author :
Park, Hae-woo ; Jung, Hanwoong ; Oh, Hyunok ; Ha, Soonhoi
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Seoul Nat. Univ., Seoul, South Korea
fDate :
5/1/2011 12:00:00 AM
Abstract :
Actor model-based design is actively researched for parallel embedded SW design since the model exposes the potential parallelism explicitly in an architecture-neutral form. In most actor-oriented models, actors are self-contained and data channels are the only sharable object between actors, and they compose a system in a flat layer. In contrast, it is common to use shared library functions and construct vertically layered software for efficiency and modularity. To fill this gap between modeling and implementation, we propose a special actor, library task, with new types of ports: library master port and library slave port. It is a sharable and mappable object that defines a set of function interfaces inside. N:1 master-slave connection allows sharing a library task and the master-slave connection can specify vertically layered software and client-server applications naturally. To support the library task in our embedded software design environment, we develop an automatic mapping algorithm as well as an automatic code generator. The design environment with the library task is applied for two target platforms: IBM CELL Broad band Engine and an ARM-based multicore simulator. Preliminary experiments show that the special actor, or library task, extends the expression power of the previous actor model with efficiently generated codes.
Keywords :
client-server systems; formal specification; object-oriented programming; parallel programming; program compilers; programming environments; software architecture; software libraries; ARM-based multicore simulator; IBM CELL Broad band Engine; actor model-based design; actor-based parallel programming platform; actor-oriented model; architecture-neutral form; automatic code generator; automatic mapping algorithm; client-server applications; data channels; design environment; library master port; library slave port; library support; library task; mappable object; master-slave connection; parallel embedded software design; self-contained actors; sharable object; shared library functions; vertically layered software; Computational modeling; Embedded software; Libraries; Motor drives; Program processors; Programming; Design methodology; modeling; parallel programming; software development environment;
Journal_Title :
Industrial Informatics, IEEE Transactions on
DOI :
10.1109/TII.2011.2123905