pubs2001-2006.bib


@ARTICLE{TaMc06.TPDS,
  AUTHOR = {Chiping Tang and Philip K. McKinley},
  TITLE = {Energy Optimization under Informed Mobility},
  JOURNAL = {IEEE Transactions on Parallel and Distributed Systems,
special issue on Localized Communication and Topology Protocols for Ad Hoc Networks},
  YEAR = {2006},
  MONTH = {September},
  VOLUME = {17},
  NUMBER = {9},
  PAGES = {947--962},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/2006-tpds-tang.pdf}
}


@INCOLLECTION{SaMc06.Handbook,
  AUTHOR = {S. M. Sadjadi and P. K. McKinley},
  TITLE = {Transparent Autonomization in Composite Systems},
  BOOKTITLE = {Autonomic Computing: Concepts, Infrastructure, and Applications},
  EDITOR = {Salim Hariri and Manish Parashar},
  YEAR = {2006},
  PUBLISHER = {CRC Press},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/2006-handbook.pdf}
}


@ARTICLE{SPE2006,
  TITLE = {MetaSockets: Design and operation of run-time reconfigurable communication services},
  AUTHOR = {S. Sadjadi and P. McKinley and E. Kasten and Z. Zhou},
  JOURNAL = {Software Practice and Experience},
  YEAR = {2006},
  VOLUME = {36},
  NUMBER = {11-12},
  PAGES = {1157--1178},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/spe-2006.pdf}
}


@INPROCEEDINGS{MSST.DASC.2006,
  AUTHOR = {P. McKinley and F. Samimi and J. Shapiro and C. Tang},
  TITLE = {Service Clouds: A Distributed Infrastructure for Constructing Autonomic Communication Services},
  BOOKTITLE = {Proceedings of the Second IEEE International Symposium on Dependable, Autonomic and Secure Computing},
  YEAR = {2006},
  ADDRESS = {Indianapolis, Indiana},
  MONTH = {September},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/dasc-2006.pdf}
}


@ARTICLE{MultimediaInstructionLab,
  AUTHOR = {Philip K. McKinley and Betty H.C.  Cheng and Juyang Weng},
  TITLE = {Integrating Multimedia Technology into the Undergraduate Curriculum},
  JOURNAL = {International Journal of Engineering Education},
  VOLUME = {22},
  NUMBER = {4},
  YEAR = {2006}
}


@INPROCEEDINGS{COCA.MNSA06,
  AUTHOR = {Z. Zhou and P. K. McKinley},
  TITLE = {COCA: A Contract-Based Infrastructure for Composing Adaptive Multimedia Systems},
  BOOKTITLE = {Proceedings of the 8th International Workshop on Multimedia
Network Systems and Applications (MNSA 2006), held in conjunction
with the IEEE 26th International Conference on Distributed
Computing Systems (ICDCS 2006)},
  ADDRESS = {Lisbon, Portugal},
  MONTH = JUL,
  YEAR = 2006
}


@INPROCEEDINGS{Samimi06.Selfman,
  AUTHOR = {F. Samimi and P. K. McKinley and S. M. Sadjadi},
  TITLE = {Mobile service clouds: A self-managing infrastructure for autonomic mobile computing services},
  BOOKTITLE = {Proceedings of the Second IEEE International Workshop on Self-Managed Networks, Systems and Services (SelfMan)},
  YEAR = {2006},
  ADDRESS = {Dublin, Ireland},
  MONTH = {June},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/2006-Selfman.pdf}
}


@INPROCEEDINGS{TA-LTL-EASE-2006,
  TITLE = {{TA-LTL}: Specifying Adaptation Timing Properties in Autonomic Systems},
  AUTHOR = {Z. Zhou and J. Zhang and P. K. McKinley and B. H. C. Cheng},
  BOOKTITLE = {Third IEEE Workshop on Engineering of Autonomic and Autonomous Systems (EASe 2006)},
  ADDRESS = {Columbia, Maryland},
  MONTH = {April},
  YEAR = {2006},
  NOTE = {Selected as one of the best papers, invited for journal publication.}
}


