COCOMO_Farah-Stapleton__November-2015

Resource Analysis Based On
System Architecture Behavior
Monica Farah-Stapleton
Professor Ray Madachy
Professor Mikhail Auguston
Professor Kristin Giammarco
November 2015
Overview of Today’s Presentation
•
•
•
•
•
Pervasive Challenge and Response
Research Alignments
Applying FP Methodology To MP Model
Relating Activities
Closing Thoughts
We would like to acknowledge Lori Holmes-Limbacher for her
contributions as a FPA subject matter expert and the Q/P Management
Group, Inc. for the Tee Time System example.
2
Pervasive Challenge and Response
Challenge
•
Information Technology (IT) systems are large, challenged by the rate of change of
commercial IT, and represent a significant investment in time and resources
– Introduction of new system/capability results in unintended or unexpected
system/environment behaviors
– Operational and financial impacts often assessed after the fact
– Resourcing decisions and precise architectural descriptions of system/environment often
minimally related
Approach
•
•
•
Leverage precise behavioral modeling using Monterey Phoenix (MP) to assess
architectural design decisions and their impacts prior to, during, and after deployment
Relate architectural modeling to resourcing through analysis of behaviors and
Unadjusted Function Point Analysis (FPA) counts, leveraging complexity and size
metrics, e.g. Data Element Type (DET) and File Type Referenced (FTR)
Align activities with Systems Engineering Research Center (SERC) Ilities Tradespace
and Affordability Program (iTAP)
3
iTAP Research Objectives
• Total Ownership Cost (TOC) modeling to enable affordability tradeoffs with
integrated software-hardware-human factors
• Current shortfalls for ilities tradespace analysis
– Models/tools are incomplete wrt/ TOC phases, activities, disciplines, SoS aspects
– No integration with physical design space analysis tools, system modeling, or each other
• New aspects
– Integrated costing of systems, software, hardware and human factors across full lifecycle
operations
– Extensions and consolidations for DoD application domains
– Tool interoperability and tailorability (service-oriented)
• Can improve affordability-related decisions across all joint services
• Current Phase 4 Plans – Extract:
– Assess Monterey Phoenix (MP) for automatically providing cost information from
architectural models
– MP will extract software sizing cost model inputs to compute costs, and we will assess
mapping MP architectural elements into systems engineering cost model inputs
Please See Our Demo At the Tools Fair 5:00-6:30 PM
44
Applying FPA Methodology to MP
Architecture Model
Step 1:
Step 2:
Step 3:
Step 4:
Step 5:
Step 6:
Step 7:
Step 8:
Identify problem statement, i.e. typical questions to be answered, determine type of count
Describe behaviors of system and environment in natural language, identify scope boundary
Unambiguously represent behaviors using MP, extract use cases/initial views from MP model
Relate MP system/environment behaviors to Function Point behaviors
Identify coefficients that inform complexity and scale, identify counting rules
Determine Unadjusted Function Point (UFP) count
Assess effort using MP-COCOMO II/III tool and extracting coefficients
Visualize results in views specific to stakeholders
5
Basic Concepts for Monterey Phoenix (MP)
Behavioral Modeling
• Event - any detectable action in
system’s or environment’s behavior
• Event trace - set of events with
two basic partial ordering relations,
precedence (PRECEDES) and
inclusion (IN)
• Event grammar - specifies the
structure of possible event traces
Innovations:
•
Uniform Framework: Describe behaviors and interactions of the system AND environment using the same
framework
•
Leverage Small Scope Hypothesis: Exhaustive search through all possible scenarios (up to the scope limit),
expecting that most flaws in models can be demonstrated on small counterexamples
•
Separation of System Interaction from System Behavior: Specify behavior of each system’s components
separately from interactions between those components
6
What Does “Separation of System Interaction
from System Behavior” Mean?
7
Function Point Analysis
Functionality From User’s Perspective
Determine the Type of Count and Boundary :
Development Project, Enhancement Project, Application
Terminology:
•
•
•
•
External Inputs (EI): Data that is entering a system
External Outputs (EO) and External Inquires (EQ): Data that is
leaving the system
Internal Logical Files (ILF): Data that is processed and stored within
the system
External Interface Files (EIF): Data that is maintained outside the
system but is necessary to satisfy a particular process requirement
Function Point Analysis Practice
•
•
•
•
Count Data and Transactional Function Types
Determine Unadjusted FP Count
Determine the Value Adjustment Factor N/A
Calculate final Adjusted FP Count N/A
Sources: IFPUG
Function Points:
• Normalized metric used to
evaluate software deliverables
• Measure size based on welldefined functional
characteristics of the software
system
• Must be defined around
components that can be
identified in a well-written
specification
8
Relating FPA and MP
• Unadjusted Function Point is a unit of measurement to express the amount of
functionality in a system, and can be used to estimate system cost. Of specific
interest are the input/output activities of the system.
• MP architecture model is based on behavior modeling, providing a bridge
between the requirements and high level design, and is supportive of cost
estimates early in the design phase.
• The concept of an event in MP is an abstraction for activity within the system.
It is rendered as a pseudo-code, appropriate for capturing the functional
aspects of requirements, and supportive of refinement.
• UFP can be identified in the MP architecture model as an interaction
abstraction (i.e. COORDINATE or SHARE ALL constructs).
• The structure and the complexity of interactions in MP provide a source for
assigning weights contributing to the UFP.
• Since an MP model is precise and formal, FP metrics can be identified by
automated tools such as http://csse.usc.edu/tools/MP_COCOMO
9
Tee Time Example System Example
UFP Count Synopsis
10
Relating Activities:
Tee Time System -- Golf Courses List, EQ : State Drop Down
Transactional Function: EQ (View or Display Retrieval of Data)
•
Click Button from Main Screen, navigate to Golf Courses list.
No EP.
•
Exit button: Navigation, no EP.
EQ -- View/Display State Drop Down
 Click on state arrow
 State list display returned
 Stop
 1 FTR (Golf Courses ILF), 2 DET (Arrow Click,
State field)
EP
EQ
Description
State Drop
Down
ILF/EIF
Golf
Courses
(I)
FTR/DET
Complex
(1,2)
Low
EQ – View/Display City Drop Down
 State data entered
 Click on City arrow
 City list display returned
 Stop
 1 FTR (Golf Courses ILF), 3 DET (State data, Arrow
Click, City field)
EQ – View/Display Golf Courses List
 Enter State and City
 Click Display button
