Jump to content

AOWIS:Writing Style Guide/v1.0: Difference between revisions

From AOWIS
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:


''A consistent voice for a technical, engineering-grade standard.''
''A consistent voice for a technical, engineering-grade standard.''
----
; Related
* [[AOWIS:AI_Usage_Guide]]
* [[AOWIS:Contributor_Guide_Internal]]
* [[AOWIS:Contributor_Guide_External]]
----


AOWIS is a technical standard for water and agricultural infrastructure in low-resource environments.   
AOWIS is a technical standard for water and agricultural infrastructure in low-resource environments.   
Line 29: Line 36:
* Uses RFC 2119 keywords (MUST, SHOULD, MAY)
* Uses RFC 2119 keywords (MUST, SHOULD, MAY)
* One requirement per sentence
* One requirement per sentence
* Statements MUST be testable
* Statements MUST be testable and uniquely identifiable


Example:
Example:
<pre>
<pre>
The Field Controller MUST enforce pump protection locally.
REQ-FC-001: The Field Controller MUST enforce pump protection locally.
Remote systems MUST NOT override safety-critical decisions.
REQ-FC-002: Remote systems MUST NOT override safety-critical decisions.
</pre>
</pre>


Line 78: Line 85:
* Never mix them with narrative tone
* Never mix them with narrative tone
* Each normative statement MUST be testable through observation, measurement, or inspection
* Each normative statement MUST be testable through observation, measurement, or inspection
* Each normative requirement MUST include a unique identifier


----
----
Line 85: Line 93:
=== 3.1 For Normative Text ===
=== 3.1 For Normative Text ===
* One requirement per sentence
* One requirement per sentence
* Avoid conjunctions unless logically necessary
* Normative sentences SHOULD contain a single logical condition
* Prefer active voice
* Prefer active voice
* Passive voice MAY be used only when the actor is irrelevant
* Passive voice MAY be used only when the actor is irrelevant
Line 130: Line 138:
* Detection method
* Detection method
* Required system behavior
* Required system behavior
* If a failure condition is not applicable, explicitly state "Not Applicable"


----
----
Line 159: Line 168:


== Requirements ==
== Requirements ==
List of MUST/SHOULD/MAY statements.
List of MUST/SHOULD/MAY statements, each with a unique ID.


== Definitions ==
== Definitions ==
Line 215: Line 224:


== Offline Behavior ==
== Offline Behavior ==
Behavior without connectivity.
Behavior without connectivity (see rules).
 
== Logging ==
Requirements for event and fault logging.


== Integration ==
== Integration ==
Line 267: Line 279:
The Operator MAY input tank level via manual entry.
The Operator MAY input tank level via manual entry.
</pre>
</pre>
Each human input MUST specify:
* Input method (e.g., button, SMS, paper entry)
* Validation rules
* Timeout or expiry behavior (if applicable)


Avoid:
Avoid:
Line 283: Line 300:
** minutes (min)
** minutes (min)
** hours (h)
** hours (h)
 
* Numbers SHOULD be written as numerals
Avoid vague expressions such as:
* Avoid vague expressions such as "quickly", "immediately", "shortly"
* quickly
* immediately
* shortly


----
----
Line 299: Line 313:
----
----


== 11. Prohibited Terms in Normative Text ==
== 11. Logging Requirements ==


The following terms MUST NOT be used:
The system MUST log:
* State transitions
* Fault conditions
* Manual overrides
* Sensor failures


Each log entry MUST include:
* Timestamp
* Source
* Event type
----
== 12. Offline Behavior Rules ==
Offline behavior MUST:
* Not depend on external systems
* Preserve safety constraints
* Define data synchronization behavior upon reconnection
----
== 13. Prohibited Terms and Patterns ==
The following words MUST NOT be used in normative text:
* reliable
* reliable
* efficient
* efficient
Line 310: Line 347:
* sufficient
* sufficient
* appropriate
* appropriate
The following patterns MUST NOT be used:
* Multiple requirements in a single sentence
* Hidden requirements in explanatory text
* Undefined terms in normative statements


----
----


== 12. Versioning ==
== 14. Versioning and Backward Compatibility ==


Rules:
Rules:
* Each page MUST include a version identifier
* Each page MUST include a version identifier
* Changes to normative requirements MUST increment the version
* Changes to normative requirements MUST increment the version
* Changes that break backward compatibility MUST:
** Increment the major version
** Document migration requirements
----
== 15. Conformance ==
A system is compliant with AOWIS if:
* All applicable MUST requirements are satisfied
* No MUST NOT requirements are violated
* Deviations from SHOULD requirements are documented and justified
* Each requirement MUST be uniquely identifiable