@INCOLLECTION{SafeAdaptation-ADS-LNCS05,
  AUTHOR = {Ji Zhang and Betty H. C. Cheng and Zhenxiao Yang and Philip K. McKinley},
  TITLE = {Enabling Safe Dynamic Component-Based Software Adaptation},
  BOOKTITLE = {Architecting Dependable Systems {III}, Springer Lecture Notes for Computer Science},
  EDITOR = {Rogerio de Lemos, Cristina Gacek, Alexander Romanovsky},
  PUBLISHER = {Springer-Verlag},
  YEAR = {2005}
}


@INPROCEEDINGS{SM05.TAI.ICAC,
  AUTHOR = {S. M. Sadjadi and P. K. McKinley},
  TITLE = {Using Transparent Shaping and Web Services to Support
                  Self-Management of Composite Systems},
  BOOKTITLE = {Proceedings of the Second IEEE International Conference on Autonomic Computing (ICAC)},
  YEAR = {2005},
  ADDRESS = {Seattle, Washington},
  MONTH = {June},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/icac-2005.pdf},
  ABSTRACT = {}
}


@INPROCEEDINGS{TM05.TAROM.ADSN,
  AUTHOR = {C. Tang and P. K. McKinley},
  TITLE = {Improving Mutipath Reliability in Topology-Aware Overlay Networks},
  BOOKTITLE = {Proceedings of the Fourth International Workshop on Assurance 
				in Distributed Systems and Networks (ADSN), held in conjunction 
                with the 25th IEEE International Conference on Distributed Computing Systems},
  YEAR = {2005},
  ADDRESS = {Columbus, Ohio},
  MONTH = {June},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/adsn-2005.pdf},
  ABSTRACT = {}
}


@INPROCEEDINGS{TM05.iMOBIF.WWAN,
  AUTHOR = {C. Tang and P. K. McKinley},
  TITLE = {{iMobif}: An Informed Mobility Framework for Energy Optimization in Wireless Ad Hoc Networks},
  BOOKTITLE = {Proceedings of the Second International Workshop on Wireless Ad Hoc 
                  Networking (WWAN), in conjunction with the 25th IEEE International 
                  Conference on Distributed Computing Systems},
  YEAR = {2005},
  ADDRESS = {Columbus, Ohio},
  MONTH = {June},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/wwan-2005.pdf},
  ABSTRACT = {}
}


@INPROCEEDINGS{FCSM05.TRAP.DEAS,
  AUTHOR = {S. Fleming and B. H. C. Cheng and R. E. K. Stirewalt and P. K. McKinley},
  TITLE = {An Approach to Implementing Dynamic Adaptation in C++},
  BOOKTITLE = {Proceedings of the ICSE Workshop on Design and Evolution of Autonomic Application Software (DEAS)},
  YEAR = {2005},
  ADDRESS = {St. Louis, Missouri},
  MONTH = {May},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/deas-2005-fleming.pdf},
  ABSTRACT = {}
}


@INPROCEEDINGS{SMC05.TS.DEAS,
  AUTHOR = {S. M. Sadjadi and P. K. McKinley and B. H. C. Cheng},
  TITLE = {Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing},
  BOOKTITLE = {Proceedings of the ICSE Workshop on Design and Evolution of Autonomic Application Software (DEAS)},
  YEAR = {2005},
  ADDRESS = {St. Louis, Missouri},
  MONTH = {May},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/deas-2005.pdf},
  ABSTRACT = {}
}


@INPROCEEDINGS{KaMc.MESO.ICDL04,
  AUTHOR = {E. P. Kasten and P. K. McKinley},
  TITLE = {MESO: Perceptual memory to support online learning in adaptive software},
  BOOKTITLE = {Proceedings of the 3rd International Conference on Development and Learning (ICDL'04)},
  PAGES = {},
  YEAR = {2004},
  OPTEDITOR = {},
  OPTVOLUME = {},
  OPTNUMBER = {},
  OPTSERIES = {},
  ADDRESS = {La Jolla, California},
  MONTH = {October},
  OPTORGANIZATION = {},
  OPTPUBLISHER = {},
  OPTANNOTE = {},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/icdl-2004.pdf},
  ABSTRACT = {}
}


@INPROCEEDINGS{TRAP.DOA.04,
  AUTHOR = {S. M. Sadjadi and P. K. McKinley and B. H. C. Cheng and R. E. K. Stirewalt},
  TITLE = {{TRAP/J}: Transparent Generation of Adaptable Java Programs},
  BOOKTITLE = {Proceedings of the 2004 International Symposium on Distributed Objects and Applications},
  PAGES = {},
  YEAR = {2004},
  OPTEDITOR = {},
  OPTVOLUME = {},
  OPTNUMBER = {},
  OPTSERIES = {},
  ADDRESS = {Agia Napa, Cyprus},
  MONTH = {October},
  OPTORGANIZATION = {},
  OPTPUBLISHER = {},
  OPTANNOTE = {},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/doa-2004.pdf},
  ABSTRACT = {}
}


