%%% -*-BibTeX-*-
%%% Do NOT edit. File created by BibTeX with style
%%% ACM-Reference-Format-Journals [18-Jan-2012].

\begin{thebibliography}{00}

%%% ====================================================================
%%% NOTE TO THE USER: you can override these defaults by providing
%%% customized versions of any of these macros before the \bibliography
%%% command.  Each of them MUST provide its own final punctuation,
%%% except for \shownote{}, \showDOI{}, and \showURL{}.  The latter two
%%% do not use final punctuation, in order to avoid confusing it with
%%% the Web address.
%%%
%%% To suppress output of a particular field, define its macro to expand
%%% to an empty string, or better, \unskip, like this:
%%%
%%% \newcommand{\showDOI}[1]{\unskip}   % LaTeX syntax
%%%
%%% \def \showDOI #1{\unskip}           % plain TeX syntax
%%%
%%% ====================================================================

\ifx \showCODEN    \undefined \def \showCODEN     #1{\unskip}     \fi
\ifx \showDOI      \undefined \def \showDOI       #1{{\tt DOI:}\penalty0{#1}\ }
  \fi
\ifx \showISBNx    \undefined \def \showISBNx     #1{\unskip}     \fi
\ifx \showISBNxiii \undefined \def \showISBNxiii  #1{\unskip}     \fi
\ifx \showISSN     \undefined \def \showISSN      #1{\unskip}     \fi
\ifx \showLCCN     \undefined \def \showLCCN      #1{\unskip}     \fi
\ifx \shownote     \undefined \def \shownote      #1{#1}          \fi
\ifx \showarticletitle \undefined \def \showarticletitle #1{#1}   \fi
\ifx \showURL      \undefined \def \showURL       #1{#1}          \fi

\bibitem[\protect\citeauthoryear{Britton, Parker, and Parnas}{Britton
  et~al\mbox{.}}{1981}]%
        {britton-etal-1981}
{Kathryn~Henninger Britton}, {R.~Alan Parker}, {and} {David~L. Parnas}. 1981.
\newblock \showarticletitle{A Procedure for Designing Abstract Interfaces for
  Device Interface Modules}. In {\em Proceedings of the 5th International
  Conference on Software Engineering}. 195--204.
\newblock

 \begin{annotation} This classic paper by Parnas and his colleagues builds on
  the concept of information hiding \cite{parnas-1972}. It describes the
  concept of an abstract interface as a mechanism for hiding the details of a
  low-level interface from the other modules of the software system. It uses a
  two-phase design method for such modules. \end{annotation}

\bibitem[\protect\citeauthoryear{Cunningham, Tadepalli, and Liu}{Cunningham
  et~al\mbox{.}}{2005}]%
        {cunningham-etal-2005}
{H.~Conrad Cunningham}, {Pallavi Tadepalli}, {and} {Yi Liu}. 2005.
\newblock \showarticletitle{Secrets, Hot Spots, and Generalization: Preparing
  Students to Design Software Families}.
\newblock {\em Journal of Computing Sciences in Colleges\/} {20}, 6 (June
  2005), 118--124.
\newblock



\bibitem[\protect\citeauthoryear{Cunningham, Zhang, and Liu}{Cunningham
  et~al\mbox{.}}{2004}]%
        {cunningham-etal-2004}
{H.~Conrad Cunningham}, {Cuihua Zhang}, {and} {Yi Liu}. 2004.
\newblock \showarticletitle{Keeping Secrets Within a Family: Rediscovering
  {Parnas}}. In {\em Proceedings of the International Conference on Software
  Engineering Research and Practice (SERP)}. CSREA Press, 712--718.
\newblock



\bibitem[\protect\citeauthoryear{Parnas}{Parnas}{1972}]%
        {parnas-1972}
{David~L. Parnas}. 1972.
\newblock \showarticletitle{On the Criteria to Be Used in Decomposing Systems
  into Modules}.
\newblock {\it Commun. ACM} {15}, 12 (1972), 1053--1058.
\newblock

 \begin{annotation} This classic paper by Parnas is the first publication of
  the design concept known as information hiding. The key idea is to design
  software modules around a single design decision that may change over time or
  among versions of the system. The module hides this design decision, known as
  the secret of the module, behind an interface that is unlikely to change.
  \end{annotation}

\bibitem[\protect\citeauthoryear{Parnas}{Parnas}{1976}]%
        {parnas-1976}
{David~L. Parnas}. 1976.
\newblock \showarticletitle{On the Design and Development of Program Families}.
\newblock {\em IEEE Transactions on Software Engineering\/} {SE-2}, 1 (March
  1976), 1--9.
\newblock

 \begin{annotation} This classic paper by Parnas introduces the design concept
  known as program (or software) families, often called software product lines
  today. This means that the designers of a software system should seek to
  design the system to exist in multiple versions from the beginning. New
  versions may be created for different customers or platforms or perhaps just
  over time as improvements are made to the original system. \end{annotation}

\bibitem[\protect\citeauthoryear{Parnas}{Parnas}{1978}]%
        {parnas-1978}
{David~L. Parnas}. 1978.
\newblock \showarticletitle{Some Software Engineering Principles}.
\newblock In {\em Infotech State of the Art Report on Structured Analysis and
  Design}. Infotech International, 10 pages.
\newblock
\newblock
\shownote{Reprinted in Software Fundamentals: Collected Papers by David L.
  Parnas, Daniel M. Hoffman and David M. Weiss, editors, Addison Wesley, 2001.}



\bibitem[\protect\citeauthoryear{Parnas}{Parnas}{1979}]%
        {parnas-1979}
{David~L. Parnas}. 1979.
\newblock \showarticletitle{Designing Software for Ease of Extension and
  Contraction}.
\newblock {\em IEEE Transactions on Software Engineering\/} {SE-5}, 1 (March
  1979), 128--138.
\newblock



\bibitem[\protect\citeauthoryear{Parnas, Clements, and Weiss}{Parnas
  et~al\mbox{.}}{1985}]%
        {parnas-etal-1985}
{D.~L. Parnas}, {P.~C. Clements}, {and} {D.~M. Weiss}. 1985.
\newblock \showarticletitle{The Modular Structure of Complex Systems}.
\newblock {\em IEEE Transactions on Software Engineering\/} {SE-11}, 3 (March
  1985), 259--266.
\newblock



\bibitem[\protect\citeauthoryear{Weiss}{Weiss}{2001}]%
        {weiss-2001}
{David~M. Weiss}. 2001.
\newblock \showarticletitle{Introduction: On the Criteria to Be Used in
  Decomposing Systems into Modules}.
\newblock In {\em Software Fundamentals: Collected Papers by David L. Parnas},
  {Daniel~M. Hoffman} {and} {David~M. Weiss} (Eds.). Addison-Wesley, 143--144.
\newblock



\end{thebibliography}
