Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Concurrent object-oriented programming
Communications of the ACM
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Real-time object-oriented modeling
Real-time object-oriented modeling
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Proceedings of the DIMACS/SYCON workshop on Hybrid systems III : verification and control: verification and control
An efficient implementation of reactivity for modeling hardware in the scenic design environment
DAC '97 Proceedings of the 34th annual Design Automation Conference
Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects
IEEE Transactions on Software Engineering
Lava: hardware design in Haskell
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
FunState—an internal design representation for codesign
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
The Interpretation of Object-Oriented Programming Languages
The Interpretation of Object-Oriented Programming Languages
Distributed Algorithms
Abstraction and Modularity Mechanisms for Concurrent Computing
IEEE Parallel & Distributed Technology: Systems & Technology
Compositional Modeling in Metropolis
EMSOFT '02 Proceedings of the Second International Conference on Embedded Software
StreamIt: A Language for Streaming Applications
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Order and containment in concurrent system design
Order and containment in concurrent system design
Principles of Object-Oriented Modeling and Simulation with Modelica 2.1
Principles of Object-Oriented Modeling and Simulation with Modelica 2.1
A foundation for actor computation
Journal of Functional Programming
2nd workshop on domain-specific visual languages
OOPSLA '02 Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
SystemC Kernel Extensions For Heterogenous System Modeling: A Framework for Multi-MoC Modeling & Simulation
Composition for component-based modeling
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
High-level synthesis: an essential ingredient for designing complex ASICs
Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design
Computer
A framework for embedded system specification under different models of computation in SystemC
Proceedings of the 43rd annual Design Automation Conference
Towards a formal foundation for domain specific modeling languages
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
System-level design: orthogonalization of concerns and platform-based design
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
System modeling and transformational design refinement in ForSyDe [formal system design]
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Proceedings of the 28th international conference on Software engineering
Decidability problems for actor systems
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Hi-index | 0.00 |
Actor-oriented components emphasize concurrency and temporal semantics and are used for modeling and designing embedded software and hardware. Actors interact with one another through ports via a messaging schema that can follow any of several concurrent semantics. Domain-specific actor-oriented languages and frameworks are common (Simulink, LabVIEW, SystemC, etc.). However, they lack many modularity and abstraction mechanisms that programmers have become accustomed to in object-oriented components, such as classes, inheritance, interfaces, and polymorphism, except as inherited from the host language. This article shows a form that such mechanisms can take in actor-oriented components, gives a formal structure, and describes a prototype implementation. The mechanisms support actor-oriented class definitions, subclassing, inheritance, and overriding. The formal structure imposes structural constraints on a model (mainly the “derivation invariant”) that lead to a policy to govern inheritance. In particular, the structural constraints permit a disciplined form of multiple inheritance with unambiguous inheritance and overriding behavior. The policy is based formally on a generalized ultrametric space with some remarkable properties. In this space, inheritance is favored when actors are “closer” (in the generalized ultrametric), and we show that when inheritance can occur from multiple sources, one source is always unambiguously closer than the other.