@INPROCEEDINGS{M2.RM2004,
  AUTHOR = {Z. Yang and Z. Zhou and B. H. C. Cheng and P. K. McKinley},
  TITLE = {Enabling Collaborative Adaptation across Legacy Components},
  BOOKTITLE = {Proceedings of the Third Workshop on Reflective and Adaptive Middleware (with Middleware'04)},
  PAGES = {},
  YEAR = {2004},
  OPTEDITOR = {},
  OPTVOLUME = {},
  OPTNUMBER = {},
  OPTSERIES = {},
  ADDRESS = {Toronto, Ontario, Canada},
  MONTH = {October},
  OPTORGANIZATION = {},
  OPTPUBLISHER = {},
  OPTANNOTE = {},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/m2-rm2004.pdf},
  ABSTRACT = {}
}


@INPROCEEDINGS{KMX.MPAC.04,
  AUTHOR = {F. Samimi and P. K. McKinley and S. M. Sadjadi and P. Ge},
  TITLE = {Kernel-Middleware Interaction to Support Adaptation in
Pervasive Computing Environments},
  BOOKTITLE = {Proceedings of the Second
International Workshop on Middleware for Pervasive and Ad-Hoc Computing (with Middleware'04},
  PAGES = {},
  YEAR = {2004},
  OPTEDITOR = {},
  OPTVOLUME = {},
  OPTNUMBER = {},
  OPTSERIES = {},
  ADDRESS = {Toronto, Ontario, Canada},
  MONTH = {October},
  OPTORGANIZATION = {},
  OPTPUBLISHER = {},
  OPTANNOTE = {},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/mpac-2004.pdf},
  ABSTRACT = {}
}


@ARTICLE{McKinley.Computer.2004,
  AUTHOR = {P. K. McKinley and S. M. Sadjadi and E. P. Kasten and B. H. C. Cheng},
  TITLE = {Composing Adaptive Software},
  JOURNAL = {IEEE Computer},
  VOLUME = {37},
  NUMBER = {7},
  OPTMONTH = {July},
  YEAR = {2004},
  PAGES = {56-64},
  URL = {http://www.cse.msu.edu/rapidware/survey}
}


@INPROCEEDINGS{Zhou.IWQOS.2004,
  AUTHOR = {Z. Zhou and P. K. McKinley and S. M. Sadjadi},
  TITLE = {On Quality-of-Service and Energy Consumption Tradeoffs in 
           {FEC}-Enabled Audio Streaming},
  BOOKTITLE = {Proceedings of the 12th IEEE International Workshop on Quality of Service (IWQoS 2004)},
  YEAR = {2004},
  ADDRESS = {Montreal, Canada},
  MONTH = {June},
  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.
  },
  NOTE = {selected as Best Student Paper)},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/iwqos-04.pdf}
}


@INPROCEEDINGS{ACT-ICAC,
  AUTHOR = {S. M. Sadjadi and P. K. McKinley},
  TITLE = {Transparent Self-Optimization in Existing {CORBA} Applications},
  BOOKTITLE = {Proceedings of the International Conference on Autonomic Computing (ICAC-04)},
  YEAR = {2004},
  ADDRESS = {New York, NY},
  MONTH = {May},
  ABSTRACT = {
    This paper addresses the design of adaptive middleware 
    to support autonomic computing in pervasive computing 
    environments.  
    The particular problem we address here is how to support 
    self-optimization to changing network connection capabilities
    as a mobile user interacts with heterogeneous elements
    in a wireless network infrastructure.
    The goal is to enable self-optimization to such changes 
    transparently with respect to the core application code.
    We propose a solution based on the use of the {\em generic 
    proxy}, which is a specific CORBA object that can intercept 
    and process any CORBA request using rules and actions that 
    can be introduced to the knowledge base of the proxy during 
    execution.
    To explore its design and operation, we have incorporated
    the generic proxy into ACT [1], an adaptive 
    middleware framework we designed previously to support 
    adaptation in CORBA applications.
    Details of the generic proxy are presented, followed by 
    results of a case study enabling self-optimization for an 
    existing surveillance application in a heterogeneous 
    wireless environment.
  },
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/ACT-ICAC.pdf}
}