----
----


== 13. Examples of Good AOWIS Style ==
== 16. Examples of Good AOWIS Style ==


=== Normative ===
=== Normative ===
<pre>
<pre>
The Field Controller MUST continue operating during network outages.
REQ-FC-001: The Field Controller MUST continue operating during network outages.
</pre>
</pre>


Line 335: Line 390:
=== Hybrid (allowed in Architecture pages) ===
=== Hybrid (allowed in Architecture pages) ===
<pre>
<pre>
The Field Controller MUST enforce pump protection locally.
REQ-FC-002: The Field Controller MUST enforce pump protection locally.
This ensures safe operation even when the Farm Controller is offline.
This ensures safe operation even when the Farm Controller is offline.
</pre>
</pre>

Latest revision as of 01:29, 8 April 2026


A consistent voice for a technical, engineering-grade standard.


Related

AOWIS is a technical standard for water and agricultural infrastructure in low-resource environments. Its writing style MUST be clear, unambiguous, implementable, accessible, and consistent.


1. Two-Tone Writing Model

AOWIS uses two distinct writing tones depending on the purpose of the page.

A. Normative Tone (Engineering Style)

Used in:

  • Standard:
  • Safety rules
  • Controller responsibilities
  • Data models
  • Protocols
  • Compliance requirements

Characteristics:

  • Precise and unambiguous
  • Short, declarative sentences
  • No storytelling or metaphors
  • No adjectives unless measurable
  • Uses RFC 2119 keywords (MUST, SHOULD, MAY)
  • One requirement per sentence
  • Statements MUST be testable and uniquely identifiable

Example:

REQ-FC-001: The Field Controller MUST enforce pump protection locally.
REQ-FC-002: Remote systems MUST NOT override safety-critical decisions.

B. Explanatory Tone (Conceptual / Contextual)

Used in:

  • Concepts:
  • Real-world constraints
  • Human-in-the-loop
  • Offline-first rationale
  • Paper operation

Characteristics:

  • Descriptive and contextual
  • Human-centered
  • Explains why the standard works this way
  • Uses examples where helpful

Example:

In many rural regions, water infrastructure must operate under unstable power conditions.
AOWIS therefore emphasizes offline-first operation and local autonomy.

2. Normative Language Rules (RFC 2119)

AOWIS uses the following keywords:

  • MUST — absolute requirement
  • MUST NOT — absolute prohibition
  • SHOULD — strong recommendation
  • SHOULD NOT — discouraged practice
  • MAY — optional feature

Rules:

  • Use these words only for normative statements
  • Always write them in ALL CAPS
  • Never soften them (e.g., “should probably”, “must ideally”)
  • Never mix them with narrative tone
  • Each normative statement MUST be testable through observation, measurement, or inspection
  • Each normative requirement MUST include a unique identifier

3. Sentence Structure Guidelines

3.1 For Normative Text

  • One requirement per sentence
  • Normative sentences SHOULD contain a single logical condition
  • Prefer active voice
  • Passive voice MAY be used only when the actor is irrelevant
  • Avoid ambiguous terms (“adequate”, “sufficient”, “appropriate”)
  • Prefer measurable or observable criteria

Bad:

The pump should run long enough to fill the tank.

Good:

The pump SHOULD run until the tank level sensor reports FULL.

3.2 For Explanatory Text

  • Use narrative flow
  • Provide context
  • Use real-world examples
  • Use human-centered language
  • Keep paragraphs short

Example:

Operators may act as sensors by reporting tank levels manually when electronic sensors fail.

3.3 Failure Conditions

Normative text MUST define behavior under failure conditions where relevant.

Failure conditions include:

  • Power loss
  • Sensor failure
  • Communication loss
  • Actuator malfunction

Each defined failure condition MUST specify:

  • Detection method
  • Required system behavior
  • If a failure condition is not applicable, explicitly state "Not Applicable"

4. Terminology Rules

AOWIS uses:

  • Simple, concrete nouns
  • Consistent naming across namespaces
  • Definitions before usage

Avoid:

  • Buzzwords
  • Marketing language
  • Vague abstractions
  • Synonyms that create ambiguity

Example: Use Field Controller, not “local device”, “embedded unit”, or “microcontroller”.


