A Stub Generator for Multilanguage RPC in Heterogeneous Environments
IEEE Transactions on Software Engineering - Special issue on distributed systems
A Remote Procedure Call Facility for Interconnecting Heterogeneous Computer Systems
IEEE Transactions on Software Engineering
Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Parallel program design: a foundation
Parallel program design: a foundation
Constructing Distributed Systems in Conic
IEEE Transactions on Software Engineering
PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
Graphical development tools for network-based concurrent supercomputing
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
A Packaging System for Heterogeneous Execution Environments
IEEE Transactions on Software Engineering
ACM Transactions on Programming Languages and Systems (TOPLAS)
Matchmaker: an interface specification language for distributed processing
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Communicating sequential processes
Communications of the ACM
Learning Discrete Math with ISETL
Learning Discrete Math with ISETL
CODE: A Unified Approach to Parallel Programming
IEEE Software
Models and languages for component description and reuse
ACM SIGSOFT Software Engineering Notes
Using adapters to reduce interaction complexity in reusable component-based software development
SSR '99 Proceedings of the 1999 symposium on Software reusability
Human exploration and development of space: using XML database space wide web
Information Sciences—Informatics and Computer Science: An International Journal - Internet computing
Hi-index | 0.00 |
A concurrent software application, whether running on a single machine or distributed across multiple machines, is composed of tasks that interact (communicate and sychronize) in order to achieve some goal. Developing such concurrent programs so they cooperate effectively is a complex task, requiring that progrmmers craft their modules–the components from which concurrent applications are built—to meet both functional requirements and communication requirements. Unfortunately the result of this effort is a module that is difficult to reason about and even more difficult to reuse. Making programmers treat too many diverse issues simultaneously leads to increased development costs and opportunities for error. This suggests the need for ways that a developer may specify control requirements separately from the implementation of functional requirements, but then have this information used automatically when building the component executables. The result is an environment where programmers have increased flexibility in composing software modules into concurrent applications, and in reusing those same modules. This paper describes our research toward a technology for control integration, where we have developed techniques for users to express control objectives for an application and a system that translates those specifications for use in packaging executables.