-
Carlos A. Varela,
Paolo Ciancarini,
and Kenjiro Taura.
Worldwide computing: Adaptive middleware and programming technology for dynamic Grid environments.
Scientific Programming Journal,
13(4):255-263,
December 2005.
Note: Guest Editorial.
Keyword(s): distributed computing,
grid computing,
middleware,
internet programming languages.
@Article{varela-wwc-2005,
author = {Carlos A. Varela and Paolo Ciancarini and Kenjiro Taura},
title = {{Worldwide computing: Adaptive middleware and programming technology for dynamic Grid environments}},
journal = {Scientific Programming Journal},
year = 2005,
volume = 13,
number = 4,
pages = {255--263},
month = {December},
note = {Guest Editorial},
pdf = {http://wcl.cs.rpi.edu/papers/spj2005.pdf},
keywords = {distributed computing, grid computing, middleware, internet programming languages},
abstract = {}
}
-
Kaoutar El Maghraoui,
Travis Desell,
Boleslaw K. Szymanski,
James D. Teresco,
and Carlos A. Varela.
Towards a Middleware Framework for Dynamically Reconfigurable Scientific Computing.
In L. Grandinetti, editor, Grid Computing and New Frontiers of High Performance Processing,
volume 14 of Advances in Parallel Computing,
pages 275-301.
Elsevier,
2005.
Keyword(s): concurrent programming,
distributed computing,
grid computing,
middleware.
Abstract:
Computational grids are appealing platforms for the execution of large scale applications among the scientific and engineering communities. However, designing new applications and deploying existing ones with the capability of exploiting this potential still remains a challenge. Computational grids are characterized by their dynamic, non-dedicted, and heterogeneous nature. Novel application-level and middleware-level techniques are needed to allow applications to reconfigure themselves and adapt automatically to their underlying execution environments. In this paper, we introduce a new software framework that enhances the performance of Message Passing Interface (MPI) applications through an adaptive middleware for load balancing that includes process checkpointing and migration. Fields as diverse as fluid dynamics, materials science, biomechanics, and ecology make use of parallel adaptive computation. Target architectures have tradititionally been supercomputers and tightly coupled clusters. This framework is a first step in allowing these computations to use computational grids efficiently. |
@InCollection{elmaghraoui-ios-2005,
author = {Kaoutar El Maghraoui and Travis Desell and Boleslaw K. Szymanski and James D. Teresco and Carlos A. Varela},
editor = {L. Grandinetti},
booktitle = {Grid Computing and New Frontiers of High Performance Processing},
title = {Towards a Middleware Framework for Dynamically Reconfigurable Scientific Computing},
publisher = {Elsevier},
year = 2005,
series = "Advances in Parallel Computing",
volume = "14",
pages = "275--301",
pdf = {http://wcl.cs.rpi.edu/papers/b10.pdf},
keywords = {concurrent programming, distributed computing, grid computing, middleware},
abstract = {Computational grids are appealing platforms for the execution of large scale applications among the scientific and engineering communities. However, designing new applications and deploying existing ones with the capability of exploiting this potential still remains a challenge. Computational grids are characterized by their dynamic, non-dedicted, and heterogeneous nature. Novel application-level and middleware-level techniques are needed to allow applications to reconfigure themselves and adapt automatically to their underlying execution environments. In this paper, we introduce a new software framework that enhances the performance of Message Passing Interface (MPI) applications through an adaptive middleware for load balancing that includes process checkpointing and migration. Fields as diverse as fluid dynamics, materials science, biomechanics, and ecology make use of parallel adaptive computation. Target architectures have tradititionally been supercomputers and tightly coupled clusters. This framework is a first step in allowing these computations to use computational grids efficiently.}
}
-
J. Field and C. A. Varela.
Transactors: A Programming Model for Maintaining Globally Consistent Distributed State in Unreliable Environments.
In ACM Conference on Principles of Programming Languages (POPL 2005),
Long Beach, CA,
pages 195-208,
January 2005.
Keyword(s): distributed computing,
concurrent programming,
coordination models.
Abstract:
We introduce transactors, a fault-tolerant programming model for composing loosely-coupled distributed components running in an unreliable environment such as the internet into systems that reliably maintain globally consistent distributed state. The transactor model incorporates certain elements of traditional transaction processing, but allows these elements to be composed in different ways without the need for central coordination, thus facilitating the study of distributed fault-tolerance from a semantic point of view. We formalize our approach via the Ï„-calculus, an extended lambda-calculus based on the actor model, and illustrate its usage through a number of examples. The Ï„-calculus incorporates constructs which distributed processes can use to create globally-consistent checkpoints. We provide an operational semantics for the Ï„-calculus, and formalize the following safety and liveness properties: first, we show that globally-consistent checkpoints have equivalent execution traces without any node failures or application-level failures, and second, we show that it is possible to reach globally-consistent checkpoints provided that there is some bounded failure-free interval during which checkpointing can occur. |
@InProceedings{field-varela-transactors-2005,
author = {J. Field and C. A. Varela},
title = {Transactors: A Programming Model for Maintaining Globally Consistent Distributed State in Unreliable Environments},
booktitle = {ACM Conference on Principles of Programming Languages (POPL 2005)},
month = "January",
year = 2005,
pages = "195--208",
address = "Long Beach, CA",
pdf = {http://wcl.cs.rpi.edu/papers/popl2005.pdf},
keywords = "distributed computing, concurrent programming, coordination models",
abstract = {We introduce transactors, a fault-tolerant programming model for composing loosely-coupled distributed components running in an unreliable environment such as the internet into systems that reliably maintain globally consistent distributed state. The transactor model incorporates certain elements of traditional transaction processing, but allows these elements to be composed in different ways without the need for central coordination, thus facilitating the study of distributed fault-tolerance from a semantic point of view. We formalize our approach via the Ï„-calculus, an extended lambda-calculus based on the actor model, and illustrate its usage through a number of examples. The Ï„-calculus incorporates constructs which distributed processes can use to create globally-consistent checkpoints. We provide an operational semantics for the Ï„-calculus, and formalize the following safety and liveness properties: first, we show that globally-consistent checkpoints have equivalent execution traces without any node failures or application-level failures, and second, we show that it is possible to reach globally-consistent checkpoints provided that there is some bounded failure-free interval during which checkpointing can occur.}
}
-
Kaoutar El Maghraoui,
Boleslaw Szymanski,
and Carlos A. Varela.
An Architecture for Reconfigurable Iterative MPI Applications in Dynamic Environments.
In R. Wyrzykowski,
J. Dongarra,
N. Meyer,
and J. Wasniewski, editors,
Proc. of the Sixth International Conference on Parallel Processing and Applied Mathematics (PPAM'2005),
number 3911 of LNCS,
Poznan, Poland,
pages 258-271,
September 2005.
Keyword(s): concurrent programming,
distributed computing,
grid computing,
middleware.
Abstract:
With the proliferation of large scale dynamic execution environments such as grids, the need for providing efficient and scalable application adaptation strategies for long running parallel and distributed applications has emerged. Message passing interfaces have been initially designed with a traditional machine model in mind which assumes homogeneous and static environments. It is inevitable that long running message passing applications will require support for dynamic reconfiguration to maintain high performance under varying load conditions. In this paper we describe a framework that provides iterative MPI applications with reconfiguration capabilities. Our approach is based on integrating MPI applications with a middleware that supports process migration and large scale distributed application reconfiguration. We present our architecture for reconfiguring MPI applications, and verify our design with a heat diffusion application in a dynamic setting. |
@InProceedings{elmaghraoui-iosmpi-ppam-2005,
author = {Kaoutar El Maghraoui and Boleslaw Szymanski and Carlos A. Varela},
title = {An Architecture for Reconfigurable Iterative MPI Applications in Dynamic Environments},
booktitle = {Proc. of the Sixth International Conference on Parallel Processing and Applied Mathematics (PPAM'2005)},
editor = {R. Wyrzykowski and J. Dongarra and N. Meyer and J. Wasniewski},
year = 2005,
number = 3911,
series = {LNCS},
address = {Poznan, Poland},
month = {September},
pages = "258--271",
pdf = {http://wcl.cs.rpi.edu/papers/ppam05.pdf},
keywords = {concurrent programming, distributed computing, grid computing, middleware},
abstract = {With the proliferation of large scale dynamic execution environments such as grids, the need for providing efficient and scalable application adaptation strategies for long running parallel and distributed applications has emerged. Message passing interfaces have been initially designed with a traditional machine model in mind which assumes homogeneous and static environments. It is inevitable that long running message passing applications will require support for dynamic reconfiguration to maintain high performance under varying load conditions. In this paper we describe a framework that provides iterative MPI applications with reconfiguration capabilities. Our approach is based on integrating MPI applications with a middleware that supports process migration and large scale distributed application reconfiguration. We present our architecture for reconfiguring MPI applications, and verify our design with a heat diffusion application in a dynamic setting.}
}
-
Ayse Morali,
Leonardo Varela,
and Carlos A. Varela.
An Electronic Marketplace: Agent-based Coordination Models for Online Auctions.
In XXXI Conferencia Latinoamericana de Informática,
Cali, Colombia,
pages 573-586,
October 2005.
Keyword(s): electronic commerce,
concurrent programming,
software agents,
cyber physical systems.
Abstract:
Different coordination models exist for managing concurrency in complex distributed systems, for example, direct interaction, tuple spaces, hierarchical structures, and publish-and-subscribe mechanisms. Online auctions are complex distributed systems, where the choice of coordination model can significantly impact the performance of multiple software agents, acting on behalf of human buyers and sellers. In this paper, we evaluate analytically and experimentally different auction types and coordination models in an electronic marketplace. Three important metrics are: the number of software agents, the number of messages exchanged between these agents, and the number of migrations performed by the agents. We conclude that dynamically choosing the number of agents and the coordination model can improve quality of service in electronic commerce applications. Furthermore, in online auctions where there is a lot of interaction between software agents, migration of agents to virtual stores and local bidding is more fair and efficient than using remote interaction. This observation has the potential to significantly improve and redefine existing online auction systems such as eBay |
@InProceedings{morali-emarketplace-clei-2005,
author = {Ayse Morali and Leonardo Varela and Carlos A. Varela},
title = {An Electronic Marketplace: Agent-based Coordination Models for Online Auctions},
booktitle = {XXXI Conferencia Latinoamericana de Inform\'{a}tica},
year = 2005,
pages = "573--586",
address = {Cali, Colombia},
month = {October},
pdf = {http://wcl.cs.rpi.edu/papers/clei2005ec.pdf},
keywords = {electronic commerce, concurrent programming, software agents, cyber physical systems},
abstract = {Different coordination models exist for managing concurrency in complex distributed systems, for example, direct interaction, tuple spaces, hierarchical structures, and publish-and-subscribe mechanisms. Online auctions are complex distributed systems, where the choice of coordination model can significantly impact the performance of multiple software agents, acting on behalf of human buyers and sellers. In this paper, we evaluate analytically and experimentally different auction types and coordination models in an electronic marketplace. Three important metrics are: the number of software agents, the number of messages exchanged between these agents, and the number of migrations performed by the agents. We conclude that dynamically choosing the number of agents and the coordination model can improve quality of service in electronic commerce applications. Furthermore, in online auctions where there is a lot of interaction between software agents, migration of agents to virtual stores and local bidding is more fair and efficient than using remote interaction. This observation has the potential to significantly improve and redefine existing online auction systems such as eBay}
}
-
Jon Purnell,
Malik Magdon-Ismail,
and Heidi Jo Newberg.
A Probabilistic Approach to Finding Geometric Objects in Spatial Datasets of the Milky Way.
In Foundations of Intelligent Systems,
volume 3488/2005,
pages 485-493,
2005.
Springer Berlin / Heidelberg.
Keyword(s): scientific computing,
distributed computing.
Abstract:
Data from the Sloan Digital Sky Survey has given evidence of structures within the Milky Way halo from other nearby galaxies. Both the halo and these structures are approximated by densities based on geometric objects. A model of the data is formed by a mixture of geometric densities. By using an EM-style algorithm, we optimize the parameters of our model in order to separate out these structures from the data and thus obtain an accurate dataset of the Milky Way. |
@inproceedings {Purnell05A,
author = "Jon Purnell and Malik Magdon-Ismail and Heidi Jo Newberg",
title = "A Probabilistic Approach to Finding Geometric Objects in Spatial Datasets of the Milky Way",
booktitle = "Foundations of Intelligent Systems",
volume = "3488/2005",
publisher = "Springer Berlin / Heidelberg",
pages = "485--493",
year = "2005",
keywords = "scientific computing, distributed computing",
abstract = {Data from the Sloan Digital Sky Survey has given evidence of structures within the Milky Way halo from other nearby galaxies. Both the halo and these structures are approximated by densities based on geometric objects. A model of the data is formed by a mixture of geometric densities. By using an EM-style algorithm, we optimize the parameters of our model in order to separate out these structures from the data and thus obtain an accurate dataset of the Milky Way.}
}
-
Camron Tolman and Carlos A. Varela.
A Fault-Tolerant Home-Based Naming Service For Mobile Agents.
In XXXI Conferencia Latinoamericana de Informática,
Cali, Colombia,
October 2005.
Keyword(s): distributed computing,
grid computing,
middleware,
software agents.
Abstract:
A naming service is in charge of locating a mobile agent in a distributed system given its name. Three critical characteristics of a naming service are: fault tolerance, scalability, and efficient name resolution. Most naming services provide support for efficient name resolution but do not address fault tolerance or scalability issues. Conversely, distributed hash-table approaches to naming provide fault tolerance and scalability albeit at a sacrificed name resolution performance. We introduce a Fault-Tolerant Home-Based Naming Service (FHNS) that is robust and scalable yet enabling efficient name resolution. |
@InProceedings{tolman-varela-fhns-clei-2005,
author = {Camron Tolman and Carlos A. Varela},
title = {A Fault-Tolerant Home-Based Naming Service For Mobile Agents},
booktitle = {XXXI Conferencia Latinoamericana de Inform\'{a}tica},
year = 2005,
address = {Cali, Colombia},
month = {October},
pdf = {http://wcl.cs.rpi.edu/papers/clei2005fhns.pdf},
keywords = {distributed computing, grid computing, middleware, software agents},
abstract = {A naming service is in charge of locating a mobile agent in a distributed system given its name. Three critical characteristics of a naming service are: fault tolerance, scalability, and efficient name resolution. Most naming services provide support for efficient name resolution but do not address fault tolerance or scalability issues. Conversely, distributed hash-table approaches to naming provide fault tolerance and scalability albeit at a sacrificed name resolution performance. We introduce a Fault-Tolerant Home-Based Naming Service (FHNS) that is robust and scalable yet enabling efficient name resolution.}
}
-
Kaoutar El Maghraoui,
Travis J. Desell,
and Carlos A. Varela.
Network Sensitive Reconfiguration of Distributed Applications.
Technical report 05-03,
Rensselaer Polytechnic Institute Department of Computer Science,
2005.
Keyword(s): distributed computing,
concurrent programming,
grid computing,
middleware.
Abstract:
Large-scale, dynamic, and heterogeneous networks of computational resources promise to provide high performance and scalability to computationally intensive applications, but these environments also introduce the need for complex resource management strategies. This paper introduces actor-based programming abstractions and a middleware framework to relieve developers from considering non-functional concerns while allowing middleware layers to optimize application performance and global resource utilization. The Internet Operating System (IOS) consists of a peer-to-peer virtual network of middleware agents that trigger application component reconfiguration based on changes in the underlying physical network and based on the application communication patterns and resource consumption. IOS middleware agents are highly customizable to account for different resource profiling, load balancing, and peer-to-peer interconnection policies. Despite the lack of global coordination and information management, IOS exhibited the ability to reconfigure distributed applications effectively improving their performance over highly dynamic networks. Diverse application communication topologies were tested on Internet-like and Grid-like environments using two middleware agent interconnection topologies: peer-to-peer (p2p) and cluster-tocluster (c2c). In most cases, p2p agent topologies outperformed c2c agent topologies for Internet-like environments; while c2c agent topologies outperformed p2p agent topologies for Grid-like environments. Our empirical results show also that using group migration of application components to perform load balancing outperforms single migration for the four studied application topologies. These empirical results suggest that adaptive middleware is needed to dynamically change the virtual network topology based on application-level communication patterns and network-level interconnectivity to improve distributed applications performance. |
@TechReport{elmaghraoui-ios-tr-2005,
author = {Kaoutar El Maghraoui and Travis J. Desell and Carlos A. Varela},
title = {Network Sensitive Reconfiguration of Distributed Applications},
institution = {Rensselaer Polytechnic Institute Department of Computer Science},
number = "{05-03}",
year = 2005,
pdf = {http://www.cs.rpi.edu/research/pdf/05-03.pdf},
keywords = { distributed computing, concurrent programming, grid computing, middleware},
abstract = {Large-scale, dynamic, and heterogeneous networks of computational resources promise to provide high performance and scalability to computationally intensive applications, but these environments also introduce the need for complex resource management strategies. This paper introduces actor-based programming abstractions and a middleware framework to relieve developers from considering non-functional concerns while allowing middleware layers to optimize application performance and global resource utilization. The Internet Operating System (IOS) consists of a peer-to-peer virtual network of middleware agents that trigger application component reconfiguration based on changes in the underlying physical network and based on the application communication patterns and resource consumption. IOS middleware agents are highly customizable to account for different resource profiling, load balancing, and peer-to-peer interconnection policies. Despite the lack of global coordination and information management, IOS exhibited the ability to reconfigure distributed applications effectively improving their performance over highly dynamic networks. Diverse application communication topologies were tested on Internet-like and Grid-like environments using two middleware agent interconnection topologies: peer-to-peer (p2p) and cluster-tocluster (c2c). In most cases, p2p agent topologies outperformed c2c agent topologies for Internet-like environments; while c2c agent topologies outperformed p2p agent topologies for Grid-like environments. Our empirical results show also that using group migration of application components to perform load balancing outperforms single migration for the four studied application topologies. These empirical results suggest that adaptive middleware is needed to dynamically change the virtual network topology based on application-level communication patterns and network-level interconnectivity to improve distributed applications performance.}
}
-
James D. Teresco,
Joseph E. Flaherty,
Scott B. Baden,
Jamal Faik,
Sébastien Lacour,
Manish Parashar,
Valerie E. Taylor,
and Carlos A. Varela.
Approaches to Architecture-Aware Parallel Scientific Computation.
Technical report CS-04-09,
Williams College Department of Computer Science,
2005.
Note: Submitted to Proc. PP'04: Frontiers of Scientific Computing.
Keyword(s): grid computing,
scientific computing.
Abstract:
Modern parallel scientific computation is being performed in a wide variety of computational environments that include clusters, large-scale supercomputers, grid environments, and metacomputing environments. This presents challenges for application and library developers, who must develop architecture-aware software if they wish to utilize several computing platforms efficiently. Architecture-aware computation can be beneficial in single-processor environments. It takes the form of something as common as an optimizing compiler, which will optimize software for a target computer. Application and library developers may adjust data structures or memory management techniques to improve cache utilization on a particular system. |
@TechReport{teresco-pp-2005,
author = {James D. Teresco and Joseph E. Flaherty and Scott B. Baden and Jamal Faik and S\'ebastien Lacour and Manish Parashar and Valerie E. Taylor and Carlos A. Varela},
title = {Approaches to Architecture-Aware Parallel Scientific Computation},
institution = {Williams College Department of Computer Science},
number = {CS-04-09},
note = {Submitted to {\it Proc. PP'04: Frontiers of Scientific Computing}},
year = {2005},
pdf = {http://www.cs.williams.edu/\~{ }terescoj/research/publications/pp04/pp04.pdf},
keywords = {grid computing, scientific computing},
abstract = {Modern parallel scientific computation is being performed in a wide variety of computational environments that include clusters, large-scale supercomputers, grid environments, and metacomputing environments. This presents challenges for application and library developers, who must develop architecture-aware software if they wish to utilize several computing platforms efficiently. Architecture-aware computation can be beneficial in single-processor environments. It takes the form of something as common as an optimizing compiler, which will optimize software for a target computer. Application and library developers may adjust data structures or memory management techniques to improve cache utilization on a particular system.}
}
-
Mayuresh Kulkarni.
A Calculus for Distributed Mobile Computing with Static Resource Access and Usage Control.
Master's thesis,
Rensselaer Polytechnic Institute,
July 2005.
Keyword(s): coordination models,
concurrent programming.
Abstract:
We propose a process algebraic model of a distributed system with resource access and usage control. Our system has notions of explicitly located mobile agents, migration of agents between locations, location-transparent asynchronous directed communication (local and remote), local resources within locations and local resource access using synchronous communication. Thus, agents can communicate with local and remote agents but to access a resource, they have to migrate to the appropriate location and then establish a dedicated channel to communicate with the resource. We statically guarantee bounded usage of resources. The bound on the usage of a resource may be linearly distributed amongst other agents (including newly spawned agents). Our system borrows certain concepts from the π-calculus, the actor model and mobile ambients. The type system to enforce resource access and bounded resource usage is inspired by ideas for resource access control found in the Dπ calculus and linear type systems. |
@MastersThesis{kulkarni-apicalculus-2005,
author = {Mayuresh Kulkarni},
title = {A Calculus for Distributed Mobile Computing with Static Resource Access and Usage Control},
school = {Rensselaer Polytechnic Institute},
year = 2005,
month = {July},
pdf = {http://wcl.cs.rpi.edu/theses/KulkarniMSThesis.pdf},
keywords = {coordination models, concurrent programming},
abstract = {We propose a process algebraic model of a distributed system with resource access and usage control. Our system has notions of explicitly located mobile agents, migration of agents between locations, location-transparent asynchronous directed communication (local and remote), local resources within locations and local resource access using synchronous communication. Thus, agents can communicate with local and remote agents but to access a resource, they have to migrate to the appropriate location and then establish a dedicated channel to communicate with the resource. We statically guarantee bounded usage of resources. The bound on the usage of a resource may be linearly distributed amongst other agents (including newly spawned agents). Our system borrows certain concepts from the π-calculus, the actor model and mobile ambients. The type system to enforce resource access and bounded resource usage is inspired by ideas for resource access control found in the Dπ calculus and linear type systems.}
}
-
Ayse Morali.
Security Aspects of Digital Actors.
Bachelor Thesis. Technische Universität Darmstadt,
June 2005.
Keyword(s): electronic commerce,
cyber physical systems.
Abstract:
Online computations are getting more and more embedded into the daily life of people, in particular, they have practical applications in electronic commerce. In the cyber world, mobile codes interact with each other and their environment on behalf of sellers and buyers of the real world. Mobile code technologies provide potential benefits to applications, but as the responsibilities and the complexity of mobile codes increase, the variety of security threats that imposed the applications increases as well. In order to protect these inherently distributed systems from attacks, their components have to consider security aspects, without giving up flexibility. Transparent information flow between the mobile codes and their environment can help increase efficiency for its participants and reduce user’s cognitive load, yet add points of vulnerability to the system. In this thesis we describe a middleware framework for online auctions, in order to illustrate security problems in electronic commerce applications and suggest potential solutions. This middleware framework is a model of a futuristic electronic marketplace, consisting of various management components and electronic stores. In the electronic stores, the mobile codes, embedded in software agents, representing sellers and buyers, come together, in order to fulfill their duties. Furthermore, we describe a set of security requirements of the electronic marketplace. We then survey different models of mobile code in distributed computations, including actors, secure mobile actors, transactors, casts and directors, and mobile ambients. We then classify and compare these models according to their applicability to the security of the electronic marketplace scenario. We demonstrate how additional security instruments, such as proof-carrying code and cryptographic techniques, can be incorporated to these models in order to fulfill the security requirements of the marketplace electronic commerce applications. In summary, we investigated the conflicting design goals of openness and security in electronic commerce applications. This research is a first step in achieving the goal of building open yet secure electronic commerce systems. |
@Misc{morali-secureecommerce-2005,
author = {Ayse Morali},
title = {Security Aspects of Digital Actors},
howpublished = {Bachelor Thesis. Technische Universit\"{a}t Darmstadt},
month = {June},
year = 2005,
pdf = {http://wcl.cs.rpi.edu/theses/MoraliBSThesis.pdf},
keywords = {electronic commerce, cyber physical systems},
abstract = {Online computations are getting more and more embedded into the daily life of people, in particular, they have practical applications in electronic commerce. In the cyber world, mobile codes interact with each other and their environment on behalf of sellers and buyers of the real world. Mobile code technologies provide potential benefits to applications, but as the responsibilities and the complexity of mobile codes increase, the variety of security threats that imposed the applications increases as well. In order to protect these inherently distributed systems from attacks, their components have to consider security aspects, without giving up flexibility. Transparent information flow between the mobile codes and their environment can help increase efficiency for its participants and reduce user’s cognitive load, yet add points of vulnerability to the system. In this thesis we describe a middleware framework for online auctions, in order to illustrate security problems in electronic commerce applications and suggest potential solutions. This middleware framework is a model of a futuristic electronic marketplace, consisting of various management components and electronic stores. In the electronic stores, the mobile codes, embedded in software agents, representing sellers and buyers, come together, in order to fulfill their duties. Furthermore, we describe a set of security requirements of the electronic marketplace. We then survey different models of mobile code in distributed computations, including actors, secure mobile actors, transactors, casts and directors, and mobile ambients. We then classify and compare these models according to their applicability to the security of the electronic marketplace scenario. We demonstrate how additional security instruments, such as proof-carrying code and cryptographic techniques, can be incorporated to these models in order to fulfill the security requirements of the marketplace electronic commerce applications. In summary, we investigated the conflicting design goals of openness and security in electronic commerce applications. This research is a first step in achieving the goal of building open yet secure electronic commerce systems.}
}