@INPROCEEDINGS{TRAP-ICAC,
  AUTHOR = {S. M. Sadjadi and P. K. McKinley and R. E. K. Stirewalt and B. H. C. Cheng},
  TITLE = {Generation of Self-Optimizing Wireless Network Applications},
  BOOKTITLE = {Proceedings of the International Conference on Autonomic Computing (ICAC-04)},
  YEAR = {2004},
  ADDRESS = {New York, NY},
  MONTH = {May},
  ABSTRACT = {
    This paper introduces {\em TRAP/J}, a software tool that 
    enables autonomic computing in existing Java programs by 
    generating {\em adapt-ready} versions of the original programs
    at compile time.
    The generation process is transparent to the original 
    program source code, in which there is no need to modify
    the source code manually.
    At run time, new behavior can be introduced to the adapt-ready
    programs.   
    To reduce overhead, TRAP/J enables the developer to select, 
    at compile time, a subset of classes, constituting an 
    existing program, to be adaptive at run time.
    To support dynamic adaptation in existing Java programs, 
    TRAP/J benefits from aspect-oriented programming and 
    behavioral reflection.
    TRAP/J generate specific aspects and reflective classes associated 
    with the selected classes.
    A case study is presented in which TRAP/J was used to 
    enable an existing audio-streaming application to perform 
    self-optimization in a wireless network environment by 
    adapting to changing conditions automatically.
  },
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/TRAP-ICAC.pdf}
}


@INPROCEEDINGS{Zhang.WADS.2004,
  AUTHOR = {J. Zhang and Z. Yang and B. H.C. Cheng and P. K. McKinley},
  TITLE = {Adding Safeness to Dynamic Adaptation Techniques},
  BOOKTITLE = {Proceedings of the ICSE 2004 Workshop on Architecting Dependable Systems},
  YEAR = {2004},
  ADDRESS = {Edinburgh, Scotland},
  MONTH = {May},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/WADS-04.pdf}
}


@INPROCEEDINGS{ACT-ICDCS,
  AUTHOR = {S. M. Sadjadi and P. K. McKinley},
  TITLE = {{ACT}: An Adaptive {CORBA} Template to Support Unanticipated
                   Adaptation},
  BOOKTITLE = {Proceedings of the 24th IEEE International Conference on Distributed Computing Systems (ICDCS)},
  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 adapt 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.},
  MONTH = {March},
  YEAR = {2004},
  ADDRESS = {Tokyo, Japan},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/icdcs-04-act.pdf}
}


@INPROCEEDINGS{tang-icdcs04,
  AUTHOR = {C. Tang and P. K. McKinley},
  TITLE = {A Distributed Approach to Topology-Aware Overlay Path
Monitoring},
  BOOKTITLE = {Proceedings of the 24th IEEE International Conference on
Distributed Computing Systems (ICDCS)},
  ADDRESS = {Tokyo, Japan},
  MONTH = {March},
  YEAR = {2004},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/icdcs-04-tang.pdf}
}


@INPROCEEDINGS{DARES-2004,
  TITLE = {Perimorph: Run-Time Composition and State Management for Adaptive Systems},
  AUTHOR = {E. P. Kasten and P. K. McKinley},
  BOOKTITLE = {Proceedings of Fourth International Workshop on Distributed Auto-Adaptive and Reconfigurable Systems (DARES), in conjunction with ICDCS 2004},
  ADDRESS = {Hachioji, Japan},
  MONTH = {March},
  YEAR = {2004},
  PAGES = {332-337},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/dares04.pdf}
}


