$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: daniel_james_at_[hidden]
Date: 2007-11-29 17:34:36
Author: danieljames
Date: 2007-11-29 17:34:36 EST (Thu, 29 Nov 2007)
New Revision: 41479
URL: http://svn.boost.org/trac/boost/changeset/41479
Log:
Move the feature model diagrams into the community/C++ section of the beta
site. Not a great fit but I couldn't find anywhere better to put it. Fixes
#1349.
Added:
   website/public_html/beta/community/feature_model_diagrams.html
      - copied, changed from r41475, /trunk/more/feature_model_diagrams.htm
Text files modified: 
   website/public_html/beta/common/menu-community.html            |     3                                         
   website/public_html/beta/community/feature_model_diagrams.html |   288 +++++++++++++++++++++++++-------------- 
   2 files changed, 188 insertions(+), 103 deletions(-)
Modified: website/public_html/beta/common/menu-community.html
==============================================================================
--- website/public_html/beta/common/menu-community.html	(original)
+++ website/public_html/beta/common/menu-community.html	2007-11-29 17:34:36 EST (Thu, 29 Nov 2007)
@@ -30,6 +30,9 @@
         <li><a href=
         "/community/implementation_variations.html">Implementation Variations
         <span class="link">></span></a></li>
+
+        <li><a href="/community/feature_model_diagrams.html">Feature Model
+        Diagrams <span class="link">></span></a></li>
       </ul>
     </li>
 
Copied: website/public_html/beta/community/feature_model_diagrams.html (from r41475, /trunk/more/feature_model_diagrams.htm)
==============================================================================
--- /trunk/more/feature_model_diagrams.htm	(original)
+++ website/public_html/beta/community/feature_model_diagrams.html	2007-11-29 17:34:36 EST (Thu, 29 Nov 2007)
@@ -1,112 +1,194 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<title>Feature Model Diagrams</title>
+  <title>Feature Model Diagrams in text and HTML</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+  <link rel="icon" href="/favicon.ico" type="image/ico" />
+  <link rel="stylesheet" type="text/css" href=
+  "/style/section-community.css" />
+  <!--[if IE]> <style type="text/css"> body { behavior: url(/style/csshover.htc); } </style> <![endif]-->
 </head>
 