5. Page Structure Templates

A. Normative Page Template (Standard:)

== Purpose ==
Short description of what this section defines.

== Requirements ==
List of MUST/SHOULD/MAY statements, each with a unique ID.

== Definitions ==
Terms used in this section.

== Notes ==
Non-normative clarifications (optional).

Rule:

  • All normative statements MUST appear only in the "Requirements" section
  • All other sections MUST be considered non-normative unless explicitly stated

B. Explanatory Page Template (Concepts:)

== Overview ==
High-level explanation.

== Real-World Context ==
Why this concept matters.

== AOWIS Approach ==
How the standard addresses the issue.

== Examples ==
Optional, illustrative.

C. Module Page Template (Modules:)

== Purpose ==
What the module covers.

== Inputs ==
Sensors, human inputs, data sources.

== Outputs ==
Actuators, logs, decisions.

== States ==
Operational states (e.g., IDLE, ACTIVE, FAULT).

== State Transitions ==
Conditions for state changes.

== Safety Boundaries ==
What the module MUST NOT override.

== Data Model ==
Structured fields.

== Offline Behavior ==
Behavior without connectivity (see rules).

== Logging ==
Requirements for event and fault logging.

== Integration ==
Interaction with Field/Farm/HQ controllers.

6. Tone Consistency Rules

Always:

  • Write as if the document will be used for certification
  • Assume the reader is technical but not necessarily an engineer
  • Prioritize clarity over elegance
  • Use short paragraphs
  • Use headings generously

Never:

  • Use humor
  • Use metaphors
  • Use emotional language
  • Use marketing language
  • Use ambiguous qualifiers (“robust”, “smart”, “intelligent”)

7. Audience Model

AOWIS is written for:

  • Engineers
  • Technicians
  • NGOs
  • Government agencies
  • Researchers
  • Field operators

Implications:

  • Normative text MUST be precise
  • Explanatory text MUST be accessible
  • Examples MUST be realistic
  • Assumptions MUST reflect low-infrastructure environments

8. Human Interaction Rules

Human actions MUST be described as explicit inputs.

Example:

The Operator MAY input tank level via manual entry.

Each human input MUST specify:

  • Input method (e.g., button, SMS, paper entry)
  • Validation rules
  • Timeout or expiry behavior (if applicable)

Avoid:

The operator can intervene if needed.

9. Units and Measurements

Rules:

  • All measurable values MUST include units
  • Time MUST be expressed in:
    • seconds (s)
    • minutes (min)
    • hours (h)
  • Numbers SHOULD be written as numerals
  • Avoid vague expressions such as "quickly", "immediately", "shortly"

10. Terminology Consistency

Rules:

  • Terms MUST match their Definitions exactly
  • A term MUST NOT be redefined with a different meaning across pages

11. Logging Requirements

The system MUST log:

  • State transitions
  • Fault conditions
  • Manual overrides
  • Sensor failures

Each log entry MUST include:

  • Timestamp
  • Source
  • Event type

12. Offline Behavior Rules

Offline behavior MUST:

  • Not depend on external systems
  • Preserve safety constraints
  • Define data synchronization behavior upon reconnection

13. Prohibited Terms and Patterns

The following words MUST NOT be used in normative text:

  • reliable
  • efficient
  • robust
  • intelligent
  • adequate
  • sufficient
  • appropriate

The following patterns MUST NOT be used:

  • Multiple requirements in a single sentence
  • Hidden requirements in explanatory text
  • Undefined terms in normative statements

14. Versioning and Backward Compatibility

Rules:

  • Each page MUST include a version identifier
  • Changes to normative requirements MUST increment the version
  • Changes that break backward compatibility MUST:
    • Increment the major version
    • Document migration requirements

15. Conformance

A system is compliant with AOWIS if:

  • All applicable MUST requirements are satisfied
  • No MUST NOT requirements are violated
  • Deviations from SHOULD requirements are documented and justified
  • Each requirement MUST be uniquely identifiable

16. Examples of Good AOWIS Style

Normative

REQ-FC-001: The Field Controller MUST continue operating during network outages.

Explanatory

Because many rural regions experience unstable connectivity, AOWIS requires all safety-critical logic to run locally.

Hybrid (allowed in Architecture pages)

REQ-FC-002: The Field Controller MUST enforce pump protection locally.
This ensures safe operation even when the Farm Controller is offline.

End of AOWIS Writing Style Guide (v1.0)