Upload
duongkhanh
View
228
Download
3
Embed Size (px)
Citation preview
S1000D User Forum 2012 June 18-21, 2012
S1000D Applicability Introduction
Glenn Handrahan, IDSI June 18, 2012
Applicability – What is it? • allows the technical author to specify which data is
appropriate in what situations • provides the mechanism to identify the context for which
a data module or parts of a data module are valid • Implemented at:
– Publish Time – Display Time
• Effectivity
Applicability Alternative • Complete the development of PMs/DMs/ICNs
for a specific configuration • Make copy of CSDB • Create a new CSDB • Change DMCs to reflect new configuration
– Duplication; increases DMs to manage – Destroys life cycle management chain – Nightmare
S1000D Applicability Chapters • Chapter 3.9.5.3 Data Modules
– Covers applic concept, the model, etc. – Subchapters address specifics of ACT/PCT/CCT
• Chapter 4.14 Information management – Static vs. filtered view – Structure – Referencing
• Chapter 7.8 Information processing – How S1000D Publishing systems and/or Viewers must
process applicability statements – Evaluation rules
Why Applicability? • Data Overload for End User
– Multiple Configuration Levels – Different Change Types – Operational conditions
• Which procedure or part of the procedure do I follow? {I’m so confused!}
• The right configuration for each given condition must be clearly conveyed to the end user.
Applicability – End User
• allows an end user to select a configuration for a situation
• provides the end user with just the content needed to perform a task
• Provided as: – Individual configuration specific manuals – Selectable IETMs
Applicability Life Cycle • Planning – inputs from all data
sources to identify attributes about the Product and an initial set of conditions (BRs)
• Authoring – whole DM vs. inline. Build evaluate/assert statements using Product attributes from ACT and conditions from CCT.
• Product evolution – new attributes / conditions warrant CM of ACT and CCT. Existing applic statements may need to be updated.
• In service life – Maintain PCT as the Product configuration changes
• Filtering – at publish time? At display time?
• Question – How to QA?
Applicability Objective
• Permit automatic processing of the content by the publishing system based on applicability statements coded into data modules – Applicability Cross-reference Table (ACT – 00WA) – Conditions Cross-reference Table (CCT- 00QA) – Products Cross-reference Table (PCT – 00PA)
ACT, CCT, PCT • Applicability Cross-reference Table (ACT)
– used to declare attributes about your Product such as model, series, and serial number – serves as the central point of reference for applicability declarations including CCT and PCT
• Conditions Cross-reference Table (CCT) – used to declare any condition that can affect applicability of data such as temperature, wind speed
and sandy conditions – can be technical, operational, environmental, or any type that can affect technical data.
• Products Cross-reference Table (PCT) – a data module defining Product instances and associating values to product attributes and conditions
for each product instance – a product instance is an actual physical product, such as a Brook trekker Mk9 bicycle with serial
number 1B070643
Applicability Methods • Whole Data Module applicability • Content applicability
– Inline. More granular, accomplished via referencing • Applicability Branches
– Human readable • <displayText>
– Computable applicability annotation • <assert> • <evaluate> • <expression> {process data module only}
Simple Whole DM Applicability <productAttribute id="type"> <name>Type</name> <displayName>Bike type: Mountain or Road</displayName> <descr>Type of bike</descr> <enumeration applicPropertyValues="Mountain bicycle|Road bicycle"></enumeration> </productAttribute>
ACT
<product id="BIKE1"> <assign applicPropertyIdent="type" applicPropertyType="prodattr" applicPropertyValue="Mountain bicycle"/> </product> <product id="BIKE2"> <assign applicPropertyIdent="type" applicPropertyType="prodattr" applicPropertyValue="Road bicycle"/> </product>
PCT
<applic> <displayText> <simplePara>All Bikes</simplePara> </displayText> </applic>
Common DMs human readable <applic>
<displayText> <simplePara>Mountain bicycle</simplePara> </displayText> <assert applicPropertyIdent=“type" applicPropertyType=“productattr” applicPropertyValues="Mountain bicycle "/> </applic>
defines each product attribute or condition values that apply to the DM
Mountain bicycle specific DMs
Whole DM
Applies to both Bikes
Applies to BIKE1
Applies to BIKE2
Publish Time!
PM
ACT
CCT
PCT
IETP PM
Handyman Bike Shop Mountain bicycle
Division
Mk1 Mk9 Mk1 Mk9
Brook trekker Mountain storm
model
version
ACT <productAttributeList> <productAttribute id="type"> <name>Type</name> <displayName/> <descr>Type of bike</descr> <enumeration applicPropertyValues="Mountain bicycle|Road bicycle"></enumeration> </productAttribute> <productAttribute id="model" valuePattern=".*"> <name>Model</name> <displayName/> <descr>Model of the bike</descr> <enumeration applicPropertyValues="Brook trekker|Mountain storm"/> </productAttribute> <productAttribute id="version" valuePattern="Mk(1|9)"> <name>Version</name> <displayName/> <descr>Version of the bike</descr> <enumeration applicPropertyValues="Mk1|Mk9"/> </productAttribute> </productAttributeList>
PCT <product id="MBBT1"> <assign applicPropertyIdent="type" applicPropertyType="prodattr" applicPropertyValue="Mountain bicycle"/> <assign applicPropertyIdent="model" applicPropertyType="prodattr" applicPropertyValue="Brook trekker"/> <assign applicPropertyIdent="version" applicPropertyType="prodattr" applicPropertyValue="Mk1"/> </product> <product id="MBBT9"> <assign applicPropertyIdent="type" applicPropertyType="prodattr" applicPropertyValue="Mountain bicycle"/> <assign applicPropertyIdent="model" applicPropertyType="prodattr" applicPropertyValue="Brook trekker"/> <assign applicPropertyIdent="version" applicPropertyType="prodattr" applicPropertyValue="Mk9"/> </product> <product id="MBMS1"> <assign applicPropertyIdent="type" applicPropertyType="prodattr" applicPropertyValue="Mountain bicycle"/> <assign applicPropertyIdent="model" applicPropertyType="prodattr" applicPropertyValue="Mountain storm"/> <assign applicPropertyIdent="version" applicPropertyType="prodattr" applicPropertyValue="Mk1"/> </product> <product id="MBMS9"> <assign applicPropertyIdent="type" applicPropertyType="prodattr" applicPropertyValue="Mountain bicycle"/> <assign applicPropertyIdent="model" applicPropertyType="prodattr" applicPropertyValue="Mountain storm"/> <assign applicPropertyIdent="version" applicPropertyType="prodattr" applicPropertyValue="Mk9"/> </product>
Constructing Applicability Statements
<applic> <displayText> <simplePara>Mountain storm and Mk1</simplePara> </displayText> <evaluate andOr=“and”> <assert applicPropertyIdent="model" applicPropertyType="prodattr“ applicPropertyValues="Mountain storm"/> <assert applicPropertyIdent=“version" applicPropertyType="prodattr" applicPropertyValues=“Mk1"/> </evaluate> </applic>
<applic> <displayText> <simplePara>All Bikes</simplePara> </displayText> </applic>
Common DMs
contains computable statement
For the DM to be applicable, the result of the <evaluate> statement must be Boolean “true”
Model and version specific DMs
Evaluate “How to”
Mountain storm model AND
Mk1 version
Brook trekker model AND
Mk9 version
OR
Mountain bicycle AND
Applies to both Models
Applies to Brook trekker
Applies to Mtn. storm
Publish Time!
PM
ACT
CCT
PCT
IETP PM
Mk1
Mk9
Mk1
Mk9
When you’ve been married for twenty five years and are an S1000D developer, you try to apply S1000D to everyday life.
Don’t be an idiot and apply S1000D applicability to your marriage. Only use applicability in S1000D technical publications.
When you try out the assert / evaluate statements on your wife, she thinks you’re an idiot.
When you try to apply applicability to your marriage, as a husband you mentally develop assert / evaluate statements and logically solve them.
When you try to apply S1000D to everyday life, you think it’s a good idea to apply applicability to your marriage.
Applicability BRs
• 30 – 40 Applicability BRs • The project or the organization using the
human readable branch of applicability must decide whether the element <displayText> is populated by the technical author or generated from the computable branch or some other source.