@INPROCEEDINGS{tang-icnp03,
  AUTHOR = {C. Tang and P. K. McKinley},
  TITLE = {On the Cost-Quality Tradeoff in Topology-Aware Overlay Path
Probing},
  BOOKTITLE = {Proceedings of the 11th IEEE International Conference on Network
Protocols (ICNP)},
  PAGES = {268-279},
  ADDRESS = {Atlanta, Georgia},
  MONTH = {November},
  YEAR = {2003},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/icnp-03.pdf}
}


@INPROCEEDINGS{tang-mswim03,
  AUTHOR = {C. Tang and P. K. McKinley},
  TITLE = {Modeling Multicast Packet Losses in Wireless {LANs}},
  BOOKTITLE = {Proceedings of the Sixth ACM International Workshop on Modeling,
Analysis and Simulation of Wireless and Mobile Systems (MSWiM) (in conjunction
with ACM Mobicom 2003)},
  PAGES = {130-133},
  ADDRESS = {San Diego, California},
  MONTH = {September},
  YEAR = {2003},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/mswim-03.pdf}
}


@ARTICLE{ComposableProxies,
  AUTHOR = {P. K. McKinley and U. I. Padmanabhan and N. Ancha and 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.},
  YEAR = {2003},
  PAGES = {713-726},
  MONTH = {June},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/mckinley-toc-si-revision.pdf}
}


@INPROCEEDINGS{MetaSockets,
  AUTHOR = {S. M. Sadjadi and P. K. McKinley and E. P. Kasten},
  TITLE = {Architecture and Operation of an Adaptable Communication Substrate},
  BOOKTITLE = {Proceedings of the Ninth IEEE International Workshop on Future Trends of Distributed Computing Systems (FTDCS'03)},
  YEAR = {2003},
  MONTH = {May},
  PAGES = {46-55},
  ADDRESS = {San Juan, Puerto Rico},
  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 run time 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. },
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/ftdcs-03.pdf}
}


@INPROCEEDINGS{AOP-WOSS02,
  AUTHOR = {Z. Yang and B. H. C. Cheng and R. E. K. Stirewalt and J. Sowell and S. M. Sadjadi and P. K. McKinley},
  TITLE = {An Aspect-Oriented Approach to Dynamic Adaptation},
  BOOKTITLE = {Proceedings of the ACM SIGSOFT Workshop on Self-Healing Systems (WOSS02)},
  OPTCROSSREF = {},
  OPTKEY = {},
  OPTPAGES = {},
  YEAR = {2002},
  OPTEDITOR = {},
  OPTVOLUME = {},
  OPTNUMBER = {},
  OPTSERIES = {},
  ADDRESS = {Charleston, South Carolina},
  MONTH = {November},
  OPTORGANIZATION = {IEEE Computer Society},
  OPTPUBLISHER = {},
  OPTANNOTE = {},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/woss02.pdf},
  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. Specifically, the paper presents a two-phase approach to dynamic adaptation, where the first phase prepares a non-adaptive program for adaptation, and the second phase implements the adaptation at run time. This approach is illustrated with a distributed conferencing application.
}
}


@INPROCEEDINGS{MSKK02.WEARABLE,
  AUTHOR = {P. K. McKinley and S. Sadjadi and E. P. Kasten and R. Kalaskar},
  TITLE = {Programming Language Support for Adaptable Wearable Computing},
  BOOKTITLE = {Proceedings of the Sixth International Symposium on Wearable Computers},
  ADDRESS = {Seattle, Washington},
  MONTH = {October},
  YEAR = {2002},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/iswc02.pdf},
  ABSTRACT = {
This paper investigates the use of programming language constructs
to realize adaptive behavior in support of collaboration among users of 
wearable and handheld computers.
A prototype language, Adaptive Java, contains primitives 
that permit programs to modify their own operation
in a principled manner.
In a case study, Adaptive Java was used to construct
MetaSocket components, whose composition and behavior
can be adapted to changing conditions
during execution.  MetaSockets were then integrated into Pavilion, a web-based
collaboration framework, and experiments were conducted 
on a mobile computing testbed containing wearable, handheld, and laptop computer systems.
Performance results demonstrate the utility of MetaSockets to improving the
quality of interactive audio streams and reliable data transfers among
collaborating users.
}
}


