<html>	<head>		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">		<meta name="generator" content="GoLive CyberStudio 3">		<title>Chou and Borriello Working paper 1998</title>		<csscriptdict>			<script><!--function CSURLPopupShow(formName, popupName, target) {	var popup = document[formName].elements[popupName];	window.open(popup.options[popup.selectedIndex].value, target);	popup.selectedIndex = 0;}// --></script>		</csscriptdict>	</head>	<body bgcolor="white">		<!-- the following includes a table header with a blank cell -->		<!-- this is included for all headings.     it will have the table header,   --------------------------------------------------------------------   | a sidebar menu,     |   one row with the last modified date.     |   |                     |--------------------------------------------|   | spanning two rows,  | ** This is where you are after the include.|   |---------------------|--------------------------------------------|   | include blankcell   | Your main content goes here     after the include, the user should declare another     TD that has an H1 ALIGN=CENTER title, followed by an HR.  -->		<table border="0" cellspacing="0" cellpadding="10">			<tr>				<td bgcolor="#ff8888" valign="top"><a href="index.html"><csobj w="101" h="96" t="Component" csref="testbar.html">					<csscriptdict>						<script><!--function CSURLPopupShow(formName, popupName, target) {	var popup = document[formName].elements[popupName];	window.open(popup.options[popup.selectedIndex].value, target);	popup.selectedIndex = 0;}// --></script>					</csscriptdict>					<a href="index.html" title="Chinook project home page">Home</a> <br>					<a href="people.html" title="Chinook team members">People</a> <br>					<a href="publications.html" title="Publications for the Chinook project">Publications</a> <br>					<a href="links.html" title="Links to other codesign pages">Links</a> <br>					<a href="aboutLogo.html" title="The Chinook logo">Logo</a> 					<p><csobj w="95" h="18" t="URLPopup" data='{ 0 = { label = &quot;Choose...&quot;; selected = &quot;YES&quot;; }; 1 = { label = &quot;Home&quot;; url = &quot;index.html&quot;; }; 2 = { label = &quot;People&quot;; url = &quot;people.html&quot;; }; 3 = { label = &quot;Publications&quot;; url = &quot;publications.html&quot;; }; 4 = { label = &quot;Links&quot;; url = &quot;links.html&quot;; }; 5 = { label = &quot;Logo&quot;; url = &quot;aboutLogo.html&quot;; }; }' target="_top">					<form method="POST" name="cs_form_name_0">					<select name="cs_popup_name_0" onchange="CSURLPopupShow('cs_form_name_0', 'cs_popup_name_0', '_top');">						<option selected>Choose... 						<option value="index.html">Home 						<option value="people.html">People 						<option value="publications.html">Publications 						<option value="links.html">Links 						<option value="aboutLogo.html">Logo 					</select> 					</form>					</csobj></csobj></a></td>				<td valign="top">					<dl>						<dt>[<a name="CB98b"></a>CB98b] Pai Chou and Gaetano Borriello, 						<dd>&quot;Functional Encapsulation vs. State Encapsulation in the Specification of Reactive Systems,&quot; <i>Working paper, </i>						<dd>February 1998. 					</dl>				</td>			</tr>			<tr>				<td bgcolor="#ff8888" valign="top"><!--1st col-->					&nbsp; 					<center>						<p><a href="http://www.cs.washington.edu/research/lis/papers/pdf/chou-lctes98.pdf"><font size="-1"><img src="pdf-icon.gif" border="0"><br>						PDF 3.0<br>						(69K)</font></a><font size="-1"> <br>						<a href="http://www.cs.washington.edu/research/lis/papers/postscript/chou-lctes98.ps"><br>						<img src="ps-icon.gif" border="0"><br>						postscript(234K)</a></font> </center>				</td>				<td valign="top">Common approaches to the specification of reactive systems use two different types of encapsulation. Functional encapsulation is used in traditional concurrent processes, such as CSP. State encapsulation has been popularized by synchronous languages such as Esterel and StateCharts. These two styles are often intermixed, as evidenced by CSP extensions to Esterel and ActivityCharts in StateCharts. 					<p>This is the case because functional encapsulation facilitates <em>data composition</em> and promotes modularity. On the other hand, state encapsulation is more suitable for <em>control composition</em>. Unfortunately, the dichotomy between data and control often forces the designer to commit to either style of composition, resulting in designs that are either difficult to retarget or reuse. </p>					<p>We examine a detailed example that has been described in both encapsulation styles to illustrate the limitations of these two approaches. From the case study, we discuss properties needed to enhance retargetability and reuse. We are currently developing a specification style with these properties as part of the Chinook Project. </td>			</tr>		</table><!--   this is a template for the footer.  It just echoes the   last modification date and has a link back to Chinook.-->		<hr>		<address>Last modified on Monday, 07-Sep-1998 19:20:38 PDT		</address>	</body></html>ÿ