Title: A WebBased Process and Process Models to Find and Deliver Information to Improve the Quality of Flig
1A Web-Based Process and Process Modelsto Find
and Deliver Informationto Improve the Qualityof
Flight Software
- J. Scott Hawker
- Hong Ma
- Randy K. Smith
- The University of Alabama
- Tuscaloosa, Alabama
Supported by grants from the NASA Marshall Space
Flight Center Flight Software Group (ED14) NASA
Technical Standards Program (ED41)
2Abstract
- Aerospace systems demand high-quality software
engineering processes to deliver high-quality
products - Many processes fail to deliver the organizations
wealth of information and experience that can
contribute to product and process quality - We present a web-based process support tool that
delivers - Information in a flight software engineering
process - Associated standards, lessons learned, and
background information - The tool is based on an underlying formal model
of the software engineering process activities
and artifacts - A semantic basis for context-based search and for
reasoning about the engineering process - Result information portal to search for and
deliver process and project-specific information
to support flight software development
3Process Web Site Snapshot 1
Process Info
Link to Standards, Lessons, Background
Link to Artifacts, Templates, Support Info
Search for Standards and Lessons
Navigate by Activity Structure
4Process Web Site Snapshot 2
Access to Normal Text Process Document
Keyword Search
Detailed Process Info
Process Info in Consistent Structure
5Capture New Lessons
Capture New Lessons for Later Use
6Underlying Model of Process
- A semantic model of the software engineering
process underlies the user-visible web pages - Web pages are a visualization of the underlying
model of activities and work products - The underlying semantic model drives software
agents (such as search and workflow engines) that
use the underlying model to augment the user
interaction - The underlying model enables
- Semantic-based search for activity-relevant
standards and lessons learned - Formal reasoning about activity specifications
and reusable work products - Dynamic assembly and tailoring of process
elements from reusable process components
- Process automation
- Assurance of process conformance
- Reasoning about process usage metrics and process
improvement opportunities - etc.
7Definition Process and Activity
- A process is a collection of activities executed
and coordinated to achieve goals - Activities produce a result (output) by acting
upon one or more inputs - Inputs and outputs are data and/or physical
objects (documents, materials, etc.) involved in
an activity - Inputs serve different roles in the activities
- Some inputs are consumed or transformed to
produce outputs - Some inputs are guidance or control on how an
activity is performed - Associated with an activity are resources or
mechanisms that perform the activity
Guidance or Controls
Activity
Outputs
Inputs
Resources or Mechanisms
Based on IDEFØ and SPEM
8NASA ED14 Preliminary Software Design Activity
- NASA-STD-2201-93
- NASA-STD-8719.13A
- NASA-GB-1740.13-96
- IEEE-1016
- IEEE-1016.1
- IEEE-12207.1
- Software Requirements Spec.
- Hardware Design Concepts
- Interface Control Doc.
- Trade Studies
Prelim. Software Design
- Preliminary Software Design Description
- Trade Studies
- Software Design Team
- Project Development Team
9Subactivities of ED 14 Software Design Activity
10Process Definition, Enactment, and Execution
Process Models
Process Design and Definition
Activity Instantiation and Control
Activity Enactment
Engineering Tools and Information
Activity Execution
From OMG Workflow Management
11Toward a Software Engineering Process Ontology
- Based on
- IDEF
- OMG Software Process Engineering Metamodel
- OMG Workflow Management
- Other software engineering models
Packages in the ontology
12Basic Elements Package
- All model elements can have
- Guidance
- External description
PresentationElement is a human
Element
readable textual and graphical
notation for the corresponding model
elements.
subject
ModelElement
presentation
PresentationElement
name Name
0..
0..
0..
0..
1..
1..
annotatedElement
0..
0..
ExternalDescription
- name String
description
- location String
0..
guidance
0..
- content String
kind
guidance
GuidanceKind
Guidance
- medium String
0..
0..
1
1
- language String
GuidanceKind examples technique,
Specializes
directive, checklist, tool mentor, guideline,
"presentation" role of
template, estimate, etc.
location URI (file path, URL, etc.)
ModelElement
medium format (MIMEtype?)
language English, Japanese, etc.
13EnactmentPackage
- Mechanisms to
- Start and complete a specific instance of an
activity - Record history about that activity instance
14Activities Package
Models the three key elements of processes
Person (role) performing an Activity to produce a
Product
15Modeling and Implementation Languages
- We use the Unified Modeling Language (UML) as the
basic knowledge representation language for the
underlying model - A precise, yet understandable, way to represent
and visualize knowledge - From these UML models, we derive and translate
between numerous concrete representations that
implement the models as computer data structures
and programs - Java and Perl language programs
- HTML files and JavaScripts interpreted by a web
browser - XML streams that are interpreted by XML
Stylesheet definitions for user display and
interaction - XML streams are created and manipulated by Java,
C, and Perl programs
16Model-Driven ED14 Web Portal
- Instantiate the activity model for the NASA ED14
process - Activity aggregation hierarchy
- Activity descriptions text, web page, and flow
diagram - Input and output WorkProducts for an Activity
- Guidance elements for an Activity
- Standards, lessons learned, templates, etc.
- Model-driven ED14 web pages
- Drive the web portal using implementations of the
model class instances - Write scripts to generate web pages with a
database-driven, dynamic approach - The web pages are a visualization of the
underlying model of roles, activities, and work
products - The underlying semantic model drives and augments
the user-interactive web pages
17Activities for NASA ED14 Process
18Activity Descriptions
ExternalDescription
Plain text
name Text Description
location file//cs.ua.edu/.
description
content The Preliminary Software
Design phase will begin
format text/plain
language eng
subject
subject
ExternalDescription
name Web Page Description
Web page
subject
location http//cs.ua.edu/.
content lthtmlgt ltheadgt
ltmetagt lt/headgt
- Graphical elements for user interfaces or
generated documents - For search and reasoning, knowing the names,
types, and relationships among the specific
elements is valuable
description
format text/html
language eng
Flow diagram
ExternalDescription
name Flow Diagram Web Page
location http//cs.ua.edu/.
content lthtmlgtprelimDesign.jpeg
description
format text/html
language eng
19Input and Output WorkProducts to an Activity
20Guidance Elements for an Activity
guidance
guidance
guidance
guidance
guidance
guidance
guidance
annotatedElement
21Implement Activity Model with XML
lttreegt ltbranch iddesigngt ltbranchTextgtSoftware
Designlt/branchTextgt ltleafgt ltleafTextgtDescripti
onlt/leafTextgt ltlinkgt\design.htmllt/linkgt lt/leafgt
ltbranch iddesignsubgt ltbranchTextgtSub
Activitieslt/branchTextgt ltbranch
idPredesigngt ltbranchTextgtPreliminary
Designlt/branchTextgt ltleafgt ltleafTextgtDescriptio
nlt/leafTextgt ltlinkgt\Predesign.htmllt/linkgt lt/lea
fgt ltleafgt ltleafTextgtProduct/Document
Usedlt/leafTextgt ltlinkgt\inputProduct.htmlt/linkgt
lt/leafgt ltleafgt ltleafTextgtProduct/Document
Developedlt/leafTextgt ltlinkgt\outputProduct.htmlt/l
inkgt lt/leafgt lttreegt
The web portal contents and navigation are driven
by an XML document that implements the activity
model instances
22Process Web Site Snapshot 2
- XML document drives
- Navigation menu structure
- Page content
23Capture Lessons Learned
24Capture Lessons Learned as an XML Document
- The structure of a lesson is defined by this XML
schema - A Java servlet saves the submitted lesson as an
XML document conforming to the schema - XML stylesheets define the web page layout of a
lesson capture form and a lesson display page
lt?xml version"1.0" ?gt - ltxsdschema
xmlnsxsd"http//www.w3.org/2001/XMLSchema"
elementFormDefault"qualified"gt - ltxsdelement
name"lesson"gt - ltxsdcomplexTypegt -
ltxsdsequencegt ltxsdelement name"name"
type"xsdstring" /gt ltxsdelement name"phone"
type"xsdstring" /gt ltxsdelement name"email"
type"xsdstring" /gt ltxsdelement name"org"
type"xsdstring" /gt ltxsdelement
name"facility" type"xsdstring" /gt
ltxsdelement name"project" type"xsdstring" /gt
ltxsdelement name"activity" type"xsdstring"
/gt ltxsdelement name"date" type"xsdstring"
/gt ltxsdelement name"topic" type"xsdstring"
/gt ltxsdelement name"keywords"
type"xsdstring" /gt ltxsdelement
name"summary" type"xsdstring" /gt
ltxsdelement name"description" type"xsdstring"
/gt lt/xsdsequencegt lt/xsdcomplexTypegt
lt/xsdelementgt lt/xsdschemagt
25Capture New Lessons
- Lesson XML schema plus stylesheet drive lesson
capture web page - Captured lesson is saved as an XML document
conforming to the XML schema - Lesson search exploits XML schema
26Next Steps for the Process Web
- Complete implementation of the model-driven web
portal - Including incorporation of ED14 Process Asset
Library, software engineering standards, design
patterns, etc. - Apply to other engineering processes
- NASA NPG 7120.5x Program/Project Management
Processes and Requirements - NASA NPG 71xx.x System Engineering Processes and
Requirements - Implement process tailoring, instantiation, and
enactment for a product-specific development
project - Integrate with model-driven semantic search (NASA
Standards Advisor MetaMatch, etc.) - Move closer to an ontology that supports
reasoning - Incorporate Process Specification Language (PSL)
ontology - Use Ontology Web Language (OWL) and the semantic
web tools and inference engines it enables
27Further Possibilities for the Process Web
- Semantic-based search for activity-relevant
standards and lessons learned - Formal reasoning about activity specifications
and reusable work products - Dynamic assembly and tailoring of process
elements from reusable process components - Process automation
- Assurance of process conformance
- Reasoning about process usage metrics and process
improvement opportunities - etc.
28Conclusion
- We have prototyped an interactive, web-based
process support tool - Software engineering process information for a
flight software development organization - Link to standards, lessons learned, etc.
- We have prototyped a formal underlying model
(ontology) of the software engineering process - Model-driven process web
- Enables semantic-based search, process
automation, process assembly, etc.
29For more on the NASA Standards Advisor
Project See http//cs.ua.edu/SEL/Standards_Advis
or.htm Contact Scott Hawker hawker_at_cs.ua.edu 1
205-348-1667