Title: Standards Advisor: Activity Modeling and a ModelDriven Web Portal for a Software Engineering Process
1Standards Advisor Activity Modeling and a
Model-Driven Web Portal for a Software
Engineering ProcessThesis Defense Presentation
2Abstract
- Aerospace systems demand high-quality software
engineering processes to deliver high-quality
products - NASA Marshall Space Flight Centers Avionics
Flight Software development group (group code
ED14) seeks to improve their ability to deliver
space systems that meet all their requirements,
incorporate prior engineering experience, and are
delivered on time and on budget.
- We developed a web-based process web portal that
- Provides guidance on software development
techniques - Provides associated standards and lessons learned
at appropriate points in their development
process - Captures developers experience with the process
and incorporates this new experience, as new
lessons learned, into the web of NASA knowledge
for subsequent use by other developers.
- The web portal 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 web portal to search for and
deliver process information to support flight
software development
3Approach
The Semantics of the shapes
Document
Multiple documents
Model
Website
Specification
Process
4Topics
- Initial Web Portal and Assessment
- Initial Activity Model and Assessment
- Refined Activity Model
- Model-Driven Web Portal
- Initial Mapping to PSL
- Conclusion
- Possible Future Work
5Structure of an Activity Description
- Regular pattern to the structure of an activity
in ED 14 OWI - Activity Name
- Activity Description
- Sub-Activities
- Products/Documents Used
- Products/Documents Developed
- Quality-Related Activities
- Quality Records
- So, an activity has
- a description
- sub-activities (described the same way)
- a list of products and documents used
- a list of products and documents developed
6Initial ED14 Web Portal Prototype
- Focusing on ED14 OWI software design activities,
we developed a web portal prototype to deliver
information to activities - The development of the initial ED14 Web Portal
prototype used HTML and Javascript as
hard-coded representations of the engineering
activities and their use of standards documents - The web portal prototype is available at
http//cs.ua.edu/graduate/hma/Advisor/MainMenu.htm
- Snapshot from the web site follow
7Initial Prototype Activity Navigation
8Assessment for Initial Prototype
- Hard-coding the web pages would make it
difficult to change the web portal as the OWI
evolves - There is no support for capturing comments,
issues, and annotations for the information in
the web portal, or for capturing lessons learned - The implementation of the information is not in
a form to support query and reasoning about that
information.
9UML Model of Activities and Documents(First
Iteration)
10Activity Models Standards and Formality
- Issues
- Clarify role of document
- - Input, output, guidance (Standard, Guideline,
Lesson, etc.) - Document granularity some of the documents are
large, and the portion that is used or produced
by an activity is a small portion of the larger
document. - Project-specific enactment of generic process
- - Specific documents and activities for a
specific project
11Activity Model Standards
- The IDEF family of standards (focus on IDEFØ) are
used to model manufacturing production systems
and supporting information systems. - The OMG Software Process Engineering Metamodel
(SPEM) standard is used to model processes as a
configurable assembly of activities and work
products. - Business process modeling standards, such as the
Workflow Management Coalitions reference models
and the associated OMG Workflow standard,focus on
the information to support business activities
(including engineering activities) and the flow
of control between activities (workflow). - These standards guide the modeling effort.
12Activity Definition
- 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 (materials, documents, 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 input is a resource or
mechanism that performs the activity
Guidance or Controls
Activity
Outputs
Inputs
Resources or Mechanisms
IDEFØ and SPEM
13ED14 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
14Subactivities of ED 14 Software Design Activity
15Process Definition, Enactment, and Execution
Process Models
Process Design and Definition
Activity Instantiation and Control
Activity Enactment
Engineering Tools and Information
Activity Execution
16Refined Activity Model
- Toward a formal ontology
- Packages in the ontology
- Based on
- IDEF
- OMG Software Process Engineering Metamodel
- OMG Workflow Management
- Other Software Engineering models
17Basic 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.
18EnactmentPackage
- Mechanisms to
- Start and complete a specific instance of an
activity - Record history about that activity instance.
19Activities Package
Models the three key elements of activities
Person(Role) performing an Activity to produce a
Product
20Model-Driven ED14 Web Portal
- Examples of instantiating the Activity Model for
the ED14 OWI - Activity aggregation hierarchy
- Activity descriptions text, web page, and flow
diagram - Input and output WorkProducts for Preliminary
Software Design - Guidance elements for the ED14 Preliminary
Software Design activity - Model-Driven ED14 web pages
- Drive the web portal using the model class
instances. - Write scripts to generate web pages with a
data-driven, dynamic approach. - The web pages are a visulization of the
underlying model of roles, activities, and work
products. - The underlying semantic model drives the
user-interactive web pages
21Activities for ED14 OWI
22Activity 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 will be 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
23Input and Output WorkProducts to an Activity
24Guidance Elements for an Activity
guidance
guidance
guidance
guidance
guidance
guidance
guidance
annotatedElement
25Implement Activity Model with XML Data
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 is driven by an XML document
(tree.xml) that implements the activity model
instances.
tree.xml
26Process Web Site Snapshot 2
Activity name Search
- XML document drives
- Navigation menu structure
- Page content
Process Info in Consistent Structure
27Implement Activity Model with Relational Databases
The content of the navigation menu is stored in
the Microsoft Access database Activity/subactivi
ty instances are implemented as a
(Parent)folder/subfolder, and the Activity
ExternalDescriptions are implemented as
subfolders under a parent Description
subfolder of the parent activity folder. This
implements the three types of ExternalDescription
instances for an Activity as follows
28Capture Lessons Learned to be XML Document
29Capture 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
30Capture New Lessons
Capture New Lessons for Later Use
31Search Lessons Learned
- Besides the lesson instance in the form of XML,
a separate XML document (lessonslist.xml) is
maintained for search - Contains the list of submitted lessons
- Each element in this list represents a submitted
lesson - Contains the name of the lesson, lesson number,
its location and the activity it is associated
with.
32Activity Name Search
Search Lessons Learned
The results of searching by activity
name Preliminary Design
33Improvement to Model-Driven Web Portal
- Dynamic model-driven web pages would make it
easy to change the web portal content as the
Software engineering process evolves - web content also can be changed through user
interaction - We have implemented the support for capturing
lessons learned in the web portal - Users can search through the lessons learned in
the web portal by activity name or other key
words.
34Initial Conceptual Mapping to PSL
35Conclusion
- We have prototyped an interactive process web
portal - 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 portal
- Enables semantic-based search, process
automation, process assembly, etc. - We performed an iterative procedure for modeling
- We demonstrated the use of XML, relational
databases, Java, and web technologies to
implement a model-driven web portal.
36Possible Future Work
- Further implement the model-driven web site
- Implement project-specific tailoring
- Implement the project-specific enactment package
in the activity model - Incorporate PSL concepts
- Represent PSL concepts and relationships in UML
- Transform PSL axioms from KIF to UML OCL
- Incorporate PSL concepts to current model
- Move closer to a formal ontology enabling
automated reasoning, including adoption of
process modeling standards and semantic web
standards - Integrate with Standards Advisor MetaMatch tools
to search for standards, lessons learned, and
other information relevant to the process
activities - Integrate with the Standards Advisor XML
repository for storage, retrieval, update and
search of XML-based documents.
37Acknowledgements
- Dr. Scott Hawker
- Dr. Randy Smith
- Dr. Gary Moynihan
- Christina Yau
- Swapna Gupta
- Vamshi Gillipalli
- Qin Dong
- Bindumadhuri Arla
- All other students in our group
38Thank You!! Question/Comments ?