mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 15:22:31 +01:00
Author:halw
Date:2011-03-25T18:09:08.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@859 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
[[Property:title|Community]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|75c75712-7c3e-2757-51b7-77b404471e2e]]
|
||||
==You can become a contributor!==
|
||||
=You can become a contributor!=
|
||||
|
||||
Eiffel is a community. Members of the Eiffel community can contribute to this documentation through this book.
|
||||
|
||||
@@ -9,17 +9,17 @@ EiffelStudio documentation is available in a convenient Wiki format. This makes
|
||||
|
||||
Community input is welcome.
|
||||
|
||||
===Using the Comments pages===
|
||||
==Using the Comments pages==
|
||||
|
||||
Each documentation page has an associated '''Comments''' page. Any viewer can add comments to a Comments page. These comments are periodically reviewed and appropriate content is "published," that is, made visible to the community.
|
||||
|
||||
====Guidelines for Comments pages====
|
||||
===Guidelines for Comments pages===
|
||||
|
||||
#The '''Comments''' pages are intended to be used to record and communicate issues concerning the documentation. Use Comments pages to post comments which report problems with the documentation or which suggest improvements to the documentation.
|
||||
# '''Any material you add to this site becomes the property of Eiffel Software, and may be shared with the community.'''
|
||||
# Comments pages should ''not'' be used for product support questions, product feature requests, or bug reports. ''Comments of this sort will be deleted.'' For help with products join the [http://eiffel.com/developers/usergroup.html Eiffel Software User Group] and use the resources at the [http://community.eiffel.com Eiffel Community site].
|
||||
|
||||
====Comment lifecycle====
|
||||
===Comment lifecycle===
|
||||
|
||||
Although the procedure for how editors deal with comments is flexible, some general guidelines can be given:
|
||||
|
||||
@@ -43,7 +43,7 @@ Although the procedure for how editors deal with comments is flexible, some gene
|
||||
### The original comment's subject line prepended with FIXED.
|
||||
# Periodically, an audit will remove older comments marked as FIXED and ANALYZED.
|
||||
|
||||
===Contributors and Editors===
|
||||
==Contributors and Editors==
|
||||
|
||||
If you are interested in a more active role in improving and developing EiffelStudio documentation, you can become:
|
||||
|
||||
@@ -56,13 +56,63 @@ To become a contributor, you should be proficient in Eiffel technology and have
|
||||
|
||||
If you are interested in becoming a contributor, you can [[path:user/register|register]] for an account, and then please [[path:contact|contact us]] with a short description of your Eiffel experience and any other relevant background.
|
||||
|
||||
====Guidelines for contributors====
|
||||
===Guidelines for contributors===
|
||||
|
||||
# '''Entering log messages:''' When you change pages in the documentation, it can help sometimes if you can provide an explanation of your intent in the '''Log message''' box on the '''Edit''' page. This can eliminate confusion about why things have been changed. Of course, it is not necessary to provide a log message for every change. For fixing typographical errors or other simple changes, it generally would not be necessary, but putting a single lowercase '''"m"''' in the '''Log message''' field will convey the message that this was a minor update. If you are evolving new pages or a complex set of related changes to one or more pages, it should suffice to enter a single log message at the beginning of the series of edits. Use common sense here.
|
||||
## In cases in which a change is directly related to an external document or policy, it may be helpful to mention the impetus in the log message. For example, documentation changes made to satisfy Eiffel Software problem reports should reference the report in the log message.
|
||||
#* In cases in which a change is directly related to an external document or policy, it may be helpful to mention the impetus in the log message. For example, documentation changes made to satisfy Eiffel Software problem reports should reference the report in the log message.
|
||||
# '''Renaming pages or moving pages to Trash:''' Before you rename a page or move it to the Trash, you should use the '''References''' tab to make certain that there are no current references to the page. If there are, make sure you resolve those references before renaming or moving the page.
|
||||
# '''Replacing pages:''' If you need to replace a page completely, do so by replacing the '''content''' of the existing page, rather than moving the page to the Trash and creating a new page in its place. Replacing the content will leave the original page (and its UUID) in place, but with the new content. UUID's are used by the [[Eiffel Information System]] (EIS) to link EiffelStudio to documentation pages, and will be broken if the original page were to be deleted.
|
||||
|
||||
# '''Using templates:''' While developing new pages or make significant changes to existing pages you may want to mark these pages with certain templates during the development process. You can click on "List templates" in the left margin to see the list of available templates. The most useful during page maintenance are Beta, ReviewRequested, UnderConstruction, and UpdateNeeded. The meanings of these are described below.
|
||||
|
||||
===Documentation template meanings===
|
||||
|
||||
====Beta====
|
||||
|
||||
Looks like this:
|
||||
|
||||
|
||||
{{Beta}}
|
||||
|
||||
|
||||
Means this:
|
||||
|
||||
:Use this page with caution. This page is currently under development as a new page or a replacement for a previously existing page. It may contain information which describes capabilities not yet implemented. Avoid linking to this page. When this page comes out of beta, it is likely that the name and/or UUID of this page will change.
|
||||
|
||||
====ReviewRequested====
|
||||
|
||||
Looks like this:
|
||||
|
||||
|
||||
{{ReviewRequested}}
|
||||
|
||||
|
||||
Means this:
|
||||
|
||||
:The material on this page needs to be reviewed for completeness and accuracy. If you have knowledge of this material, please review this page. If you are a [[Community|contributor]], feel free to make any appropriate additions and/or corrections, then remove this template. If not, you can note improvements on the [[Community#Using the Comments pages|comments]] page.
|
||||
|
||||
====UnderConstruction====
|
||||
|
||||
Looks like this:
|
||||
|
||||
|
||||
{{UnderConstruction}}
|
||||
|
||||
|
||||
Means this:
|
||||
|
||||
:Use this page with caution. This page is currently under development. It is likely that the information on this page is still incomplete.
|
||||
|
||||
====UpdateNeeded====
|
||||
|
||||
Looks like this:
|
||||
|
||||
|
||||
{{UpdateNeeded}}
|
||||
|
||||
|
||||
Means this:
|
||||
|
||||
:Use this page with caution. This page has been identified as needing update. If you are a [[Community|contributor]], you can help by updating this page so that the information on it is current.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ The <code>PRODUCER</code> class supports a procedure <code>produce</code> in whi
|
||||
|
||||
The <code>CONSUMER</code> class works in a way that is largely the symmetrical opposite of <code>PRODUCER</code>. The consumer tries to <code>consume</code> the item from the <code>INVENTORY</code>. But this only possible if an item has been produced and is available. So <code>{CONSUMER}.consume</code> has a "wait" precondition based on the query <code>{INVENTORY}.has_item</code>.
|
||||
|
||||
So the heart of the problem is the synchronization between producer and consumer sharing a single inventory. If there's already a product in inventory, the producer cannot produce more and must wait. Only when the consumer consumes the current product can the producer produce again. For the consumer's part, if there's a product currently in inventory, then the consumer can consume that product. Otherwise, the consumer must wait until the producer produces a new product. The synchronization is handled by the SCOOP mechanism of wait preconditions on the inventory.
|
||||
So the heart of the problem is the synchronization between producer and consumer sharing a single inventory. If there's already a product in inventory, the producer cannot produce more and must wait. Only when the consumer consumes the current product can the producer produce again. For the consumer's part, if there's a product currently in inventory, then the consumer can consume that product. Otherwise, the consumer must wait until the producer produces a new product. The synchronization is handled by the SCOOP mechanism of uncontrolled (wait) preconditions on the inventory.
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user