@INPROCEEDINGS{McSK02.ICTS,
  AUTHOR = {P. K. McKinley and S. M. Sadjadi and E. P. Kasten},
  TITLE = {An Adaptive Software Approach to Intrusion Detection and Response},
  BOOKTITLE = {Proceedings of the 10th International Conference on Telecommunication Systems, Modeling and Analysis},
  PAGES = {},
  YEAR = {2002},
  OPTEDITOR = {},
  OPTVOLUME = {},
  OPTNUMBER = {},
  OPTSERIES = {},
  ADDRESS = {Monterey, California},
  MONTH = {October},
  OPTORGANIZATION = {IEEE Computer Society},
  OPTPUBLISHER = {},
  OPTANNOTE = {},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/icts10.pdf},
  ABSTRACT = {
This paper proposes the use of programming 
language constructs to support adaptive self-monitoring
and self-reporting software. 
The methods are particularly well-suited to wireless mobile 
devices, where limited resources may constrain
the use of certain software audits. 
An adaptive software architecture is described
that supports run-time transformations on software components,
enabling them to report
internal details on how they are being used to other parts
of the system.
Effectively, any component of the system can be turned into
an ``informer'' at run time, and the nature of the
reported 
information can be adapted dynamically based on changing 
conditions or directives from another authority, such
as an intrusion detection system.
A prototype implementation is described.
The operation of the system is demonstrated through an experiment in
which it detects and responds to a malicious host that 
multicasts ``noise'' packets to a wireless iPAQ handheld computer.
}
}


@INPROCEEDINGS{SaMK02.DOA,
  AUTHOR = {S. M. Sadjadi and P. K. McKinley and E. P. Kasten},
  TITLE = {MetaSockets: Run-Time Support for Adaptive Communication Services (Poster Summary)},
  BOOKTITLE = {Addendum to the Proceedings of the 2002 International Symposium on Distributed Objects and Applications},
  PAGES = {},
  YEAR = {2002},
  OPTEDITOR = {},
  OPTVOLUME = {},
  OPTNUMBER = {},
  OPTSERIES = {},
  ADDRESS = {Irvine, California},
  MONTH = {October},
  OPTORGANIZATION = {},
  OPTPUBLISHER = {},
  OPTANNOTE = {},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/doa02.pdf},
  ABSTRACT = {
This paper describes the use of the Adaptive Java programming
language 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.  
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.
}
}


@ARTICLE{McTM01.TPDS,
  AUTHOR = {Philip K. McKinley and Chiping Tang and Arun P. Mani},
  TITLE = {A Study of Adaptive Forward Error Correction for for Wireless Collaborative Computing},
  JOURNAL = {IEEE Transactions on Parallel and Distributed Systems},
  MONTH = {September},
  YEAR = {2002},
  OPTKEY = {},
  OPTVOLUME = {},
  OPTNUMBER = {},
  OPTPAGES = {},
  OPTANNOTE = {},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/mckinley-tpds-02.pdf},
  ABSTRACT = {
	This paper addresses the problem of reliably multicasting web
	resources across wireless local area networks (WLANs) in support
	of collaborative computing applications.  An adaptive forward
	error correction (FEC) protocol is described, which adjusts the
	level of redundancy in the data stream in response to packet loss
	conditions.  The proposed protocol is intended for use on a proxy
	server that supports mobile users on a WLAN.  The software
	architecture of the proxy service and the operation of the
	adaptive FEC protocol are described.  The performance of the
	protocol is evaluated using both experimentation on a mobile
	computing testbed as well as simulation.  The results of the
	performance study show that the protocol can quickly accommodate
	worsening channel characteristics in order to reduce delay and
	increase throughput for reliable multicast channels.
}
}


