TechRep.bib


@TECHREPORT{Interoperable-Grid-Scheduling-TechRep-BSC,
  AUTHOR = {Ivan Rodero and Francec Guima and Julita Corbalan and Liana Fong and {\bf S. Masoud Sadjadi}},
  TITLE = {Evaluation of Broker Selection Strategies},
  NUMBER = {UPC-DAC-RR-CAP-2008-41},
  INSTITUTION = {Computer Architecture Department, Technical University of Catalonia},
  ADDRESS = {Barcelona, Spain},
  ABSTRACT = {The increasing demand for resources of the high
performance computing systems has led to new forms of collaboration
of distributed systems such as interoperable grid systems
that contain and manage their own resources. While with a
single domain one of the most important tasks is the selection
of the most appropriate set of resources to dispatch a job, in an
interoperable grid environment this problem shifts to selecting
the most appropriate domain containing the requiring resources
for the job. In the Latin American Grid initiative, our model
consists of multiple domains. Each domain has its domain broker,
and the task of scheduling on top of brokers can be called metabrokering
or broker selection.
In this paper, we present and evaluate the “bestBrokerRank”
broker selection policy and its 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
the proposed resource aggregation algorithms are scalable for
an interoperable grid environment and we show that the best
performance results are obtained with our coordinated policy. We
conclude that delegating part of the scheduling responsibilities
to the underlying scheduling layers is a good way to balance the
performance among the different brokers and schedulers.
  },
  KEYWORDS = {Grid Computing, Scheduling Strategies, Interoperability.},
  NOTE = {},
  MONTH = {Dec.},
  YEAR = {2008},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{Interoperable-Grid-Scheduling-TechRep,
  AUTHOR = {Ivan Rodero and Francec Guima and Julita Corbalan and Liana Fong and {\bf S. Masoud Sadjadi}},
  TITLE = {Interoperable Grid Scheduling Strategies},
  NUMBER = {FIU-SCIS-2008-12-02},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {The increasing demand for resources of the high
performance computing systems has led to new forms of collaboration
of distributed systems such as interoperable grid systems
that contain and manage their own resources. While with a
single domain one of the most important tasks is the selection
of the most appropriate set of resources to dispatch a job, in an
interoperable grid environment this problem shifts to selecting
the most appropriate domain containing the requiring resources
for the job. In the Latin American Grid initiative, our model
consists of multiple domains. Each domain has its domain broker,
and the task of scheduling on top of brokers can be called metabrokering
or broker selection.
In this paper, we present and evaluate the “bestBrokerRank”
broker selection policy and its 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
the proposed resource aggregation algorithms are scalable for
an interoperable grid environment and we show that the best
performance results are obtained with our coordinated policy. We
conclude that delegating part of the scheduling responsibilities
to the underlying scheduling layers is a good way to balance the
performance among the different brokers and schedulers.
  },
  KEYWORDS = {Grid Computing, Scheduling Strategies, Interoperability.},
  NOTE = {},
  MONTH = {Dec.},
  YEAR = {2008},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{TRAP-NET-MATH-TechRep,
  AUTHOR = {Javier Ocasio Pérez and Pedro I. Rivera-Vega and {\bf S. Masoud Sadjadi} and Fernando Trigoso},
  TITLE = {Dynamic Adaptation of a Math Service Using TRAP.NET},
  NUMBER = {FIU-SCIS-2008-07-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {This technical report details a case study done for the TRAP.NET project (which stands
for Transparent Reflective Aspect Programming in Microsoft’s .NET Framework). TRAP.NET
provides dynamic adaptation for software programs written in .NET.
  },
  KEYWORDS = {TRAP.NET, Dynamic Adaptation, and Math Service.},
  NOTE = {},
  MONTH = {July},
  YEAR = {2008},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {TechRep-FIU-SCIS-2008-07-01-Dynamic TechRep-FIU-SCIS-2008-07-01-Adaptation of a Math Service Using TRAP-NET.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{WRF-Profiler-Evaluation-TechRep,
  AUTHOR = {{\bf S. Masoud Sadjadi} and David Villegas and Javier Munoz and Diego Lopez and Alex Orta and Michael McFail and Xabriel J. Collazo-Mojica and Javier Figueroa},
  TITLE = {Finding an Appropriate Profiler for the Weather Research and Forecasting Code},
  NUMBER = {FIU-SCIS-2007-09-03},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {This evaluation of profiling tools started because of a need to examine the behavior of the Weather Research and Forecasting Model (WRF).  It is currently written to run on a single cluster; our team wished to explore the options for scaling out WRF to a grid environment.  This necessitated understanding how WRF works and what its resource usage patterns look like.  In order to do this we required a profiler, which led us to creating this document. 
    We began with a long list of tools, but an in depth investigation for each of them would have been both ineffective and unwarranted.  Instead, we broke our evaluation of the field into three passes.  In the first pass we discarded programs that did not meet our basic criteria, things like architecture and language support.  The second pass was more qualitative.  We came up with a list of pros and cons for each tool, and rejected those that did not have features we wanted.  Those tools that were still being considered were then given an extensive trial to determine how well they worked for us.  We examined things like documentation, ease of installation, whether the tool provided source code correlation and call graphs, etc.  It is our hope that this information proves useful to the community, allowing researchers and professionals to learn from our experiences. 

  },
  KEYWORDS = {Profiler Evaluation, Weather Forecast and Reserach, WRF, Fortran, MPI, OpenMP, Grid Computing.},
  NOTE = {},
  MONTH = {August},
  YEAR = {2007},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {TechRep-FIU-SCIS-2007-09-03-WRF-Profiler-Evaluation.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{WRF-Tutorial-TechRep,
  AUTHOR = {{\bf S. Masoud Sadjadi} and Javier Munoz and Diego Lopez and David Villegas and Javier Figueroa and Xabriel J. Collazo-Mojica and Michael McFail and Alex Orta},
  TITLE = {Weather Research and Forecasting Model 2.2 Documentation: A Step-by-step guide of a Model Run},
  NUMBER = {FIU-SCIS-2007-09-02},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {In Summer 2007, we, a group of four undergraduate students and three graduate students under the supervision of Dr. Masoud Sadjadi at School of Computing and Information Science (SCIS) of Florida International University (FIU), started an effort on gridifying  the Weather Research and Forecast (WRF) code. During this process, it became apparent to us that we needed a better understanding of the code's functionality before we start the gridification process. As the available documentation on WRF was not targeted for developers like us who would need to modify the code operation to adapt it to a grid computing environment (and not just adding a new physics model, for example), we were pushed to search through lines of the WRF’s FORTRAN and C code to discover how this code was actually functioning; especially, in parts such as domain decomposition and network interactions among the nodes. Due to the large and complex nature of the WRF code, documentation of the program flow proved necessary. With more time and thought, we decided to start a documentation effort to be useful not only for us, but also for other interested in learning the WRF operation in more dept. This guide should help developers understand basic concepts of WRF, how it executes, and how some of its functions branch into different dimensions. We hope that by the time our audience finishes reading this document they will have gained a strong understanding of how WRF operates.
  },
  KEYWORDS = {Weather Forecast and Reserach, WRF, Fortran, MPI, OpenMP, Grid Computing.},
  NOTE = {},
  MONTH = {August},
  YEAR = {2007},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {TechRep-FIU-SCIS-2007-09-02-WRF-Tutorial.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{TRAP-J-2-1-TechRep,
  AUTHOR = {{\bf S. Masoud Sadjadi} and Luis Atencio and Tatiana Soldo},
  TITLE = {TRAP/J v2.1: An Improvement for Transparent Adaptation},
  NUMBER = {FIU-SCIS-2007-09-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {With the advent of mobile, pervasive, and grid
computing, software systems must be designed to
dynamically adapt to changes that might occur in their
runtime environments. Certainly, careful system design
and modeling are key factors for systems to be
complete. However, as technology changes and new
forms of technology continue to emerge,
predetermining all possible scenarios in which a
system may be running is nothing short of impossible.
These issues can be addressed with a tool called
TRAP/J (Transparent Reflective Aspect Oriented
Programming in Java. However, the first
implementation of this tool performs poorly on
demanding applications, severely lacked usability, and
provided very limited support for adaptation. In this
paper, we will be addressing various issues in the first
implementation of TRAP/J and we have developed a
new version, TRAP/J v2.1, which is aimed at providing
better performance and usability over the original
TRAP/J.
TRAP/J 2.1 is focused on improving the
performance of the generation and adaptation phases
of Transparent Adaptation and keeping in mind ease of
usability. This will allow a decision support system –in
our case, a user— to benefit from a user friendly,
interactive, web based Composer Interface through
which new behavior can be inserted into an
application remotely at runtime or startup time. In
addition, it has a Generator Interface that allows users
to choose which classes they wish to make adaptable.
  },
  KEYWORDS = {TRAP/J, Dynamic Adaptation, Java, Pervasive Computing, Grid Computing.},
  NOTE = {},
  MONTH = {May},
  YEAR = {2007},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {TechRep-FIU-SCIS-2007-09-01-TRAP-J-V2-1.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{Grid-BPEL-TechRep,
  AUTHOR = {Onyeka Ezenwoye and {\bf S. Masoud Sadjadi} and Ariel Carey and Michael Robinson},
  TITLE = {Grid Service Composition in BPEL for Scientific Applications},
  NUMBER = {FIU-SCIS-2007-08-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {Grid computing aims to create an accessible virtual supercomputer
by integrating distributed computers to form a parallel infrastructure
for processing applications. To enable service-oriented Grid
computing, the Grid computing architecture was aligned with the current
Web service technologies; thereby, making it possible for Grid applications
to be exposed as Web services. The WSRF set of specifications
standardized the association of state information withWeb services (WSResource)
while providing interfaces for the management of state data.
Key to the realization of the benefits of Grid computing is the ability
to integrate WS-Resources to create higher-level applications. The Business
Process Execution Language (BPEL) is the leading standard for
integrating Web services and as such has a natural affinity to the integration
of Grid services. In this paper, we share our experience on using
BPEL to integrate, create, and manage WS-Resources that implement
the factory pattern. We use a Bioinformatics application as a case study
to show how BPEL can be used to orchestrate Grid services. The execution
environment for our case study comprises the Globus Toolkit as
the Grid middleware and the ActiveBPEL as the BPEL engine. To the
best of our knowledge, this work is among the handful approaches that
successfully use BPEL for orchestrating WSRF-based services and the
only one that includes the discovery and management of instances.
  },
  KEYWORDS = {BPEL, Grid Computing,WSRF, OGSA-DAI, Service Composition.},
  NOTE = {},
  MONTH = {August},
  YEAR = {2007},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {TechRep-FIU-SCIS-2007-08-01-GridBPEL.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{WSRF-BPEL-TechRep,
  AUTHOR = {Onyeka Ezenwoye and {\bf S. Masoud Sadjadi} and Ariel Carey and Michael Robinson},
  TITLE = {Orchestrating WSRF-based Grid Services},
  NUMBER = {FIU-SCIS-2007-04-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {Grid computing aims to create an accessible virtual supercomputer 
by integrating distributed computers to form a parallel infrastructure 
for processing applications. To enable service-oriented Grid
computing, the Grid computing architecture was aligned with current
Web service technologies. Thereby making it possible for Grid 
applications to be exposed as Web services. The WSRF set of specifications
standardized the association of state information withWeb services (WS-
Resource) while providing interfaces for the management of state data.
Key to the realization of the benefits of Grid computing is the ability
to integrate WS-Resources to create higher-level applications. The Business 
Process Execution Language (BPEL) is the leading standard for
integrating Web services and as such has a natural affinity to the integration 
of Grid services. In this paper, we share our experience on using
BPEL to integrate, create, and manage WS-Resources that implement
the factory/instance pattern.
  },
  KEYWORDS = {BPEL, Grid Computing, WSRF, OGSA-DAI, Grid Service Composition.},
  NOTE = {},
  MONTH = {April},
  YEAR = {2007},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {TechRep-FIU-SCIS-2007-04-01-WSRF-BPEL.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{TGE-TechRep,
  AUTHOR = {{\bf S. Masoud Sadjadi} and  J. Martinez and T. Soldo and L. Atencio
    R. M. Badia and J. Ejarque},
  TITLE = {Improving Separation of Concerns in the Development of Scientific Applications},
  NUMBER = {FIU-SCIS-2007-02-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {High performance computing (HPC) is gaining popularity in solving scientific applications. Using the current programming standards, however, it takes an HPC expert to efficiently take advantage of HPC facilities; a skill that a scientist does not necessarily have. This lack of separation of concerns has resulted in scientific applications with rigid code, which entangles non-functional concerns (i.e., the parallel code) into functional concerns (i.e., the core business logic). Effectively, this tangled code hinders the maintenance and evolution of these applications. In this paper, we introduce Transparent Grid Enabler (TGE) that separates the task of developing the business logic of a scientific application from the task of improving its performance. TGE achieves this goal by integrating two existing software tools, namely, TRAP/J and GRID superscalar. A simple matrix multiplication program is used as a case study to demonstrate the current use and capabilities of TGE.
  },
  KEYWORDS = {Transparent Grid Enablement, High Performance Computing, TRAP/J, GRID superscalar.},
  NOTE = {},
  MONTH = {February},
  YEAR = {2007},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {TechRep-FIU-SCIS-2007-02-01-TGE.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{TRAP-BPEL-TechRep,
  AUTHOR = {Onyeka Ezenwoye and {\bf S. Masoud Sadjadi}},
  TITLE = {TRAP/BPEL: A Framework for Dynamic Adaptation of Composite Services},
  NUMBER = {FIU-SCIS-2006-06-02},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {TRAP/BPEL is a framework that adds autonomic behavior into existing
    BPEL processes automatically and transparently. We define an autonomic
    BPEL process as a composite Web service that is capable of responding to changes
    in its execution environment (e.g., a failure in a partner Web service). Unlike other
    approaches, TRAP/BPEL does not require any manual modifications to the original
    code of the BPEL processes and there is no need to extend the BPEL language
    nor its BPEL engine. Furthermore, TRAP/BPEL promotes the reuse of code in
    BPEL processes as well as in their corresponding autonomic behavior. In this paper,
    we describe the details of the TRAP/BPEL framework and use a case study
    to demonstrate the feasibility and effectiveness of our approach.
  },
  KEYWORDS = {TRAP/BPEL, generic proxy, self-management, dynamic service discovery.},
  NOTE = {},
  MONTH = {June},
  YEAR = {2006},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {TechRep-FIU-SCIS-2006-06-02-TRAP-BPEL.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{RocustBPEL-2-TechRep,
  AUTHOR = {Onyeka Ezenwoye and {\bf S. Masoud Sadjadi}},
  TITLE = {RobustBPEL-2: Transparent Autonomization in Aggregate Web Services Using Dynamic Proxies},
  NUMBER = {FIU-SCIS-2006-06-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {Web services paradigm is allowing applications to electronically interact
    with one another over the Internet. BPEL facilitates this interaction by providing
    a platform with which Web services can be integrated.
    Using RobustBPEL-1, we demonstrated how an aggregate Web service, defined
    as a BPEL process, can be instrumented automatically to monitor its partner Web
    services at runtime and replace failed services via a generated proxy. While in
    the previous work the proxy is statically bound to a limited number of alternative
    Web services, in this paper we extended the RobustBPEL-1 toolkit to generate
    a proxy that dynamically discovers and binds to existing services. Further,
    we present details of the generation process and the architecture of dynamically
    adaptable BPEL processes and their corresponding dynamic proxies. Finally, we
    use two case studies to demonstrate how generated dynamic proxies are used
    to support self-healing and self-optimization (specifically, to improve the faulttolerance
    and performance) in instrumented BPEL processes.
  },
  KEYWORDS = {Web service monitoring, BPEL processes, dynamic proxies, self-healing,
    self-optimization, dynamic service discovery.},
  NOTE = {},
  MONTH = {June},
  YEAR = {2006},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {TechRep-FIU-SCIS-2006-06-01-RobustBPEL-2.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{ASM-KDD-TechRep,
  AUTHOR = {Tao Li and {\bf S. Masoud Sadjadi} and Juan Carlos Martinez and Lokesh Sasikumar and Manoj Pillai},
  TITLE = {Data Mining for Autonomic System Management: A Case Study at FIU-SCIS},
  NUMBER = {FIU-SCIS-2006-03-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {Over the years, the advancements in science and technology have 
    led to the increased complexity in computing systems. The systems are thus 
    becoming increasingly more complex with growing number of heterogeneous software 
    and hardware components, increasingly more difficult to monitor, manage and 
    maintain. As a result, it is not a trivial task to provide high performance, 
    high dependability, and high manageability for such computing systems. In 
    this paper, we first present an integrated data-driven architecture for 
    computing system management and then present a case study on Autonomic System 
    Manager: a software system we developed that is currently being used by the 
    system and network administrators of School of Computing and Information Sciences 
    (SCIS) at Florida International University (FIU).
  },
  KEYWORDS = {Data mining, autonomic computing, self management, self protection, 
    network and system management, anomaly detection.},
  NOTE = {},
  MONTH = {March},
  YEAR = {2006},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/TechRep-FIU-SCIS-2006-03-01-ASM-KDD-2006.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{RobustBPEL-COMPSAC-TechRep,
  AUTHOR = {Onyeka Ezenwoye and {\bf S. Masoud Sadjadi}},
  TITLE = {Transparent Autonomization in AggregateWeb Services Using
    Dynamic Proxies},
  NUMBER = {FIU-SCIS-2006-02-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {
    We recently introduced RobustBPEL [13], a software toolkit that provides a systematic approach to
    making existing aggregate Web services more tolerant to the failure of their constituent Web services.
    Using RobustBPEL, we demonstrated how an aggregate Web service, defined as a BPEL process, can
    be instrumented automatically to monitor its partnerWeb services at runtime and replace failed services
    via a generated proxy. While in the previous work the proxy is statically bound to a limited number of
    alternative Web services, in this paper we propose an extension to the RobustBPEL toolkit to generate
    a proxy that dynamically discovers and binds to existing services. Further, we present details of the
    generation process, the architecture of the dynamic proxy, and finally use a case study to demonstrate
    how the generated dynamic proxy is used to support self-healing and self-optimization (specifically, to
    improve the fault-tolerance and performace) in an instrumented BPEL process.
  },
  KEYWORDS = {Web service monitoring, BPEL processes, self-healing, self-optimization, 
    dynamic service discovery.},
  NOTE = {},
  MONTH = {February},
  YEAR = {2006},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/Technical Report FIU-SCIS-2006-02-01-RobustBPEL-DynamicProxies.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{MobileServiceClouds-SelfMan-TechRep,
  AUTHOR = {Farshad A. Samimi and Philip K. McKinley and {\bf S. Masoud Sadjadi}},
  TITLE = {Mobile Service Clouds: A Self-Managing Infrastructure
    for Autonomic Mobile Computing Services},
  NUMBER = {MSU-CSE-06-7},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = {
    We recently introduced Service Clouds, a distributed infrastructure
    designed to facilitate rapid prototyping and deployment of autonomic communication
    services. In this paper, we propose a model that extends Service Clouds
    to the wireless edge of the Internet. This model, called Mobile Service Clouds,
    enables dynamic instantiation, composition, configuration, and reconfiguration
    of services on an overlay network to support self-management in mobile computing.
    We have implemented a prototype of this model and applied it to the problem
    of dynamically instantiating and migrating proxy services for mobile hosts. We
    conducted a case study involving data streaming across a combination of Planet-
    Lab nodes, local proxies, and wireless hosts. Results are presented demonstrating
    the effectiveness of the prototype in establishing new proxies and migrating their
    functionality in response to node failures.},
  KEYWORDS = {autonomic networking, distributed service composition, self-managing
    system, overlay network, mobile computing, quality of service.},
  NOTE = {},
  MONTH = {February},
  YEAR = {2006},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/TechRep-MSU-CSE-06-7-MobileServiceClouds.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{CVM-COMPSAC-TechRep,
  AUTHOR = {Yi Deng and {\bf S. Masoud Sadjadi} and Peter Clarke and Chi Zhang and Vagelis Hristidis and Raju 
                   Rangaswami and Nagarajan Prabakar},
  TITLE = {A Communication Virtual Machine},
  NUMBER = {FIU-SCIS-2006-02},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {
    The convergence of data, voice and multimedia
    communication over digital networks, coupled with
    continuous improvement in network capacity and
    reliability has significantly enriched the ways we
    communicate. However, the stovepipe approach used
    to develop today’s communication applications and
    tools results in rigid technology, limited utility, lengthy
    and costly development cycle, difficulty in integration,
    and hinders innovation. In this paper, we present a
    fundamentally different approach, which we call
    Communication Virtual Machine (CVM) to address
    these problems. CVM provides a user-centric, modeldriven
    approach for conceiving, synthesizing and
    delivering communication solutions across application
    domains. We argue that CVM represents a far more
    effective paradigm for engineering communication
    solutions. The concept, architecture, modeling
    language, prototypical design and implementation of
    CVM are discussed.},
  KEYWORDS = {Model driven, communication application,
    multimedia, middleware, telemedicine.},
  NOTE = {},
  MONTH = {February},
  YEAR = {2006},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/TechRep-FIU-SCIS-2006-02-CVM-COMPSAC.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{UCM-ICDCS-2006-TechRep,
  AUTHOR = {Chi Zhang and {\bf S. Masoud Sadjadi} and Weixiang Sun and Raju Rangaswami and Yi Deng},
  TITLE = {User-Centric Communication Middleware},
  NUMBER = {FIU-SCIS-2005-11-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {The development of communication 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 pace of 
                   innovation of new generation of communication applications. In this paper, we 
                   propose a user-centric communication middleware (UCM) that provides a unified 
                   higher-level abstraction for the class of multimedia communication applications. 
                   We investigate the minimum set of necessary requirements for this abstraction from 
                   the perspective of next-generation communication applications, and provide an API 
                   that exemplifies this abstraction. We demonstrate how UCM encapsulates the complexity 
                   of network-level communication control and media delivery. Further, we show how its 
                   extensible and self-managing design supports dynamic adaptation in response to changes 
                   in network conditions and application requirements with negligible overhead. Finally, 
                   we argue that UCM enables rapid development of portable communication applications, 
                   which can be easily deployed on IP-based networking infrastructure.},
  KEYWORDS = {Multimedia communication applications, user-centric middleware, autonomic computing.},
  NOTE = {},
  MONTH = {November},
  YEAR = {2005},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/TechRep-FIU-SCIS-2005-11-23-UCM.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{AggregateWS-BPEL-TechRep,
  AUTHOR = {Onyeka Ezenwoye and {\bf S. Masoud Sadjadi}},
  TITLE = {Composing AggregateWeb Services in BPEL},
  NUMBER = {FIU-SCIS-2005-10-01},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {Web services are increasingly being used to expose applications over the Internet. 
                   These Web services are being integrated within and across enterprises to create 
                   higher function services. BPEL is a workflow language that facilitates this integration. 
                   Although both academia and industry acknowledge the need for workflow languages, there 
                   are few technical papers focused on BPEL. In this paper, we provide an overview of 
                   BPEL and discuss its promises, limitations and challenges.},
  KEYWORDS = {Web services, workflow language, BPEL, business processes, application-to-application
                   integration, and business-to-business integration.},
  NOTE = {},
  MONTH = {October},
  YEAR = {2005},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/TechRep-FIU-SCIS-2005-10-01-AggregateWS.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{CVM-IEEE-Software-2006-TechRep,
  AUTHOR = {Yi Deng and {\bf S. Masoud Sadjadi} and Peter Clarke and Chi Zhang and Vagelis Hristidis and Raju 
                   Rangaswami and Nagarajan Prabakar},
  TITLE = {A Unified Architectural Model for On-Demand User-Centric Communications},
  NUMBER = {FIU-SCIS-2005-09},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {The rapid growth of networking technologies has drastically changed the way we 
                   communicate and enabled a wide range of communication applications. However, 
                   these applications have been conceived, designed, and developed separately with 
                   little or no connection to each other, resulting in a fragmented and incompatible 
                   set of technologies and products. Building new communication applications requires 
                   a lengthy and costly development cycle, which severely limits the pace of innovation. 
                   Current applications are also typically incapable of responding to changes in user 
                   communication needs as well as changing network infrastructure and device technology. 
                   In this article, we address these issues and present the Unified Communication Model 
                   (UCM), a new and user-centric approach for conceiving, generating, and delivering 
                   communication applications on-demand. We also introduce a prototype design and 
                   implementation of UCM and discuss future research directions toward realizing next 
                   generation communication applications.},
  KEYWORDS = {Unified communication model, software generation, on-demand multimedia communication 
                   applications, autonomic computing.},
  NOTE = {},
  MONTH = {September},
  YEAR = {2005},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/TechRep-FIU-SCIS-2005-09-CVM.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{RobustBPEL-1-TechRep,
  AUTHOR = {Onyeka Ezenwoye and {\bf S. Masoud Sadjadi}},
  TITLE = {Enabling Robustness in Existing BPEL Processes},
  NUMBER = {FIU-SCIS-2005-08},
  INSTITUTION = {School of Computing and Information Sciences, Florida International University},
  ADDRESS = {11200 SW 8th St., Miami, FL 33199},
  ABSTRACT = {Web services are increasingly being used to expose applications over the Internet. 
                   To promote efficiency and the reuse of software, these web services are being 
                   integrated both within enterprises and across enterprises, creating higher function 
                   services. BPEL is a workflow language that can be used to facilitate this integration. 
                   Unfortunately, the autonomous nature of web services leaves BPEL processes susceptible 
                   to the failures of their constituent services. In this paper, we present a systematic 
                   approach to making existing BPEL processes more fault tolerant by monitoring the 
                   involved web services at runtime, and by replacing delinquent web services dynamically. 
                   To show the feasibility of our approach, we developed a prototype implementation that 
                   generates more robust BPEL processes from existing ones automatically. The use of the 
                   prototype is demonstrated using an existing loan approval BPEL process.},
  KEYWORDS = {ECommerce, web service monitoring, robust BPEL processes, dynamic service discovery.},
  NOTE = {},
  MONTH = {August},
  YEAR = {2005},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadi@cs.fiu.edu},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/TechRep-FIU-SCIS-2005-08-RobustBPEL.pdf},
  CONTACT = {sadjadi@cs.fiu.edu}
}


@TECHREPORT{TRAP-MPAC-TechRep,
  AUTHOR = {Farshad A. Samimi and Philip K. McKinley and {\bf S. Masoud Sadjadi} and
                   Peng Ge},
  TITLE = {Kernel-Middleware Interaction to Support Adaptation in
                   Pervasive Computing Environments},
  NUMBER = {MSU-CSE-04-30},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = {In pervasive computing environments, conditions are highly
                   variable and resources are limited. In order to meet the
                   needs of applications, systems must adapt dynamically to
                   changing situations. Since adaptation at one system layer
                   may be insufficient, cross-layer, or vertical approaches to
                   adaptation may be needed. Moreover, adaptation in
                   distributed systems often requires horizontal cooperation
                   among hosts. This cooperation is not only limited to the
                   source and destination(s) of a data stream, but might also
                   include intermediate hosts in an overlay network or mobile
                   ad hoc network. We refer to this combined capability as
                   universal adaptation. We contend that the model defining
                   interaction between adaptive middleware and the operating
                   system is critical to realizing universal adaptation. We
                   explore this hypothesis by evaluating the Kernel-Middleware
                   eXchange (KMX), a specific model for cross-layer,
                   cross-system adaptation. We present the KMX architecture and
                   discuss its potential role in supporting universal
                   adaptation in pervasive computing environments. We then
                   describe a prototype implementation of KMX and show results
                   of an experimental case study in which KMX is used to
                   improve the quality of video streaming to mobile nodes in a
                   hybrid wired-wireless network. },
  KEYWORDS = {},
  NOTE = {},
  MONTH = {August},
  YEAR = {2004},
  AUTHOR1_URL = {http://www.cse.msu.edu/~farshad/},
  AUTHOR1_EMAIL = {farshad@cse.msu.edu},
  AUTHOR2_URL = {http://www.cse.msu.edu/~mckinley/},
  AUTHOR2_EMAIL = {mckinley@cse.msu.edu},
  PAGES = {8},
  FILE = {},
  URL = {},
  CONTACT = {mckinley@cse.msu.edu}
}


@TECHREPORT{CompositionalAdaptationTaxonomy-TechRep,
  AUTHOR = {Philip K. McKinley and {\bf S. Masoud Sadjadi} and
                   Eric P. Kasten and Betty H. C. Cheng},
  TITLE = {A Taxonomy of Compositional Adaptation},
  NUMBER = {MSU-CSE-04-17},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = {Driven by the emergence of pervasive computing and the
                   increasing need for self-managed systems, many approaches
                   have been proposed for building software that can
                   dynamically adapt to its environment. These adaptations
                   involve not only changes in program flow, but also run-time
                   recomposition of the software itself. We discuss the
                   supporting technologies that enable dynamic recomposition
                   and classify different approaches according to how, when and
                   where recomposition occurs. We also highlight key challenges
                   that need to be addressed to realize the full potential of
                   run-time adaptable software. This survey is intended to be a
                   living document, updated periodically to summarize and
                   classify new contributions to the field. The document is
                   maintained under the RAPIDware project web site,
                   specifically, at http://www.cse.msu.edu/rapidware/survey.
                   },
  KEYWORDS = {adaptive software, compositional adapation, middleware,
                   survey, taxonomy, pervasive computing, autonomic computing,
                   computational reflection, separation of concerns,
                   component-based design, aspect-oriented programming,
                   object-oriented programming.},
  NOTE = {},
  MONTH = {May},
  YEAR = {2004},
  AUTHOR1_URL = {http://www.cse.msu.edu/~mckinley},
  AUTHOR1_EMAIL = {mckinley@cse.msu.edu},
  AUTHOR2_URL = {},
  AUTHOR2_EMAIL = {sadjadis@cse.msu.edu},
  PAGES = {},
  FILE = {},
  PDF = {CompositionalAdaptationTaxonomy-TechRep.pdf},
  URL = {},
  CONTACT = {sadjadis@cse.msu.edu}
}


@TECHREPORT{IWQoS-TechRep,
  AUTHOR = {Zhinan Zhou and Philip K. McKinley and
                   {\bf S. Masoud Sadjadi}},
  TITLE = {On Quality-of-Service and Energy Consumption Tradeoffs in
                   FEC-Encoded Audio Streaming},
  NUMBER = {MSU-CSE-04-16},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = {This paper addresses the energy consumption of forward error
                   correction (FEC) protocols as used to improve
                   quality-of-service (QoS) for wireless computing devices. The
                   paper also characterizes the effect on energy consumption
                   and QoS of the power saving mode in 802.11 wireless local
                   area networks (WLANs). Experiments are described in which
                   FEC-encoded audio streams are multicast to mobile computers
                   across a WLAN. Results of these experiments quantify the
                   tradeoffs between improved QoS, due to FEC, and additional
                   energy consumption caused by receiving and decoding
                   redundant packets. Two different approaches to FEC are
                   compared relative to these metrics. The results of this
                   study enable the development of adaptive software mechanisms
                   that attempt to manage these tradeoffs in the presence of
                   highly dynamic wireless environments. },
  KEYWORDS = {energy consumption, quality-of-service, forward error correction,
                   mobile computing, handheld computer, adaptive middleware},
  NOTE = {},
  MONTH = {April},
  YEAR = {2004},
  AUTHOR1_URL = {},
  AUTHOR1_EMAIL = {zhouzhin@cse.msu.edu},
  AUTHOR2_URL = {},
  AUTHOR2_EMAIL = {sadjadis@cse.msu.edu},
  PAGES = {21},
  FILE = {},
  URL = {},
  CONTACT = {sadjadis@cse.msu.edu}
}


@TECHREPORT{AdaptiveMiddlewareSurvey-TechRep,
  AUTHOR = {{\bf S. M. Sadjadi} and P. K. McKinley},
  TITLE = {A Survey of Adaptive Middleware},
  NUMBER = {MSU-CSE-03-35},
  INSTITUTION = {Computer Science and Engineering, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = {
    Developing distributed applications is a difficult task 
    due to three major problems: the complexity of programming 
    interprocess communication, the need to support services 
    across heterogeneous platforms, and the need to adapt to 
    changing conditions. Traditional middleware (such as CORBA, 
    DCOM, and Java RMI) addresses the first two problems to 
    some extent through the use of a ``black-box" approach, 
    such as encapsulation in object-oriented programming. 
    However, traditional middleware is limited in its ability 
    to support adaptation. To address all the three problems, 
    {\em adaptive} middleware has evolved from traditional 
    middleware. In addition to the object-oriented programming 
    paradigm, adaptive middleware employs several other key 
    technologies including computational reflection, 
    component-based design, aspect-oriented programming, and 
    software design patterns. This survey paper proposes a 
    three-dimensional taxonomy that categorizes different 
    adaptive middleware approaches. Examples of each category 
    are described and compared in detail. Suggestions for 
    future research are also provided. },
  KEYWORDS = {
    adaptive middleware, taxonomy, computational reflection, 
    component-based design, aspect-oriented programming, 
    software design patterns, static adaptation, dynamic 
    adaptation, quality of service, dependable systems, 
    embedded systems.},
  NOTE = {},
  MONTH = {December},
  YEAR = {2003},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadis@cse.msu.edu},
  AUTHOR2_URL = {http://www.cse.msu.edu/~mckinley},
  AUTHOR2_EMAIL = {mckinley@cse.msu.edu},
  PAGES = {1--38},
  FILE = {},
  URL = {},
  PDF = {AdaptiveMiddlewareSurvey.pdf},
  PS = {AdaptiveMiddlewareSurvey.ps},
  CONTACT = {sadjadis@cse.msu.edu}
}


@TECHREPORT{QET-TechRep,
  AUTHOR = {P. K. McKinley and Z. Zhou and {\bf S. M. Sadjadi}},
  TITLE = {Tradeoffs between {QoS} and Energy Consumption in
                   {FEC}-Supported Wireless Handheld Computers},
  NUMBER = {MSU-CSE-03-34},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = {Abstract—This paper investigates the energy consumption of
                   forward error correction (FEC) protocols as used to improve
                   quality-of-service (QoS) for wireless handheld devices. Also
                   addressed is the effect on energy consumption and QoS of the
                   power saving mode in 802.11 wireless local area networks
                   (WLANs). Experiments are conducted in which FEC-encoded
                   audio streams are multicast to multiple HP/Compaq iPAQ
                   handheld computers across a WLAN. The results of these
                   experiments help to quantify the tradeoff between improved
                   packet delivery rate, due to FEC, and additional energy
                   consumption caused by receipt and decoding of redundant
                   packets. Moreover, the results enable the development of
                   adaptive software mechanisms that attempt to manage these
                   tradeoffs in the presence of highly dynamic environments.
                   },
  KEYWORDS = {energy consumption, quality-of-service, forward error correction},
  NOTE = {},
  MONTH = {December},
  YEAR = {2003},
  AUTHOR1_URL = {www.cse.msu.edu/~mckinley},
  AUTHOR1_EMAIL = {mckinley@cse.msu.edu},
  AUTHOR2_URL = {www.cse.msu.edu/~zhouzhin},
  AUTHOR2_EMAIL = {zhouzhin@cse.msu.edu},
  PAGES = {10},
  FILE = {},
  URL = {},
  CONTACT = {sadjadis@cse.msu.edu}
}


@TECHREPORT{PerCom-TechRep,
  AUTHOR = {{\bf S. M. Sadjadi} and P. K. McKinley},
  TITLE = {Supporting Transparent and Generic Adaptation in Pervasive Computing Environments},
  NUMBER = {MSU-CSE-03-32},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = { This paper addresses the design of middleware to
                   support run-time adaptation in pervasive computing 
                   environments.  The particular problem we address here
                   is how to support adaptation to changing network connection capabilities
                   as a mobile user interacts with heterogeneous elements
                   in a wireless network infrastructure.
                   The goal is to enable adaptation to such changes automatically
                   and, with respect to the core application code, transparently.
                   We propose a solution based the use of {\em generic proxies},
                   which can intercept and process communication requests 
                   using rules and actions that can be introduced to the system
                   during execution.
                   To explore their design and operation, we have incorporated
                   generic proxies into ACT~\cite{ACT-TechRep}, a system we designed previously
                   to support adaptation in CORBA applications.
                   Details of ACT-based generic proxies are presented, followed
                   by results of a case study involving adaptation of a surveillance
                   application in a heterogeneous wireless environment.
                   },
  KEYWORDS = {middleware, dynamic adaptation, transparent adaptation,
                   generic proxy, dynamic weaving, quality-of-service, mobile computing},
  NOTE = {},
  MONTH = {November},
  YEAR = {2003},
  AUTHOR1_URL = {http://www.cse.msu.edu/~sadjadis},
  AUTHOR1_EMAIL = {sadjadis@cse.msu.edu},
  AUTHOR2_URL = {http://www.cse.msu.edu/~mckinley},
  AUTHOR2_EMAIL = {mckinley@cse.msu.edu},
  PAGES = {},
  FILE = {},
  URL = {http://www.cse.msu.edu/cgi-user/web/tech/document?ID=556},
  CONTACT = {sadjadis@cse.msu.edu}
}


@TECHREPORT{TRAP-TechRep,
  AUTHOR = {{\bf S. M. Sadjadi} and P. K. McKinley and R. E. K. Stirewalt and B. H.C. Cheng},
  TITLE = {{TRAP}: Transparent Reflective Aspect Programming},
  NUMBER = {MSU-CSE-03-31},
  INSTITUTION = {Computer Science and Engineering, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = {
    This paper introduces transparent reflective aspect programming
    (TRAP), a generator framework to support
    efficient, dynamic, and traceable adaptation in software.
    TRAP enables adaptive functionality to be added to
    an existing application without modifying its source code.
    To reduce overhead, TRAP enables the
    developer to select, at compile time,
    a subset of classes to support adaptation through
    run-time aspect weaving.
    TRAP uses aspect-oriented programming and behavioral
    reflection to automatically generate the
    required aspects and reflective classes
    associated with the selected types.
    At run time, new adaptive behavior can be introduced
    to the application transparently
    with respect to the original code.
    TRAP can be applied to any object-oriented language that
    supports structural reflection.
    A prototype, TRAP/J, which has been developed for use with
    Java applications, is described.
    A case study is presented
    in which TRAP was used to enable an existing
    audio-streaming application to operate effectively in
    a wireless network environment
    by adapting to changing conditions.
  },
  KEYWORDS = {dynamic adaptation, aspect-oriented programming, computational reflection,
    behavioral reflection, adaptive middleware, transparent adaptation, quality-of-service,
    mobile computing},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/TRAP-TechRep.pdf},
  PS = {http://www.cs.fiu.edu/~sadjadi/Publications/TRAP-TechRep.ps},
  NOTE = {},
  MONTH = {November},
  YEAR = {2003},
  AUTHOR1_URL = {http://www.cs.fiu.edu/~sadjadi/},
  AUTHOR1_EMAIL = {sadjadis@cse.msu.edu},
  AUTHOR2_URL = {http://www.cse.msu.edu/~mckinley},
  AUTHOR2_EMAIL = {mckinley@cse.msu.edu},
  PAGES = {},
  URL = {http://www.cse.msu.edu/cgi-user/web/tech/document?ID=555},
  CONTACT = {sadjadis@cse.msu.edu}
}


@TECHREPORT{ACT-TechRep,
  AUTHOR = {{\bf S. M. Sadjadi} and P. K. McKinley},
  TITLE = {{ACT}: An Adaptive {CORBA} Template to Support Unanticipated
                   Adaptation},
  NUMBER = {MSU-CSE-03-22},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = { This paper proposes an Adaptive CORBA Template (ACT), which
                   enables run-time improvements to CORBA applications in
                   response to unanticipated changes in either their functional
                   requirements or their execution environments. ACT enhances
                   CORBA applications by weaving adaptive code into the
                   applications' object request brokers (ORBs) at run time. The
                   woven code intercepts and adapts the requests, replies, and
                   exceptions that pass through the ORBs. ACT itself is
                   language- and ORB-independent. Specifically, ACT can be used
                   to develop an object-oriented framework in any language that
                   supports dynamic loading of code and can be applied to any
                   CORBA ORB that supports portable interceptors. Moreover, ACT
                   can be integrated with other adaptive CORBA frameworks and
                   can be used to support interoperation among otherwise
                   incompatible frameworks. To evaluate the performance and
                   functionality of ACT, we implemented a prototype in Java to
                   support unanticipated adaptation in non-functional concerns,
                   such as quality-of-service and system-resource management.
                   Our experimental results show that the overhead introduced
                   by the ACT infrastructure is negligible, while the
                   adaptations offered are highly flexible.
                   },
  KEYWORDS = {middleware, CORBA, dynamic adaptation, interoperability,
                   request interceptor, dynamic weaving, proxy,
                   quality-of-service, mobile computing},
  MONTH = {August},
  YEAR = {2003},
  AUTHOR1_URL = {http://www.cse.msu.edu/~sadjadis},
  AUTHOR1_EMAIL = {sadjadis@cse.msu.edu},
  AUTHOR2_URL = {http://www.cse.msu.edu/~mckinley},
  AUTHOR2_EMAIL = {mckinley@cse.msu.edu},
  PAGES = {},
  FILE = {},
  URL = {http://www.cse.msu.edu/cgi-user/web/tech/document?ID=546},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/ACT-TechRep.pdf},
  CONTACT = {mckinley@cse.msu.edu}
}


@TECHREPORT{MetaSockets-TechRep,
  AUTHOR = {{\bf S. M. Sadjadi} and P. K. McKinley and
                   E. P. Kasten},
  TITLE = {{MetaSockets}: Run-Time Support for Adaptive Communication
                   Services},
  NUMBER = {MSU-CSE-02-22},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = {Rapid improvements in mobile computing devices and wireless
                   networks promise to provide a foundation for ubiquitous
                   computing. However, comparable advances are needed in the
                   design of mobile computing applications and supporting
                   middleware. Distributed software must be able to adapt to
                   dynamic situations related to several cross-cutting
                   concerns, including quality-of-service, fault-tolerance,
                   energy management, and security. We previously introduced
                   Adaptive Java, an extension to the Java programming
                   language, which provides language constructs and compiler
                   support for the development of adaptive software. This paper
                   describes the use of Adaptive Java to develop an adaptable
                   communication component called the MetaSocket. MetaSockets
                   are created from existing Java socket classes, but their
                   structure and behavior can be adapted at run time in
                   response to external stimuli. MetaSockets can be used for
                   several distributed computing tasks, including audits of
                   traffic patterns for intrusion detection, adaptive error
                   control on wireless networks, and dynamic energy management
                   for handheld and wearable computers. This paper focuses on
                   the internal architecture and operation of MetaSockets. We
                   describe how their adaptive behavior is implemented using
                   Adaptive Java programming language constructs, 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 = {adaptive middleware, reflection, aspect-oriented programming,
                   forward error correction},
  NOTE = {},
  MONTH = {July},
  YEAR = {2002},
  AUTHOR1_URL = {},
  AUTHOR1_EMAIL = {sadjadis@cse.msu.edu},
  AUTHOR2_URL = {},
  AUTHOR2_EMAIL = {mckinley@cse.msu.edu},
  PAGES = {},
  FILE = {},
  URL = {http://www.cse.msu.edu/cgi-user/web/tech/document?ID=518},
  PS = {http://www.cs.fiu.edu/~sadjadi/Publications/MetaSockets.ps.gz},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/MetaSockets.pdf},
  CONTACT = {mckinley@cse.msu.edu}
}


@TECHREPORT{WOSS-TechRep,
  AUTHOR = {Z. Yang and B. H.C. Cheng and R. E. K. Stirewalt and J. Sowell and {\bf S. M. Sadjadi} and
                   P. K. McKinley},
  TITLE = {An Aspect-Oriented Approach to Dynamic Adaptation},
  NUMBER = {MSU-CSE-02-21},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  ADDRESS = {East Lansing, Michigan},
  ABSTRACT = {This paper presents an aspect-oriented approach to dynamic
                   adaptation. A systematic process for defining where, when,
                   and how an adaptation is to be incorporated into an
                   application is presented. A formal model for describing
                   characteristics of dynamically adaptive applications is
                   introduced, which enables precise descriptions of different
                   approaches to dynamic adaptation. },
  KEYWORDS = {aspect-oriented programming, adaptation, security,
                   group communication},
  NOTE = {},
  MONTH = {July},
  YEAR = {2002},
  AUTHOR1_URL = {},
  AUTHOR1_EMAIL = {yangzhe1@cse.msu.edu},
  AUTHOR2_URL = {},
  AUTHOR2_EMAIL = {chengb@cse.msu.edu},
  PAGES = {},
  FILE = {},
  URL = {http://www.cse.msu.edu/cgi-user/web/tech/document?ID=517},
  CONTACT = {chengb@cse.msu.edu}
}


@TECHREPORT{AdaptiveJava-TechRep,
  AUTHOR = {E. P. Kasten and P. K. McKinley and {\bf S. M. Sadjadi} and R. E. K. Stirewalt},
  TITLE = {Separating Introspection and Intercession to Support Metamorphic Distributed Systems},
  INSTITUTION = {Department of Computer Science, Michigan State University},
  YEAR = {2002},
  NUMBER = {MSU-CSE-02-1},
  ADDRESS = {East Lansing, Michigan},
  MONTH = {January},
  ABSTRACT = {Many middleware platforms use computational reflection to support adaptive functionality. Most approaches intertwine the activity of observing behavior (introspection) with the activity of changing behavior (intercession). This paper explores the use of language constructs to separate these parts of reflective functionality. This separation and ``packaging'' of reflective primitives is intended to facilitate the design of correct and consistent adaptive middleware. A prototype implementation is described in which this functionality is realized through extensions to the Java programming language. A case study is described in which metamorphic socket components are created from regular socket classes and used to realize adaptive behavior on wireless network connections. },
  KEYWORDS = {Adaptive middleware, reflection, component design, mobile computing, wireless networks, forward error correction.},
  AUTHOR1_URL = {},
  AUTHOR1_EMAIL = {kasten@cse.msu.edu},
  AUTHOR2_URL = {},
  AUTHOR2_EMAIL = {mckinley@cse.msu.edu},
  PAGES = {},
  FILE = {},
  URL = {http://www.cse.msu.edu/cgi-user/web/tech/document?ID=497},
  PDF = {http://www.cs.fiu.edu/~sadjadi/Publications/AdaptiveJava-tech.pdf},
  CONTACT = {mckinley@cse.msu.edu}
}