-<body bgcolor="#FFFFFF" text="#000000">
-
-<p><img border="0" src="../boost.png" alt="Boost logo" width="277" height="86"></p>
-<h1>Feature Model Diagrams in text and HTML</h1>
-<p>By Beman Dawes</p>
-<h2>Introduction</h2>
-<p>In their seminal book, Generative Programming, Czarnecki and Eisenecker (C&E))
-describe how to build feature models [C&E 4.4] consisting of a feature
-diagram plus semantic, rationale, and other attributes.  Feature models are
-then used to drive design cycles which eventually lead to manual or automatic
-assembly of configurations.</p>
-<p>Feature models provide a language to describe the library variability that is
-often such an issue in boost.org discussions. The Whorf hypothesis that
-"Language shapes the way we think, and determines what we can think
-about" seems to apply.  In discussion of library variability issues,
-we have been crippled by lack of a good language. With feature models we now
-have a language to carry on the dialog.</p>
-<p>The graphical feature diagrams presented by C&E are not in a suitable
-form for the email discussions boost.org depends upon. The hierarchical nature
-of feature diagrams can be represented by a simple text-based feature diagram
-language.  A feature model can also take advantage of the hyperlinks
-inherent in HTML.</p>
-<h2><a name="Grammar">Grammar</a></h2>
-<p>The grammar for the feature diagram language is expressed in Extended
-Bakus-Naur Form; ::= represents productions, [...] represents options, {...}
-represents zero or more instances, and represents | alternatives.</p>
-<blockquote>
-  <pre>feature-model       ::= concept-name details { feature }</pre>
-  <pre>feature             ::= feature-name [details]</pre>
-  <pre>details             ::= "(" feature-list ")"      // required features
-                      | "[" feature-list "]"      // optional features</pre>
-  <pre>feature-list        ::= element { "|" element }   // one only
-                      | element { "+" element }   // one or more
-                      | element { "," element }   // all
-                                                  // [a+b] equivalent to [a,b]</pre>
-  <pre>element             ::= feature
-                      | details</pre>
-  <pre>concept-name        ::= name</pre>
-  <pre>feature-name        ::= name</pre>
-</blockquote>
-<p>The usual lexical conventions apply. Names are case-insensitive and consist
-of a leading letter, followed by letters, digits, underscores or hyphens, with
-no spaces allowed.</p>
-<p>At least one instance of each name should be hyperlinked to the corresponding
-Feature Description.</p>
-<p>While the grammar is intended for written communication between people, it
-may also be trivially machine parsed for use by automatic tools.</p>
-<h2><a id="FeatureDescriptions" name="FeatureDescriptions"></a></h2>
-<p>Descriptive information is associated with each concept or feature. According
-to [C&E 4.4.2] this includes:</p>
-<ul>
-  <li>Semantic descriptions.</li>
-  <li>Rationale.</li>
-  <li>Stakeholders and client programs.</li>
-  <li>Exemplar systems.</li>
-  <li>Constraints and default dependency rules.</li>
-  <li>Availability sites, binding sites, and binding mode.</li>
-  <li>Open/Closed attribute.</li>
-</ul>
-<h2>What is a Feature?</h2>
-<p>A feature [C&E 4.9.1] is "anything users or client programs might
-want to control about a concept.  Thus, during feature modeling, we
-document no only functional features ... but also implementation features, ...,
-various optimizations, alternative implementation techniques, and so on."</p>
-<h2>Example</h2>
-<blockquote>
-  <pre>special-container ( organization,
+<body>
+  <div id="heading">
+    <!--#include virtual="/common/heading.html" -->
+  </div>
+
+  <div id="body">
+    <div id="body-inner">
+      <div id="content">
+        <div class="section" id="intro">
+          <div class="section-0">
+            <div class="section-title">
+              <h1>Feature Model Diagrams in text and HTML</h1>
+
+              <p>By <a href="/users/people/beman_dawes.html">Beman
+              Dawes</a></p>
+            </div>
+
+            <div class="section-body">
+              <h2>Introduction</h2>
+
+              <p>In their seminal book, Generative Programming, Czarnecki and
+              Eisenecker (C&E))
+              describe how to build feature models [C&E 4.4] consisting
+              of a feature diagram plus semantic, rationale, and other
+              attributes. Feature models are then used to drive design cycles
+              which eventually lead to manual or automatic assembly of
+              configurations.</p>
+
+              <p>Feature models provide a language to describe the library
+              variability that is often such an issue in boost.org
+              discussions. The Whorf hypothesis that "Language shapes the way
+              we think, and determines what we can think about" seems to
+              apply. In discussion of library variability issues, we have
+              been crippled by lack of a good language. With feature models
+              we now have a language to carry on the dialog.</p>
+
+              <p>The graphical feature diagrams presented by C&E are not
+              in a suitable form for the email discussions boost.org depends
+              upon. The hierarchical nature of feature diagrams can be
+              represented by a simple text-based feature diagram language. A
+              feature model can also take advantage of the hyperlinks
+              inherent in HTML.</p>
+
+              <h2><a name="Grammar" id="Grammar">Grammar</a></h2>
+
+              <p>The grammar for the feature diagram language is expressed in
+              Extended Bakus-Naur Form; ::= represents productions, [...]
+              represents options, {...} represents zero or more instances,
+              and represents | alternatives.</p>
+              <pre>
+feature-model       ::= concept-name details { feature }
+
+feature             ::= feature-name [details]
+
+details             ::= "(" feature-list ")"      // required features
+                      | "[" feature-list "]"      // optional features
+
+feature-list        ::= element { "|" element }   // one only
+                      | element { "+" element }   // one or more
+                      | element { "," element }   // all
+                                                  // [a+b] equivalent to [a,b]
+
+element             ::= feature
+                      | details
+concept-name        ::= name
+
+feature-name        ::= name
+</pre>
+
+              <p>The usual lexical conventions apply. Names are
+              case-insensitive and consist of a leading letter, followed by
+              letters, digits, underscores or hyphens, with no spaces
+              allowed.</p>
+
+              <p>At least one instance of each name should be hyperlinked to
+              the corresponding <a href="#FeatureDescriptions">Feature
+              Description</a>.</p>
+
+              <p>While the grammar is intended for written communication
+              between people, it may also be trivially machine parsed for use
+              by automatic tools.</p>
+
+              <h2><a id="FeatureDescriptions" name=
+              "FeatureDescriptions"></a></h2>
+
+              <p>Descriptive information is associated with each concept or
+              feature. According to [C&E 4.4.2] this includes:</p>
+
+              <ul>
+                <li>Semantic descriptions.</li>
+
+                <li>Rationale.</li>
+
+                <li>Stakeholders and client programs.</li>
+
+                <li>Exemplar systems.</li>
+
+                <li>Constraints and default dependency rules.</li>
+
+                <li>Availability sites, binding sites, and binding mode.</li>
+
+                <li>Open/Closed attribute.</li>
+              </ul>
+
+              <h2>What is a Feature?</h2>
+
+              <p>A feature [C&E 4.9.1] is "anything users or client
+              programs might want to control about a concept. Thus, during
+              feature modeling, we document no only functional features ...
+              but also implementation features, ..., various optimizations,
+              alternative implementation techniques, and so on."</p>
+
+              <h2>Example</h2>
+              <pre>
+special-container ( organization,
                     performance,
-                    interface  )         // all required</pre>
-  <pre>organization [ ordered + indexed ]       // zero or more (4 configurations)</pre>
-  <pre>indexed [ hash-function ]                // zero or one  (2 configurations)</pre>
-  <pre>performance ( fast | small | balanced )  // exactly one  (3 configurations)</pre>
-  <pre>interface ( STL-style + cursor-style )   // one or more  (3 configurations)</pre>
-</blockquote>
-<p>There should be feature descriptions for <code>some-container, organization,
-ordered, indexed, hash-function, performance, fast, small, balanced, interface,
-STL-style, and cursor-style</code>.</p>
-<p>The number of possible configurations is  (2 + 2*2) * 3 * 3 = 54,
-assuming no constraints.</p>
-<p>There are equivalent representations. For example:</p>
-<blockquote>
-  <pre>special-container ( organization[ ordered+indexed[ hash-function ]],
+                    interface  )         // all required
+
+organization [ ordered + indexed ]       // zero or more (4 configurations)
+
+indexed [ hash-function ]                // zero or one  (2 configurations)
+
+performance ( fast | small | balanced )  // exactly one  (3 configurations)
+
+interface ( STL-style + cursor-style )   // one or more  (3 configurations)
+</pre>
+
+              <p>There should be feature descriptions for
+              <code>some-container, organization, ordered, indexed,
+              hash-function, performance, fast, small, balanced, interface,
+              STL-style, and cursor-style</code>.</p>
+
+              <p>The number of possible configurations is (2 + 2*2) * 3 * 3 =
+              54, assuming no constraints.</p>
+
+              <p>There are equivalent representations. For example:</p>
+              <pre>
+special-container ( organization[ ordered+indexed[ hash-function ]],
                     performance( fast|small|balanced ),
-                    interface( STL-style+cursor-style ) )</pre>
-</blockquote>
-<h2>References</h2>
-<p>Krzysztof Czarnecki and Ulrich W. Eisenecker, <a href="http://www.generative-programming.org">Generative
-Programming</a>, Addison-Wesley, 2000, ISBN 0-201-30977-7</p>
-<hr>
-<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B %Y" startspan -->26 August 2004<!--webbot bot="Timestamp" endspan i-checksum="32277" --></p>
-<p>© Copyright Beman Dawes, 2000</p>
-
-<p>
-      Distributed under the Boost Software License, Version 1.0. (See
-      accompanying file LICENSE_1_0.txt or copy
-      at <a href=
-      "http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt>)
-</p>
+                    interface( STL-style+cursor-style ) )
+</pre>
 
-</body>
+              <h2>References</h2>
 
+              <p><a name="GenerativeProgramming"></a>Krzysztof Czarnecki and
+              Ulrich W. Eisenecker, <a href=
+              "http://www.generative-programming.org">Generative
+              Programming</a>, Addison-Wesley, 2000, ISBN 0-201-30977-7</p>
+            </div>
+          </div>
+        </div>
+      </div>
+
+      <div id="sidebar">
+        <!--#include virtual="/common/sidebar-common.html" -->
+        <!--#include virtual="/common/sidebar-community.html" -->
+      </div>
+
+      <div class="clear"></div>
+    </div>
+  </div>
+
+  <div id="footer">
+    <div id="footer-left">
+      <div id="revised">
+        <p>Revised $Date$</p>
+      </div>
+
+      <div id="copyright">
+        <p>Copyright Beman Dawes 2000.</p>
+      </div><!--#include virtual="/common/footer-license.html" -->
+    </div>
+
+    <div id="footer-right">
+      <!--#include virtual="/common/footer-banners.html" -->
+    </div>
+
+    <div class="clear"></div>
+  </div>
+</body>
 </html>