@INPROCEEDINGS{TaMc02.protocol,
  AUTHOR = {Chiping Tang and P. K. McKinley},
  TITLE = {Adaptive Reliable Multicast in Wireless {LANs}},
  BOOKTITLE = {Proceedings of the IEEE International Conference on Networking},
  ADDRESS = {Atlanta, Georgia},
  MONTH = {August},
  YEAR = {2002},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/icn-2002-tang.pdf},
  ABSTRACT = {
	Wireless local area networks pose new challenges to error
	recovery and flow control in reliable multicast
	protocols. Limited wireless bandwidth, as well as queuing losses
	caused by the asymmetric wired/wireless interactions, demands
	more effective approaches for reducing packet losses.  Moreover,
	a protocol must dynamically adjust its behavior to changing
	environmental conditions.  In this paper, we propose and evaluate
	such a protocol, called the Adaptive FEC-based Reliable Multicast
	(AFRM) protocol.  The protocol uses both proactive FEC and
	reactive FEC, adapting relevant parameters to current conditions.
	Both local and global NACK suppression are applied, but in a
	manner that accommodates delays due to access point queuing.
	Finally, the AFRM flow control strategy uses a novel method to
	differentiate propagation-related packet losses from queueing
	losses.  Experimental and simulation results show the protocol
	has good performance in terms of throughput in most cases. Those
	factors that negatively affect performance are highlighted as
	topics of future research.
}
}


@INPROCEEDINGS{GeMc02.LDM,
  AUTHOR = {Peng Ge and Philip K. McKinley},
  TITLE = {Leader-Driven Multicast for Video Streaming on Wireless {LANs}},
  BOOKTITLE = {Proceedings of the IEEE International Conference on Networking},
  ADDRESS = {Atlanta, Georgia},
  MONTH = {August},
  YEAR = {2002},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/icn-2002-ge.pdf},
  ABSTRACT = {
	The IEEE 802.11 MAC layer uses RTS/CTS/ACK signaling to improve
	the reliability of unicast transmissions, but in current products
	there is no special signaling support for multicast
	transmissions.  Therefore, the packet loss rate of multicast
	communication is generally higher than that of unicast
	communication.  This paper evaluates a new MAC-layer multicasting
	technique called Leader-Driven Multicast (LDM).  Instead of
	multicasting to a group address, the source node sends a unicast
	stream to the address of a leader node among the receivers.  All
	other receivers passively receive this unicast stream, including
	retransmissions.  This paper investigates the effects of the LDM
	protocol on interactive video multicasting across WLANs.  Results
	are presented from a simulation study using different packet loss
	models and different loss correlations among receivers.  The
	results indicate that LDM is potentially beneficial even when
	there is no loss correlation among receivers.  When losses do
	exhibit some positive correlation LDM can provide a very high
	quality multicast stream to WLAN nodes, especially when combined
	with application-level error control techniques.
}
}


@INPROCEEDINGS{KMSS02.AOPDCS,
  AUTHOR = {E. Kasten and P. K. McKinley and S. Sadjadi and R. Stirewalt},
  TITLE = {Separating Introspection and Intercession in Metamorphic Distributed Systems},
  BOOKTITLE = {Proceedings of the IEEE 
		Workshop on Aspect-Oriented Programming for Distributed Computing
		(with ICDCS'02)},
  ADDRESS = {Vienna, Austia},
  MONTH = {July},
  YEAR = {2002},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/aopdcs-02.pdf},
  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 language, called
	Adaptive Java, 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.
}
}


@INPROCEEDINGS{ZaLM.JavaPipes.2002,
  AUTHOR = {J. Zhang and J. Lee and P. K. McKinley},
  TITLE = {Optimizing Java Piped I/O Stream
Library for Performance},
  BOOKTITLE = {Proceedings of the 15th Workshop on Languages
and Compilers for Parallel Computing (LCPC)},
  ADDRESS = {College Park, Maryland},
  MONTH = {July},
  YEAR = {2002}
}


@INPROCEEDINGS{SHAMAN-02,
  AUTHOR = {Philip K. McKinley and E. P. Kasten and S. M. Sadjadi and Z. Zhou},
  TITLE = {Realizing Multi-Dimensional Software Adaptation},
  BOOKTITLE = {Proceedings of the ACM 
Workshop on Self-Healing, Adaptive and self-MANaged
                            Systems (SHAMAN), held in conjunction with the
            16th Annual ACM International Conference on Supercomputing},
  ADDRESS = {New York City},
  MONTH = {June},
  YEAR = {2002},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/shaman02.pdf},
  ABSTRACT = {
This paper describes the use of programming 
language constructs to support run-time software adaptation.
A prototype language, Adaptive Java, contains primitives 
that permit programs to modify their own operation
in a principled manner.
In case studies, Adaptive Java is being used to 
support adaptation for different cross-cutting concerns
associated with heterogeneous
mobile computing and critical infrastructure
protection.
Examples are described in which Adaptive Java components
support dynamic quality-of-service on wireless networks,
run-time energy management for handheld computers,
and self-auditing of potential security threats in
distributed environments.
}
}