UFP
 Name displayed back, don’t count state, city.
 Stop
3
 1 FTR (Golf Course ILF), 4 DET(State, City, Name,
Click Display)
© Copyright 2010. Q/P Management Group, Inc. All Rights Reserved.
11
MP Model for EQ State Drop Down
Nested COORDINATE
Line 01 Schema
Name for EQ
COORDINATE
01 SCHEMA EQ_State_Drop_Down
Lines 02-05
represent the
behaviors of
ROOTs (Actors)
02 ROOT User_GCL: Inquire_on_state_data something_else;
03
Inquire_on_state_data: Click_state_arrow_dropdown Receive_state_list_display;
04 ROOT Golfcourses_ILF: Get_result anything_else;
05
Get_result: Receive_state_arrow_prompt Send_state_list_display;
06 COORDINATE $x: Inquire_on_state_data
07
$y: Get_result
08 DO
Lines 06-17
represent the
behaviors of
EQ: State
Drop Down
COORDINATE
Lines 09 -16
represent
behaviors of
nested
COORDINATE,
DETs and FTRs.
The nested
interactions
(ADD) influence
the weight of
this EQ
COORDINATE
FROM User_GCL,
FROM Golfcourses_ILF
09 COORDINATE $xx: Click_state_arrow_dropdown FROM $x,
10
$yy: Receive_state_arrow_prompt FROM $y,
11
$x11: Receive_state_list_display FROM $x,
12
$y11: Send_state_list_display FROM $y
13 DO
14
ADD $xx PRECEDES $yy;
15
ADD $y11 PRECEDES $x11;
16 OD;
17 OD;
MP Calculation
• 1 FTR and 1 nested COORDINATE (COORDINATE & 2 ADDs) correspond to 1 FTR and 2 DETs and a
functional complexity weighting of 3
• EQ State Drop Down = (1 COORDINATE) * 3 UFP/COORDINATE = 3 UFPs
12
EQ State Drop Down Use Case
Sequence Diagram Automatically Generated by Firebird, Scope 2
• Monterey Phoenix and Related Work:
http://faculty.nps.edu/maugusto
• MP Wiki: https://wiki.nps.edu/display/MP
• Public MP server with MP editor, trace generator, and trace
graph visualization: http://firebird.nps.edu/
13
FPA Calculation
External Inquiry (EQ)
EP
Description
ILF/EIF
FTR/DET
Complexity
UFP
EQ
State Drop Down
Golf Courses (I)
(1,2)
Low
3
EQ
City Drop Down
Golf Courses (I)
(1,3)
Low
3
EQ
Golf Course List
Golf Courses (I)
(1,4)
Low
3
EQ
Golf Course Detail
Golf Courses (I)
(1,12)
Low
3
EQ
Scoreboard Display
Scoreboard (I)
(1,6)
Low
3
EQ
Maintain Golf Course Display Golf Courses (I)
(by ID)
(1,13)
Low
3
EQ
Tee Times Reservation
Display
Tee Times (I)
(1,11)
Low
3
EQ
Tee Times Shopping Display
Merchandise (E)
(1,3)
Low
3
EQ
Product View Picture
Merchandise (E)
(1,3)
Low
3
Source IFPUG Counting Manual Part 2, p.7-19
14
MP and FPA UFP Calculation
EQ State Drop Down
EP
EQ
Description
State Drop
Down
ILF/EIF
Golf
Courses (I)
FTR /
DET
(1,2)
Complex
Low
UFP
3
UFP Calculation: FPA Manual Count
UFP Calculation: Extracted From MP
•
• 1 COORDINATE interaction associated with
State Drop Down EQ behaviors
• State Drop down EQ COORDINATE
contains a nested COORDINATE (2 ADDs)
• The 2 ADDs relate to 2 DETs
• ROOT Golfcourses_ILF relates to 1 FTR
• 0 -1 FTRs and 1-5 DETs correspond to a
Low functional complexity rating
• A Low functional complexity rating
corresponds to 3 UFP
• EQ State Drop Down is equal to 1
COORDINATE with a weight of 3 or
3 UFPs
•
•
1 FTR and 2 DETs identified from the
behavior of the State Drop Down EQ
0-1 FTRs and 1-5 DETs correspond to a Low
functional complexity rating
A Low functional complexity rating
corresponds to 3 UFPs
15
MP-COCOMO Tool
Collaboration In Progress
Source: http://csse.usc.edu/tools/MP_COCOMO/
16
Closing Thoughts
• Resourcing is a socio-technical problem
– Methodology and MP Framework synchronize concepts, architectures,
system/software implementation, business processes, organizational dynamics
– Relevant in the System of Systems problem space
– Make the tools and methods user-friendly, enforce across the enterprise
• Next Steps
– Refine weights for each Transactional Function
– Refine relationship between steps of a FPA Elementary Process and MP
descriptions
• Nested COORDINATES
• ILF and EIF behavioral representations in MP
– Apply methodology to iTAP UAV case study and IFPUG case study
17
Back Up
18
FPA Calculation
External Input (EI)
EP
Description
ILF/EIF
FTR/DET
Complexity
UFP
EI
Scoreboard (ADD)
Scoreboard (I)
(1,7)
Low
3
EI
Scoreboard (CHANGE)
Scoreboard (I)
(1,7)
Low
3
EI
Scoreboard (DELETE)
Scoreboard (I)
(1,3)
Low
3
EI
Maintain Golf Course (ADD)
Golf Courses (I)
(1,13)
Low
3
EI
Maintain Golf Course (CHANGE)
Golf Courses (I)
(1,13)
Low
3
EI
Maintain Golf Course (DELETE)
Golf Courses (I)
Tee Times
(2,3)
Low
3
EI
Tee Times Reservations (ADD)
Tee Times (I)
(1,12)
Low
3
EI
Tee Times Reservations (CHANGE)
Tee Times (I)
(1,12)
Low
3
EI
Tee Times Reservations (DELETE)
Tee Times (I)
(1,6)
Low
3
Source IFPUG Counting Manual Part 2, p.7-19
19
FPA Calculation
External Output (EO)
EP
Description
ILF/EIF
FTR/DET
Complexity
UFP
EO
Shopping Display (Calculation)
Merchandise
(1,7)
Low
4
EO
Buy – Send to Purchasing
(Calculation)
Merchandise
(1,15)
Low
4
Source IFPUG Counting Manual Part 2, p.7-19
20
FPA Calculation
Data Functions
Description
ILF/EIF
RET/DET
Complexity
UFP
Golf Course
ILF
(1,11)
Low
7
Tee Times
ILF
(1,10)
Low
7
Scoreboard
ILF
(1,5)
Low
7
Merchandise
EIF
(1,3)
Low
5
Source IFPUG Counting Manual Part 2, p.7-19
21
22
iTAP Phase 4 Plans – Task 2
•
•
•
Collaboration with AFIT for a joint Intelligence, Surveillance and Reconnaissance
(ISR) mission application involving heterogeneous teams of autonomous and
cooperative agents.
NPS will provide cost modeling expertise, tools and Monterey Phoenix (MP) modeling
support. A focus will be on translations between models/tools in MBSE, specifically
mapping architectural elements into cost model inputs.
Approach
– Develop a baseline operational and system architecture to capture a set of military scenarios.
– Transition the baseline architecture to the MP environment.
– Utilize the executable architecture modeling framework of MP to perform automated
assertion checking and find counterexamples of behavior that violate the expected system's
correctness.
• Operational scenarios will be cycled through the MP modeling process, whereby alternate events are
captured for each actor in each scenario. This will produce a superset of scenario variants from the
behavior models, suitable for input to tradespace analysis and cost models.
– Design and demonstrate an ISR UAV tradespace.
– Develop cost model interfaces for components of the architecture in order to evaluate cost
effectiveness in an uncertain future environment.
23
iTAP Phase 4 Plans – Task 3
•
•
Continue extending the scope and tradespace interoperability of cost models and tools
from previous phases.
Cost modeling will engage domain experts for Delphi estimates, evolve baseline
definitions of cost driver parameters and rating scales for use in data collection, gather
empirical data and determine areas needing further research to account for differences
between estimated and actual costs.
– Prototype cost models and tools will be extended accordingly for piloting and refinement.
•
•
For tool interoperability we will integrate cost models in different ways with MBSE
architectural modeling approaches and as web services. We will also automate systems
and software risk advisors that operate in conjunction with the cost models.
NPS will provide domain expertise for SysML cost model integration with Georgia
Tech and USC to add software cost model formulas and the risk assessment
capabilities.
– This is also allied with Task 2 where we will assess Monterey Phoenix (MP) for
automatically providing cost information from architectural models. MP will extract software
sizing cost model inputs to compute costs, and we will assess mapping MP architectural
elements into systems engineering cost model inputs.
24
Systems Engineering Research Center
• A US Department of Defense
University-Affiliated Research
Center (UARC)
• The networked national resource
to further systems research and its
impact on issues of national and
global significance
The Systems Research and Impact Network
25
SERC: 22 Collaborators, Led by Stevens
Institute
26