AUTHOR = {I. Rodero and D. Villegas and N. Bobroff, Y. Liu and L. Fong and {\bf S. Masoud Sadjadi}},
  TITLE = {Enabling Grid Interoperability among Meta-Schedulers},
  JOURNAL = {Future Generation Computer Systems Journal},
  YEAR = {2011},
  NOTE = {Note: Under review.},
  ABSTRACT = {},
  KEYWORDS = {Grid Computing, Interoperability, Meta-Schedulers.},
  PDF = {},
  AUTHOR1_URL = {},
  CONTACT = {}

  AUTHOR = {D. Villegas and N. Bobroff and I. Rodero and J. Delgado and Y. Liu and A. Devarakonda and
  L. Fong and {\bf S. Masoud Sadjadi} and M. Parashar},
  TITLE = {Cloud Federation in a Layered Service Model},
  JOURNAL = {Journal of Computer and System Sciences},
  YEAR = {2011},
  NOTE = {Note: Under review.},
  ABSTRACT = {},
  KEYWORDS = {Clould Computing, Federation, Interoperability.},
  PDF = {},
  AUTHOR1_URL = {},
  CONTACT = {}

  AUTHOR = {Javier Delgado and Gabriel Gazolla and Esteban Clua and {\bf S. Masoud Sadjadi}},
  TITLE = {A Case Study on Porting Scientific Applications to GPU/CUDA},
  JOURNAL = {Journal of Computational Interdisciplinary Sciences},
  YEAR = {2011},
  VOLUME = {2},
  PAGES = {3--11},
  NOTE = {PDN: jcis.2011.02.01.0027},
  ABSTRACT = {This paper proposes and describes a methodology developed to
port complex scientific applications originally written in FORTRAN
to nVidia CUDA. The significance of this lies in the fact that, despite
the performance improvement and programmer-friendliness provided
by CUDA, it presently lacks support for FORTRAN. The methodology
described in this paper addresses this problem using a multiple step
process that includes identification of software modules that benefit
from being ported, familiarization with the code, porting, optimizing,
and verifying the ported code. It was developed and carried out
by porting an existing module of a weather forecasting application
written in FORTRAN. Using this approach, we obtained a functional
prototype of the ported module in approximately 3 months, despite
our lack of knowledge of the theory of the weather code. Considering
the relevance of this application to other scientific applications also
written in FORTRAN, we believe that the proposed porting methodology
described can be successfully utilized in several other existing
scientific applications.},
  KEYWORDS = {gpu, programming, cuda, weather modeling},
  PDF = {JofCIS-GPU-CUDA-2011.pdf},
  AUTHOR1_URL = {},
  CONTACT = {}

  AUTHOR = {Onyeka Ezenwoye and M. Brian Blake and Gargi Dasgupta and Liana Fong and Selim Kalayci and {\bf S. Masoud Sadjadi}},
  TITLE = {Managing Faults for Distributed Workflows over {Grids}},
  YEAR = {2010},
  ABSTRACT = {Grid applications composed of multiple, distributed jobs are common areas
for applying Web-scale workflows. Workflows over grid infrastructures are
inherently complicated due to the need to both functionally assure the entire
process and coordinate the underlying tasks. Often, these applications are
long-running, and fault tolerance becomes a significant concern. Transparency
is a vital aspect to understanding fault tolerance in these environments.},
  KEYWORDS = {Distributed Workflows, Grids, Managing Faults.},
  PAGES = {84--88},
  PDF = {MTAP-2009-UCM.pdf},
  AUTHOR1_URL = {},
  CONTACT = {}

  AUTHOR = {Chi Zhang and {\bf S. Masoud Sadjadi} and Weixiang Sun and Raju Rangaswami and Yi Deng},
  TITLE = {A User-Centric Network Communication Broker for Multimedia Collaborative Computing},
  JOURNAL = {The The International Journal of Multimedia Tools and Applications},
  YEAR = {2009},
  ABSTRACT = {The development of collaborative multimedia applications today follows a vertical development approach, where each application is built on top of low-level network abstractions such as the socket interface. This stovepipe development process is a major inhibitor that drives up the cost of development and slows down the innovation pace of new generations of communication applications. In this paper, we propose a network communication broker (NCB) that provides a unified higher-level abstraction for the class of multimedia collaborative applications. We demonstrate how NCB encapsulates the complexity of network-level communication control and media delivery, and expedites the development of applications with various communication logics. We investigate the minimum necessary requirements for the NCB abstraction. We identify that the concept of user-level sessions involving multiple parties and multiple media, is critical to designing a reusable NCB to facilitate next-generation multimedia communications. Furthermore, the internal design of NCB decouples the user-level sessions from network-level sessions, so that the NCB framework can accommodate heterogeneous networks, and applications can be easily ported to new network environments. In addition, we demonstrate how the extensible and self-managing design of NCB supports dynamic adaptation in response to changes in network conditions and user requirements.},
  KEYWORDS = {CVM, NCB, User-Centric, Network Communication Broker, and Multimedia Collaborative Computing.},
  AUTHOR1_URL = {},
  NOTE = {(in press; 19 pages; single-spaced)},
  PDF = {MTAP-2009-UCM.pdf},
  CONTACT = {}

  AUTHOR = {Ivan Rodero and Francesc Guimb and Julita Corbalan and Liana Fong and {\bf S. Masoud Sadjadi}},
  TITLE = {Grid Broker Selection Strategies Using Aggregated Resource Information},
  JOURNAL = {The Elsevier Future Generation Computer Systems, The International Journal of Grid Computing and eScience},
  YEAR = {2009},
  ABSTRACT = {The increasing demand for high performance computing resources has led to new forms
of collaboration of distributed systems, such as grid computing systems. Moreover, the
need for interoperability among different grid systems through the use of common protocols
and standards has become increased in the last few years. In this paper we describe
and evaluate scheduling techniques for multiple grid scenarios. In particular, they consist
on the proposed “bestBrokerRank” broker selection policy and two different variants. The
first one uses the resource information in aggregated forms as input, and the second one
also uses the brokers average bounded slowdown as a dynamic performance metric. From
our evaluations performed with simulation tools, we state that, although the aggregation
algorithms lose resource information accuracy, the broker selection policies using aggregated
resource data do not penalize their performance significantly. Moreover, we show
that the best performance results are obtained with the coordinated policy using dynamic
performance information, in addition to aggregated resource information. Therefore, we
conclude that delegating part of the scheduling responsibilities to the underlying scheduling
layers promotes separation of concerns and is a good way to balance the performance
among the different grid systems.},
  KEYWORDS = {Grid Computing, Broker Selection, Job Scheduling, Resource Management, Resource Data Aggregation.},
  AUTHOR1_URL = {},
  NOTE = {(in press; 34 pages; single-spaced)},
  PDF = {InteroperableMetaBroker-FGCS-2009.pdf},
  CONTACT = {}

  AUTHOR = {{\bf S. Masoud Sadjadi} and Philip K. McKinley},
  TITLE = {Transparent Autonomization in {CORBA}},
  JOURNAL = {The Elsevier Computer Networks Journal, special issue on autonomic and self-organising systems},
  YEAR = {2009},
  VOLUME = {53},
  PAGES = {1570--1586},
  ABSTRACT = {Increasingly, software systems are constructed by integrating and composing multiple existing
applications. The resulting complexity increases the need for self-management of the
system. However, adding autonomic behavior to composite systems is difficult, especially
when the constituent components are heterogeneous and they were not originally designed
to support such interactions. Moreover, entangling the code for self-management with the
code for the business logic of the original applications may actually increase the complexity
of the systems, counter to the desired goal. In this paper, we address autonomization of
composite systems that use CORBA, one of the first widely used middleware platforms introduced
more than 17 years ago that is still commonly used in numerous systems. We propose
a model, called Adaptive CORBA Template (ACT), that enables autonomic behavior
to be added to CORBAapplications automatically and transparently, that is, without requiring
any modifications to the code implementing the business logic of the original applications.
To do so, ACT uses “generic” interceptors, which are added to CORBA applications
at startup time and enable autonomic behavior to be introduced later at runtime. We have
developed ACT/J, a prototype of ACT in Java. We describe a case study in which ACT/J
is used to introduce three types of autonomic behavior (self-healing, self-optimization, and
self-configuration) to a distributed surveillance application.},
  AUTHOR1_URL = {},
  NOTE = {doi:10.1016/j.comnet.2008.12.012},
  DOI = {10.1016/j.comnet.2008.12.012},
  PDF = {TransparentAutonimizationInCORBA.pdf},
  CONTACT = {}

  AUTHOR = {{\bf S. Masoud Sadjadi} and Fernando Trigoso},
  TITLE = {{TRAP.NET}: A Realization of Transparent Shaping in {.NET}},
  JOURNAL = {International Journal of Software Engineering and Knowledge Engineering},
  YEAR = {2009},
  VOLUME = {19},
  NUMBER = {4},
  PAGES = {507--528},
  ABSTRACT = {We define adaptability as the capacity of software in adjusting its behavior in response to changing conditions. To list just a few examples, adaptability is important in pervasive computing, where software in mobile devices need to adapt to dynamic changes in wireless networks; autonomic computing, where software in critical systems are required to be self-manageable; and grid computing, where software for long running scientific applications need to be resilient to hardware crashes and network outages. In this paper, we provide a realization of the transparent shaping programming model, called TRAP.NET, which enables transparent adaptation in existing .NET applications as a response to the changes in the application requirements and/or to the changes in their execution environment. Using TRAP.NET, we can adapt an application dynamically, at run time, or statically, at load time, without the need to manually modify the application original functionality-hence transparent.},
  AUTHOR1_URL = {},
  DOI = {DOI No: 10.1142/S0218194009004258},
  PDF = {TRAP-NET-IJSEKE-2009.pdf},
  CONTACT = {}

  AUTHOR = {Onyeka Ezenwoye and {\bf S. Masoud Sadjadi}},
  TITLE = {A Proxy-Based Approach to Enhancing the
    Autonomic Behavior in Composite Services},
  JOURNAL = {the Journal of Networks (ISSN 1796-2056)},
  YEAR = {2008},
  MONTH = {May},
  PAGES = {42--53},
  VOLUME = {3},
  NUMBER = {5},
  ABSTRACT = {Web services paradigm is allowing applications
to electronically interact with one another over the Internet.
The business process execution language ({BPEL}) takes this
interaction to a higher level of abstraction by enabling
the development of aggregate Web services. However, the
autonomous and distributed nature of the partner services
in an aggregate Web service present unique challenges to
the reliability of the composite services. In this paper, we
present an approach where existing {BPEL} processes are
automatically instrumented, so that when one or more of
their partner services do not provide satisfactory service
(e.g., because of a service being overwhelmed, crashed, or
because of a network outage), the request for service is
redirected to a proxy Web service, where the failed or slow
services are replaced by substitute services.},
  AUTHOR1_URL = {},
  PDF = {RobostBPEL-JNW.pdf},
  CONTACT = {}

  AUTHOR = {Yi Deng and {\bf S. Masoud Sadjadi} and Peter J. Clarke and
    Vagelis Hristidis and Raju Rangaswami and Yingbo Wang},
  TITLE = {{CVM} -- A Communication Virtual Machine},
  JOURNAL = {The Elsevier Special Issue of the Journal of Systems and Software (JSS)},
  YEAR = {2008},
  VOLUME = {81},
  PAGES = {1640--1662},
  ABSTRACT = {The convergence of data, voice and multimedia communication over digital networks, 
coupled with continuous improvement in network capacity and reliability
has resulted in a proliferation of communication technologies. Unfortunately, despite
these new developments, there is no easy way to build new application-specific 
communication services. The stovepipe approach used today results in rigid technology,
limited utility, lengthy and costly development cycle, and diculty in integration.
In this paper, we introduce Communication Virtual Machine (CVM) that supports
rapid conception, construction and realization of new application-specific 
communication services through a model-driven, user-centric approach. We present the
concept, architecture, modeling language, prototypical design, and implementation
of CVM in the context of a healthcare application.},
  AUTHOR1_URL = {},
  PDF = {CVM-JSS.pdf},
  PS = {},
  CONTACT = {}

  AUTHOR = {Farshad A. Samimi and Philip K. McKinley and {\bf S. M. Sadjadi} and 
                   Chiping Tang and Jonathan K. Shapiro and Zhinan Zhou},
  TITLE = {{Service Clouds}: Distributed Infrastructure for Adaptive Communication 
  JOURNAL = {IEEE  Transactions  on  Network  and  System  Management (TNSM),  
                   Special  Issue  on  Self-Managed  Networks,  Systems  and  Services},
  YEAR = {2007},
  VOLUME = {4},
  NUMBER = {2},
  MONTH = {September},
  ABSTRACT = {This paper describes Service Clouds, a distributed
infrastructure designed to facilitate rapid prototyping and deployment
of adaptive communication services. The infrastructure
combines adaptive middleware functionality with an overlay
network substrate in order to support dynamic instantiation
and reconfiguration of services. The Service Clouds architecture
includes a collection of low-level facilities that can be invoked directly
by applications or used to compose more complex services.
After describing the Service Clouds architecture, we present
results of experimental case studies conducted on the PlanetLab
Internet testbed alone and a mobile computing testbed.},
  KEYWORDS = {Adaptive communication, self-managing system,
overlay network, service composition, mobile computing,
autonomic computing, quality of service.},
  AUTHOR1_URL = {},
  PDF = {ServiceClouds-IEEE-Transactions-TNSM-2007.pdf},
  CONTACT = {}

  AUTHOR = {{\bf S. M. Sadjadi} and Philip K. McKinley and 
                   Eric P. Kasten and Zhinan Zhou},
  TITLE = {MetaSockets: Design and Operation of Run-time
                   Reconfigurable Communication Services},
  JOURNAL = {Software: Practice and Experience (SP\&E). 
    Special Issue: Experiences with Auto-adaptive and Reconfigurable Systems.},
  ABSTRACT = {This paper describes the internal architecture and operation of an adaptable communication component called the MetaSocket. MetaSockets are created using Adaptive Java, a reflective extension to Java that enables a component's internal architecture and behavior to be adapted at runtime in response to external stimuli. This paper describes how adaptive behavior is implemented in MetaSockets, as well as how MetaSockets interact with other adaptive components, such as decision makers and event mediators. Results of experiments on a mobile computing testbed demonstrate how MetaSockets respond to dynamic wireless channel conditions in order to improve the quality of interactive audio streams delivered to iPAQ handheld computers.},
  KEYWORDS = {Mobile computing, quality-of-service, computational reflection, 
    adaptive middleware, real-time audio-streaming, event-based systems.},
  YEAR = {2006},
  VOLUME = {36},
  ISSUE = {11--12},
  PAGES = {1157--1178},
  EDITOR = {Mehmet Aksit and Tzilla Elrad},
  AUTHOR1_URL = {},
  AUTHOR2_URL = {},
  PDF = {Sadjadi-52-SPE-06-003.pdf},
  CONTACT = {}

  AUTHOR = {Philip K. McKinley and {\bf S. M. Sadjadi} and
                   Eric P. Kasten and Betty H. C. Cheng},
  TITLE = {Composing Adaptive Software},
  JOURNAL = {IEEE Computer},
  ABSTRACT = {Compositional adaptation enables software to modify its 
                   structure and behavior dynamically in response to changes 
                   in its execution environment. A review of current technology 
                   compares how, when, and where recomposition occurs.
    adaptive software,
    compositional adaptation,
    aspect-oriented programming,
    component-based design,
  NOTE = {Cited 141 times, Google Scolar, July 2008. For more information, please refer to the technical report.},
  YEAR = {2004},
  MONTH = {July},
  VOLUME = {37},
  NUMBER = {7},
  PAGES = {56--64},
  AUTHOR1_URL = {},
  AUTHOR2_URL = {},
  FILE = {},
  PDF = {ComposingAdaptiveSoftware.pdf},
  CONTACT = {}

  AUTHOR = {P. K. McKinley and U. I. Padmanabhan and N. Ancha and {\bf S. M. Sadjadi}},
  TITLE = {Composable Proxy Services to Support Collaboration on the Mobile Internet},
  JOURNAL = {IEEE Transactions on Computers (Special Issue on Wireless Internet)},
  ABSTRACT = {This paper describes the design and operation of a composable 
proxy infrastructure that enables mobile Internet users to
collaborate via heterogeneous devices and network connections. 
The approach is based on detachable Java I/O streams, which
enable proxy filters and transcoders to be dynamically inserted, 
removed, and reordered on a given data stream. Unlike conventional
Java I/O streams, detachable streams can be stopped, disconnected, 
reconnected, and restarted. As such, they provide a convenient
method by which to support the dynamic composition of proxy services. 
Moreover, use of the I/O stream abstraction enables network
distribution and stream adaptability to be implemented transparently 
with respect to application components. The operation and implementation 
of detachable streams are described. To evaluate the composable proxy 
infrastructure, it is used to enhance interactive audio communication 
among users of a Web-based collaborative computing framework. 
Two forward error correction (FEC) proxylets are developed, one using 
block erasure codes and the other using the GSM 06.10 encoding algorithm. 
Separately, each type of FEC improves the ability of the audio stream 
to tolerate errors in a wireless LAN environment. When composed in a 
single proxy, however, they cooperate to correct additional types of burst 
errors. Results are presented from a performance study conducted on a
mobile computing testbed.},
  KEYWORDS = {Adaptive middleware, heterogeneous collaborative computing, mobile hosts, 
wireless local area networks, forward error correction, interactive audio 
streams, component-based design.},
  YEAR = {2003},
  PAGES = {713-726},
  MONTH = {June},
  VOLUME = {52},
  NUMBER = {6},
  PDF = {tc.pdf}