@INPROCEEDINGS{GeMc02.IPCCC,
  AUTHOR = {P. Ge and P. K. McKinley},
  TITLE = {Comparisons of Error Control Techniques for Wireless Video
Multicasting},
  BOOKTITLE = {Proceedings of the IEEE International Performance, 
			Computing, and Communications Conference},
  ADDRESS = {Phoenix, Arizona},
  MONTH = {April},
  YEAR = {2002},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/ipccc-02.pdf},
  ABSTRACT = {
	This paper explores three different methods, employed separately
	and in combination, to improve the quality of video delivery on
	wireless local area networks.  The approaches are: leader-driven
	multicast (LDM), the monitoring of MAC layer unicast
	(re)transmissions by other receivers; application-level forward
	error correction (FEC) using block erasure codes; and negative
	feedback from selected receivers in the form of extra parity
	requests (EPR).  The performance of these three methods is
	evaluated using both experimentation on a mobile computing
	testbed and simulation.  The results indicate that, while LDM is
	helpful in improving the raw packet reception rate, the
	combination of FEC and EPR is most effective in improving the
	frame delivery rate.
}
}


@ARTICLE{cdsmsl01,
  AUTHOR = {B. Cheng and L. Dillon and  K. Stirewalt and  
					P. McKinley and  S. Kulkarni and J. Lee},
  TITLE = {Automated Development and Run-Time Adaptation of
Interactive Distributed Applications},
  JOURNAL = {NCO Workshop on New Visions for Software Design and Productivity: Research and Applications},
  YEAR = {2001},
  OPTKEY = {},
  OPTVOLUME = {},
  OPTNUMBER = {},
  OPTPAGES = {},
  MONTH = {December},
  ADDRESS = {Nashville, Tennessee},
  OPTNOTE = {},
  OPTANNOTE = {},
  ABSTRACT = {}
}


@INPROCEEDINGS{McPA01.MIDDLEWARE,
  AUTHOR = {P. K. McKinley and U. I. Padmanabhan and N. Ancha},
  TITLE = {Experiments in Composing Proxy Audio Services for Mobile Users},
  BOOKTITLE = {Proceedings of the IFIP/ACM International Conference on 
			Distributed Systems Platforms (Middleware 2001)},
  ADDRESS = {Heidelberg, Germany},
  MONTH = {November},
  YEAR = {2001},
  PAGES = {99--120},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/middleware-2001.pdf},
  ABSTRACT = {
	This paper describes an experimental study in the use of a
	composable proxy framework to improve the quality of interactive
	audio streams delivered to mobile hosts.  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.
}
}


@INPROCEEDINGS{GeMc.MNS.2001,
  AUTHOR = {P. Ge and P. K. McKinley},
  TITLE = {Experimental Evaluation of Error Control for Video Multicast over Wireless {LANs}},
  BOOKTITLE = {Proceedings of the Third International Workshop on Multimedia Network Systems},
  YEAR = {2001}
}


@INPROCEEDINGS{McPa.WNMC.2001,
  AUTHOR = {P. K. McKinley and U. I. Padmanabhan},
  TITLE = {Design of Composable Proxy Filters for Mobile Computing},
  BOOKTITLE = {Proceedings of the Second International
Workshop on Wireless Networks and Mobile Computing},
  YEAR = {2001},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/wwnmc-01.pdf}
}


@INPROCEEDINGS{McMa.SAINT.2001,
  AUTHOR = {{{A. Mani, P.~McKinley}}},
  TITLE = {A study of proxy-based adaptive forward error correction for collaborative computing on wireless {LANs}},
  BOOKTITLE = {IEEE Symposium on Applications and the Internet (SAINT)},
  ADDRESS = {San Diego, California},
  MONTH = {January},
  YEAR = {2001},
  URL = {http://www.cse.msu.edu/%7emckinley/Pubs/files/saint01.pdf}
}