IBM Software Group Building a Complex UML BIRT Report Steven Hovater Oct 3, 2008 svhovater@us.ibm.com 2008 IBM Corporation
Starting Point Given this exemplar: IBM Software Group Rational software 2
Destination IBM Software Group Rational software We want to produce: 3
Establish mapping Some mappings are obvious Some are not IBM Software Group Rational software 4
How the pieces fit together: Capability relates to Operational Capability Realization Capability Operational Capability (Association) Operational Capability Realization relates to Operational Capability Realized Operational Capability (Realization) Operational Activities relate to Operational Capability containment System relates to System Operational Capability Capability Operational Capability (Association) System Operational Capability relates to System Capability Realized Operational Capability (Realization) Operational Activities relate to System Capabilities Activity Realization (Association) System Functions relate to System Capability Containment 5
Problem statement Find the capabilities that relate to systems by determining which operational capabilities map to system operational capabilities via the operational activities that are realized by the system functions. In the DoDAF domain, it s the mapping of the operational to the system views. 6
First Query IBM Software Group Rational software Create table that relates Capabilities (that are Operational Nodes) to Operational Capabilities 7
BIRT first query details Establish the data source Include the model (s) Include the necessary profile(s) (in this example, UPIA) Create a data set Row Extract all the Capability Operational Capability associations that relate Capabilities (that are Operational Nodes) to Operational Capabilities Columns: Name of the Capability/OpNode URI of the Capability/OpNode Name of the Operational Capability URI of the Operational Capability 8
Establish the Data Source 9
Create the first data set row mapping 10
Specify the columns Discussion point: The sample model uses the Capability stereotype for both Operational Nodes and Systems. In this query, we only want the Capabilities that are Operational Nodes. We know that one end of the relationship is a Capability and the other is an Operational Capability just from the semantics of the CapabilityOperationalCapability definition. 11
Filter out the Capabilities that aren t Operational Nodes 12
Validate the query 13
Second Query Create table that relates Operational Capabilities to Operational Capability Realizations 14
BIRT second query details Row Extract all the Realized Operational Capability relationships Column Name of the Operational Capability URI of the Operational Capability Name of the Operational Capability Realization URI of the Operational Capability Realization 15
Establish the second query row mapping 16
Specify the columns 17
Validate the query 18
Third Query Create table that relates Systems to Operational Capabilities via Capability Operational Capability associations 19
BIRT details IBM Software Group Rational software Create a data set Row Extract all the Capability Operational Capability associations that relate Systems to Operational Capabilities Columns: Name of the System URI of the System Name of the Operational Capability URI of the Operational Capability 20
Create the row mapping 21
Create the column mapping 22
Filter out non-systems 23
Validate query IBM Software Group Rational software 24
BIRT create the fourth query Row Extract all the system functions Columns Name of the system function URI of the system function Name of the system function owner URI of the system function owner 25
Create the row mapping 26
Create the column mapping 27
Validate the query 28
BIRT create the fifth query Row Extract all operational activities Column Name of the operational activity URI of the operational activity Name of the operational activity owner URI of the operational activity owner 29
Establish the row mapping 30
Create the column mapping 31
Validate Query IBM Software Group Rational software 32
BIRT create the sixth query Row Extract all activity realizations Column Name of the operational activity URI of the operational activity Name of the system operational activity realization URI of the system operational activity realization 33
Establish the row mapping 34
Create the column mapping 35
Validate Query IBM Software Group Rational software 36
First joint data set Create table that relates Operational Nodes that are Capabilities to the Operational Capability Realizations 37
Join based on OperationalCapabilityURI 38
Validate the query 39
Create second joint data set Create a table that joins the OperationalActivities to the first joint data set We want those OperationalActivities whose parent is an OperationalCapabilityRealization related to a Capability that s an Operational Node. 40
Validate results IBM Software Group Rational software 41
Third joint data set Create a table that links the Systems to the System OperationalCapabilityRealizations (which are OperationalActivityRealizations) 42
Create the joint data set 43
Validate results IBM Software Group Rational software 44
Create fourth joint data set Create a table that relates the System Functions to the OperationalActivityRealizations that are linked to the System OperationalCapabilityRealizations 45
Create the joint data set 46
Validate Results 47
Create Fifth Joint Data Set Join the Operational Activity (Query6) with the table that links the Capability to the Operational Activity (J2) 48
Validate the Query 49
Create final joint data set Now, join the operational to the system (join S2 and O1) 50
Validate the results There are many columns in the resulting data set as a results, we ve broken the image into two chunks. 51
Presentation IBM Software Group Rational software Now that we have the data that we need, we ll need to present it appropriately We re going to need to create a data cube, and a crosstab 52
Create the Data Cube Associate the SV5 data set with this cube 53
Create the groups and summary field in the data cube 54
Create the crosstab 55
Drag/drop rows/columns and summary fields Drag/drop System 56
Expose group levels for System Next, expose the group levels 57
Drop Capability Into Column 58
Expose groups IBM Software Group Rational software And, as with the Systems, expose the groups 59
Now, add the measurement field 60
Cleaning up IBM Software Group Rational software Set vertical presentation, and hide measure header 61
Preview Results Voila! We have an SV5 per the problem definition! 62
Complete the report Edit the data cube summary field 63
Edit the expression Add JavaScript code that produces an X if the field is not blank 64
Add a label to the crosstab 65
The Completed SV5 66
Appendix IBM Software Group Rational software Including parents and grandparents 67
Appendix IBM Software Group Rational software 68
Appendix IBM Software Group Rational software 69