View
36
Download
2
Category
Preview:
DESCRIPTION
Essentials of IBM Rational Engineering Lifecycle Management. Course overview. Introductions. Your organization Your role Your background and experience Software development experience Jazz platform experience Course expectations. Course outline. - PowerPoint PPT Presentation
Citation preview
© Copyright IBM Corporation 2013
Essentials of IBM Rational Engineering Lifecycle ManagementCourse overview
2 © Copyright IBM Corporation 2013
Introductions
Your organization
Your role
Your background and experience
Software development experience
Jazz platform experience
Course expectations
3 © Copyright IBM Corporation 2013
Course outline Describe Rational Engineering Lifecycle Manager. Navigate the user interface. Search the data that the product has access to. Identify the impact of a change in data. Create products. Run queries. Use views to navigate data. Generate reports. Integrate RELM and RTC
4 © Copyright IBM Corporation 2013
Audience This course is for people who are new to Rational
Engineering Lifecycle Manager. This course also includes a section at the end for
administrators.
5 © Copyright IBM Corporation 2013
Course objectives Describe the purpose of the main links on the
Welcome page. Differentiate the Jazz icons that are used to perform
common tasks. Explain where, what, and how to search for artifacts
in Rational Engineering Lifecycle Manager. Identify how to create, interpret, and change an
impact analysis diagram.
6 © Copyright IBM Corporation 2013
Course objectives (2) Define the terms product, product definition, product
hierarchy. Define version, variant Identify how to use versioning with check-in and
check-out. Identify how to compare different resources. Identify the purpose of queries. Identify how to use and edit views. Generate reports.
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementIntroducing the product
8 © Copyright IBM Corporation 2013
Rational Engineering Lifecycle Manager
Introducing Rational Engineering Lifecycle Manager
The product extends the Rational solution for systems and software engineering.
Open lifecycle integration
Visualize Analyze OrganizeCross-domain
navigator / explorer
Queries, reporting, and impact analysis
Product and system definition
Linked lifecycle data
The linked data approach enables your team:
Visibility – across many sources of data
Organization – information in context
Analysis – answer questions using that contextualized information
Stakeholders can use linked data:
To manage growing complexity
To derive knowledge from the available data
To make timely and correct engineering and business decisions
9 © Copyright IBM Corporation 2013
Rational Engineering Lifecycle Manager integrates tightly with Rational systems and software solutions. You can extend it to meet the needs of your unique environment.
Rational Engineering Lifecycle Manager
Open Lifecycle Integration
Visualize Analyze Organize
Cross domain views and navigation
Query, reporting, and impact analysis
Product, system and component
definition
Index of Linked Lifecycle Data
Third-partyTools from other vendors
Third-partyTools from other vendors
CustomHome-grown repositories
CustomHome-grown repositories
. . . .. . . .
Architecture and Design
Rational Rhapsody with Design Management
Architecture and Design
Rational Rhapsody with Design Management
Planning, Defect, and Change ManagementRational Team Concert
Planning, Defect, and Change ManagementRational Team Concert
Quality ManagementRational
Quality Manager
Quality ManagementRational
Quality Manager
Requirements Management
Rational DOORS
Requirements Management
Rational DOORS
The systems solution
10 © Copyright IBM Corporation 2013 10
Increase your capacity for innovation: By making better use of your engineering data
Improve efficiency and productivity: By managing the complexity of data and relationships
Increase agility to reduce costs: By understanding the impact of change across engineering
disciplines
Enhance collaboration and visibility: By understanding the interactions and dependencies between
development disciplines
Get the most out of your existing tools and infrastructure with: A federated, linked-data architecture based on open standards Tight integration with Rational systems and software solutions Extensibility to integrate data from other disciplines (such as
electrical, electronic, and mechanical)
Quality Requirements
Planning, Change/ Configuration Management
Take the next step …
11 © Copyright IBM Corporation 2013
High-level architecture of the product
LQE
Linked data
View in Rational Engineering Lifecycle Manager
Configuration Configuration Configuration
Query by using SPARQL or full-text search
Views
12 © Copyright IBM Corporation 2013
The Tracked Resource Set protocol specification
12
• By using the Tracked Resource Set protocol, a content provider (on a server) can expose a set of data artifacts (resources) for use by content consumers (such as Rational Engineering Lifecycle Manager):
• To discover the exact set of resources in the set
• To track all additions to and removals from the set
• To track state changes to all resources in the set
• The protocol can handle large data sets that contain a large number of resources, as well as highly active resource sets that undergo continual change.
• The protocol uses HTTP and follows RESTful principles.
Specification SDK Deploy & Configure
http://open-services.net/wiki/core/TrackedResourceSet-2.0/ http://wiki.eclipse.org/Lyo/TRSSDK http://jazz.net
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementNavigating the interface
14 © Copyright IBM Corporation 2013
Navigating the RELM Jazz interface Project area Welcome page Home Views Administration
15 © Copyright IBM Corporation 2013
Users, administration, and help
On the top right corner of any page you can manage users, projects, general administration, and help.
16 © Copyright IBM Corporation 2013
Dashboard
A source of current information to keep you or your team up-to-date:
Put new information that is important on a dashboard.
Use widgets to customize the dashboard.
17 © Copyright IBM Corporation 2013
Click Explore Dashboardto go to the Welcome page
Project area
Project areas host data so that you can query and view artifacts in the index.
Rational Engineering Lifecycle Manager, like any other Jazz application, can have multiple project areas.
Use the cross-project index to fetch data across project areas. The Lifecycle Query Engine (LQE) maintains the index.
18 © Copyright IBM Corporation 2013
Welcome page
Navigate to all areas.
Organize artifacts as a product view.
Use views to display lifecycle data in
context.
Get answers to key
engineering questions.
Understand lifecycle
relationships and
gauge the impact of change.
Generate documents
from data across the lifecycle.
19 © Copyright IBM Corporation 2013
Home menu Home base if you get lost Tells you where you are
20 © Copyright IBM Corporation 2013
Create and manage projects To create a new project area:
– Administration – Create Lifecycle Project
21 © Copyright IBM Corporation 2013
Index of linked lifecycle data
You can use an index of linked data from domain tools to make cross-domain lifecycle queries.
Index (created by the Lifecycle Query Engine)
Lifecycle ToolArchitecture Management
Lifecycle ToolTool B
IBM Confidential21
22 © Copyright IBM Corporation 2013
Sample content folder
In any screen, in the upper right, click the Administration icon (looks like a gear) and choose Jazz Team Server Administration > Deploy Predefined Contents.
23 © Copyright IBM Corporation 2013
LQE User Authorization screenDuring any search, this box can open.
24 © Copyright IBM Corporation 2013
SecurityProduct management:
Add or edit a property Delete a property Branch a product Modify a product Create a snapshot
View management: Change parameters Create a view Delete a view Modify a view
Roles: Everyone Team member Product manager Administrator
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementSearching the lifecycle data
26 © Copyright IBM Corporation 2013
Objective Identify where and how to search for lifecycle
artifacts.
27 © Copyright IBM Corporation 2013
Quick search
Quick search for an artifact from the toolbar.
Use the description and links on the page.
28 © Copyright IBM Corporation 2013
Search results
Filter search results by type.
Rich hover text identifies the location of each artifact.
Double-click an artifact to open it.
29 © Copyright IBM Corporation 2013
Quick search from the panel
Quick search has a scope option. All Indexed Artifacts – the same as the search from the
Welcome page and the picker dialog boxes. Newest Products – product search contains only the latest
version of a product that matches the query. All Products – product search contains all versions of a
product that matches the query.
30 © Copyright IBM Corporation 2013
Search results
If you search from quick search on the toolbar or search in queries, the results show on the results page.
31 © Copyright IBM Corporation 2013
Search
Search specifically for products in the Products page.
32 © Copyright IBM Corporation 2013
Browse products
You can search for products that meet particular criteria:
33 © Copyright IBM Corporation 2013
Product search with filters
Search artifacts for a product; choose the filters you want.
34 © Copyright IBM Corporation 2013
Search all products
Searching all indexed artifacts is different from searching all products.
35 © Copyright IBM Corporation 2013
You try it: Search for a product.
To do a quick search from the products page:1. In the upper right, click in the Search Artifacts field and
enter the full or partial name of the product. The search is not case-sensitive.
2. Click the Search all indexed artifacts down arrow. Change the search scope to All Products.
3. Select the product that you are searching for. The product is highlighted in the left pane of the Products page.
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementAnalyzing the impact of change
37 © Copyright IBM Corporation 2013
Objective Identify how to create, interpret, and customize an
impact analysis diagram.
38 © Copyright IBM Corporation 2013
Impact analysis
Helps identify the relationships that one artifact has to other artifacts.
If there is a change to an artifact, you see how related artifacts are impacted by the change.
Default impact analysis diagrams show upstream and downstream impact.
Custom impact analysis diagrams zoom in on a particular type of artifact or specific linkages for an artifact.
39 © Copyright IBM Corporation 2013
Analysis menu
Browses the saved impact analysis diagram, analysis filters,
and analysis profiles
Opens the Welcome to Analysis page with these menus items.
Creates a new impact analysis diagram, analysis filters, and
analysis profiles
40 © Copyright IBM Corporation 2013
Create an impact analysis diagram
1. Search for an artifact to use as the starting point.
41 © Copyright IBM Corporation 2013
Create an impact analysis diagram (2)
2. Select Create profile.
3. Select the maximum depth.
42 © Copyright IBM Corporation 2013
Simple impact analysis diagram
Resources that are shown in impact analysis result graphs include OSLC-type icons and coloring.
43 © Copyright IBM Corporation 2013
Impact analysis: The IA diagram screen
The diagram area includes: Diagram Type of structure displayed Zoom,overview Create Jazz defect action
Use the navigation tree to search directly for an artifact or a type of artifact and to modify the levels of resources to show.
Note the Focus Artifact field, where you choose which impact analysis profile to use. Modify on the tab traversal, the method (downstream, upstream, or both) and the depth.
This area is for adding or hiding artifacts and types.
44 © Copyright IBM Corporation 2013
Filtering
Use quick filters to remove artifacts from the results graph based on their type.
45 © Copyright IBM Corporation 2013
Create an impact analysis profileBefore you can create an impact analysis diagram, you must create an impact analysis profile. The profile acts as a filter to specify the level of upstream and downstream analysis. The number of levels for analysis by default is set at Unlimited. If you clear Unlimited you can see the number of levels to select from. You can clear Unlimited and choose the number of levels.
46 © Copyright IBM Corporation 2013
You try it: First create an impact analysis profile.1. In the main menu, click Analysis > Create > Impact
Analysis profile. Optional: In the editor, click in the title field and type a name for the
new profile. Optional: On the General tab, enter a description of the impact
analysis profile.
2. To specify the depth of the impact analysis: To include artifacts that are upstream from the target artifact, specify
the number of levels to check or select the Unlimited check box. To include artifacts that are downstream from the target artifact,
specify the number of levels to check or select the Unlimited check box.
By default, both Unlimited check boxes are selected, so all links that lead to and from the target artifact will be included in an impact analysis.
47 © Copyright IBM Corporation 2013
You try it: Create an impact analysis profile. (2)3. On the Filters tab, define the filters to apply to the impact
analysis profile. To exclude the artifact types and list types specified in the
corresponding sections, select the Ignore selected artifacts and links check box.
To include only the listed artifact types and link types, clear the Ignore selected artifacts and links check box.
To limit the impact analysis to specific types of artifacts, in the Filtered Artifacts section, click the Add icon. In the Add Filter (Artifact) window, select a domain and a value and click Add.
To limit the impact analysis to specific types of links, in the Filtered Links section, click the Add icon. In the Add Filter (Link) window, select a domain and a value and click Add.
4. On the Project Linking tab, in the Cross Domain Links list, select the type of links to include in the impact analysis. You can select more than one.
5. Click Save.
48 © Copyright IBM Corporation 2013
You try it: Create an impact analysis diagram. (3)6. In the main menu, click Analysis > Create > Impact
Analysis Diagrams.
7. In the Choose Target Artifact dialog box, find the artifact to be the focus or starting point for the impact analysis. Optional: In the editor, name the new diagram.
8. In the Impact Definitions tab, specify these properties:Target artifact: You can change
from the one that you originally selected by clicking the Choose Target Artifact icon and searching for a different artifact.
Impact analysis profile: Select the profile to apply to the new diagram.
Max depth: Specify the maximum number of levels to include in the impact analysis diagram.
49 © Copyright IBM Corporation 2013
You try it: Create an impact analysis diagram. (4)9. To generate the impact analysis diagram, click Run. As you
can see in the image, when you run an impact analysis, the diagram is in the lower pane. Details about the analysis are in the right pane.
50 © Copyright IBM Corporation 2013
Actions on impact analysis diagrams
Add an artifact
Preview an artifact
Find how the artifact is used
Email the diagram
51 © Copyright IBM Corporation 2013
Create an impact analysis profile
52 © Copyright IBM Corporation 2013
Create an impact analysis diagram using a new profile
Right-click on the highlighted artifact to preview it in the native tool.
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementCreate products
54 © Copyright IBM Corporation 2013
Objectives Identify the different ways to view products Define the terms product, product definition,
product hierarchy. Differentiate revision, version, variant. Explain how to use versioning with checkin and
checkout. Identify how to compare different resources.
55 © Copyright IBM Corporation 2013
Products page
56 © Copyright IBM Corporation 2013
Product hierarchy
A product hierarchy has a product and child products. A product or child product can represent:
Product Systems and subsystems Subsystem Components Capabilities
57 © Copyright IBM Corporation 2013
Customize products
You can change the term product to a term that makes more sense in your organization’s context in Administration > Settings > Rename Products.
58 © Copyright IBM Corporation 2013
Product menu
Opens those products on a new screen
Groups products (by using a common
property)
Creates a new product as the root product
Manages values
for local or shared
branch dimensions
Opens the Welcome to Products page, where you can browse
products, create them, and look at groups of products.
59 © Copyright IBM Corporation 2013
Product screen
Product structure hierarchy pane
Product information:PropertiesBranch dimensionsAudit
Product command
60 © Copyright IBM Corporation 2013
Browse products
You can see products in different ways:
61 © Copyright IBM Corporation 2013
Manipulate products Mark a product as a favorite Reuse a product Move a product Drag and drop a product Rename a product Remove a product
62 © Copyright IBM Corporation 2013
Product options
Create a product
Check in
Check out a new branch
Add an existing product
Add a link to an artifact
Add a URI
Find use
Freeze
63 © Copyright IBM Corporation 2013
Versions and variantsVersion – The usable state of a product or artifact at a defined time.
Variant – A branch or stream in development that is used to define a logical variant of a product.
Variation point – An aspect of a design with multiple potential values that, when chosen, defines one of the characteristics that distinguish one product from another within a product line.
For example: You might want a variant of a product for Europe and a variant for North
America. Each variant might have different versions.
64 © Copyright IBM Corporation 2013
Product definition Link artifacts from across the lifecycle to elements of
the product hierarchy Define versions and variants Specify reuse of lifecycle artifacts and elements of the
product hierarchy
US base edition
EU base edition
US sports edition
Versions
Branch CriteriaBranches
RTC
ShowAuditHistory
Link toartifact
65 © Copyright IBM Corporation 2013
Properties and links
A product can have user-defined properties.
A product can have links to an artifact.
A product can have links to an external URL.
DOORS
Rhapsody DM
Links
Artifacts
NameCreation time
Owner:
Properties
66 © Copyright IBM Corporation 2013
Configuration Management concepts Concept resource – shows you the versions and variants
of an artifact so that you can reference them. Version resource – in a variant the particular version is
identified this way. Branch dimension – defines a variability point to show what
a resource looks like at a particular time
67 © Copyright IBM Corporation 2013
ReuseThe product hierarchy supports
reuse.
You can reuse a product:
1. Right-click the product and select Reuse.
2. Right-click where you want to place the product and click Place.
68 © Copyright IBM Corporation 2013
Reuse a product by using Reuse and Place
Mark a product for reuse, and then place it where you want it.
Place “front” under “Phone B”
Prepare to reuse “front”
69 © Copyright IBM Corporation 2013
Reuse a product by using Add Product
Add a product by searching for it.
70 © Copyright IBM Corporation 2013
Product command: Create Product
1. Click Create Product.Result: Now the product has a child product.
71 © Copyright IBM Corporation 2013
Product command: Add Existing Product
1. Select the original product
2. Click Add Existing Product.
3. Search for the product and select it.Result: The product is used as a child.
72 © Copyright IBM Corporation 2013
Product command: Add Link to Artifact
1. Select the original product.
2. Click Add Link to Artifact.
3. Search for the artifact and select it.Result: The artifact appears in the structure.
73 © Copyright IBM Corporation 2013
Product command: Check Out New Branch
1. Select the product.
2. Click Check Out New Branch.
3. Fill in the values (either local or shared dimensions).
4. Click Check Out.Result: The branch appears on the structure.
74 © Copyright IBM Corporation 2013
Product command: Check In
1. Select the product.
2. Click Check In.
3. Fill the values (the product can be frozen, too)
4. Click Check In.Result: The new version appears on the structure.
75 © Copyright IBM Corporation 2013
Product command: Add Link to Artifact
1. Select the original product.
2. Click Add Link to Artifact.
3. Search for the desired artifactand select it.Result: The artifact appears in the structure.
76 © Copyright IBM Corporation 2013
Version and branchVersioning is mostly hidden.
The Check-in command does a “check-in” of the product to mark a milestone. Enter a version name.
Any change to a read-only product automatically does a “checkout” of the product.
The Check out new Branch command creates a new variant of the product.
US base edition
EU base edition
US sports edition
Versions
Dimensions ValuesBranches
77 © Copyright IBM Corporation 2013
Freeze a productMake the version non-modifiable by setting Freeze Product when you check in.
Freezing a product version is useful if you must branch a product or if your product is at a point where no further development should be undertaken for a milestone.
You can also unfreeze a product.
78 © Copyright IBM Corporation 2013
Versioning – Automatic “checkout”
Now a user modifies a product.
The product is “checked out” transparently.In this context, “checked out” means a new version was created in the database in order to store the user’s changes.
The product remains checked out, so that it can continue to be modified and the changes are recorded against that version of the product – until the next version is created.
Its containers are also checked out because their contents changed.
This captures that the tree has changed since a version.
To those who understand a configuration management model, this may seem unintuitive – but in the hardware sense, if a part changes, the product changes as well.
Think of the parts as being like projects rather than directories.
Start with static “checked in” tree.
Products remain static until someone modifies them.
79 © Copyright IBM Corporation 2013
Versioning and reuse
Any other trees that reuse any of the products that were checked out automatically get the new version of the product – the “tip” of that branch – unless the specific version is pinned.
Trees use the same branches of the same products, and if not pinned, they need the latest version on the branch.
Pinned occurrences of the checked-out products remain unchanged – that is the purpose of pinning.
80 © Copyright IBM Corporation 2013
Find use
Use the Find Use command to see where else a product is used.
It does not automatically show all results for performance reasons; the user must manually expand the “reverse tree”.
81 © Copyright IBM Corporation 2013
Branch dimension
Describes how a branch is unique.
82 © Copyright IBM Corporation 2013
Product audit history
Vertically aligned audit history
83 © Copyright IBM Corporation 2013
Comparisons
Start a comparison from the product tree in two ways: Use the Compare with Previous Version menu option Select two resources and clicking Compare Selected.
84 © Copyright IBM Corporation 2013
You try it: Find where a product is used. When you find out where a product is used, you
gather a list of products that would change if you fixed a defect or updated a child product in the selected product.
1. In the product tree, hover your mouse over a product, right-click, and select Find Use.
2. In the Find Use dialog box, view the results.
85 © Copyright IBM Corporation 2013
You try it: Create a version of a product. A version is a read-only version of a product or
product hierarchy. Teams usually create versions to mark a milestone, for example, a weekly build, a beta release, or a general release.
3. In the Products page, right-click over the product that you want to freeze and select Freeze. You can only freeze the latest version of the product.
86 © Copyright IBM Corporation 2013
You try it: Compare products. Compare products to see the differences between two
versions of the same or different products. Comparisons are can show content differences between milestone versions, such as between a Beta 1 snapshot and a Beta 2 snapshot.
1. Do the comparison:– Hover over a snapshot in the product tree, right-click, and
select Compare with previous version. – To compare two products, click one product, CTRL-click the
second product, and then click the Compare with previous versions icon in the upper right.
– If you are in the Audit History screen, right-click over a product and choose Compare with previous version. You can also click one version, CTRL-click the second version, and click the Compare with previous version icon.
2. In the Comparison screen, expand the plus sign (+) to view the differences between the two products or versions.
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementRun queries
88 © Copyright IBM Corporation 2013
Objectives Identify how to use queries Run a sample query
89 © Copyright IBM Corporation 2013
Introduction to queries You can use queries to retrieve a specific set of artifacts and their
properties. Rational Engineering Lifecycle Manager uses a shared index that
provides queries across the lifecycle and across multiple tools. This service is provided by the Lifecycle Query engine (LQE).
Queries are written in the standard query language for linked data, called SPARQL.
90 © Copyright IBM Corporation 2013
Queries
Queries have the same folder capabilities as views. My Queries, Shared Queries, and filtering capabilities
91 © Copyright IBM Corporation 2013
Queries menu
Opens theMy Queries tab.
Opens the Shared Queries tab.
Creates a new query.
Opens the Welcome to Queries page where you can browse queries,
create a query, and search.
Searches for an artifact.
92 © Copyright IBM Corporation 2013
Queries
New queries are automatically populated with a sample SPARQL query.
93 © Copyright IBM Corporation 2013
Query results
Query results support OSLC rich hover text.
Query results can have some basic formatting with comments in the SPARQL query definition.
94 © Copyright IBM Corporation 2013
Sample queries All Artifacts – shows all of the artifacts in the index. All Architecture Management Artifacts – shows all of the architecture
management artifacts in the index. Use Cases and Tasks – shows test cases and the tasks associated with
each test case. All Resource Types – gathers all indexed resource types. All Resource Types and Properties – shows all resource types, and
groups each resource with its properties. All Change Management Artifacts – shows all types of work items,
such as tasks and use cases. All Quality Management Artifacts – shows all types of quality artifacts,
such as quality tests and scripts. All Requirement Management Artifacts – shows all requirements. Work Items tested by Test Cases – shows work items and their
corresponding test cases, along with the work item status. Requirements - Work Items - Test Cases – shows all requirements,
work items, and test cases in the index. Requirement Collection - Requirement – shows collections of
requirements and groups associated requirements to each collection.
95 © Copyright IBM Corporation 2013
Customize queries Start with a sample query and make modifications Learn the SPARQL query language key concepts –
Subject, Predicate, Object, Prefix Type, OSLC vocabularies
96 © Copyright IBM Corporation 2013
You try it: Run a sample query.
Predefined queries are available on the Query page.
1. Click the Shared Queries tab, and then open the Sample folder.
2. If you do not see the Sample folder in the Shared Queries tab, talk to your administrator. If samples are missing, your administrator might need to deploy the content package.
3. Run a query of your choice and start an analysis of one of the artifacts.
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementTailor views
98 © Copyright IBM Corporation 2013
Objectives Identify how to effectively use and edit views.
99 © Copyright IBM Corporation 2013
The relationship between views and queries
Views and queries work together. Queries gather context-specific groups of artifacts. Queries can be used to populate views.
100 © Copyright IBM Corporation 2013
Views You use views to visualize artifacts in a way that
makes sense for you:– Work items– Requirements– Design models– Quality test cases
Views are a layer on top of a query – to organize and present the information to you the way that you want it:– Shared views– Private views
101 © Copyright IBM Corporation 2013
Views menu
Opens the My Views tab
Opens the Shared Views tab
Creates a new view
Opens the Welcome to Views page, where you can browse views and
create a view
102 © Copyright IBM Corporation 2013
Views
Rational Engineering Lifecycle Manager does not contain any views by default. You must create new views or deploy a content package.
103 © Copyright IBM Corporation 2013
Sample views
Traceability from a task to a test case:
Show traceability: task sub-tasks requirement model test case
Task breakdown Interactive tree
structure
104 © Copyright IBM Corporation 2013
View basicsUse the slider to change the zoom level.
Reset to the original zoom level.
Toggle the outline (mini-map) at the bottom left.
Refresh, with nearly real-time update of the lifecycle index.
105 © Copyright IBM Corporation 2013
View basics
View description Description of the view
Link hover text Displays the link type
Resource and link highlighting
Highlights resources and links that are directly related to the selected resource.
Grab and drag the canvas.
106 © Copyright IBM Corporation 2013
Resource hover text (for a specific view and OSLC)
Each view can have a custom resource hover text that shows more information about the resource.
Click Show Detail to expand the pop-up and display the OSLC rich hover text.
107 © Copyright IBM Corporation 2013
Finding text in a view
Click the magnifying glass icon (Find Text) to find text within a view.
108 © Copyright IBM Corporation 2013
Resource menuThree predefined menu items:
Open Artifact opens the resource in its native tool (for example, Rational DOORS or Rational Team Concert).
Show Query runs the underlying query defined for that section of the view.
Start Analysis runs an impact analysis for the selected resource.
Custom menu items are defined in the view definition.
Open Resource with Children (Break down) gives a task breakdown view for the selected resource.
109 © Copyright IBM Corporation 2013
Create a viewCreate a view by starting with an existing view and changing a parameter.
110 © Copyright IBM Corporation 2013
Edit a view
Click a pencil icon to edit a view. Do this from the list of shared views.
111 © Copyright IBM Corporation 2013
You try it: Run a sample view.1. On the Views page, click the Shared Views tab. Look at the list of views
available to you. The views were created for many reasons. For example, the sample V Process (Software) view shows the software lifecycle
for a software product. The Task Breakdown view breaks down a top-level concept into a set of
concrete tasks to complete by the product ship date. The Traceability from Task to Test Case view traces all of the subtasks,
requirements, design models, and test cases that emanate from a target task. Views provide a way to visualize data from across the engineering lifecycle to support specific tasks. Further, the visibility of the different parts, such as requirements and test cases, help teams remain on task to meet product goals by specific milestones. Some lines have arrows that point in the direction of the artifact work flow.
2. Select the view that you want to use and click to run it. Select a focus point and enter it as the parameter when you are prompted.
3. View the information. Hover over and read information for the artifacts that are of interest to you. Look at the child tasks and view the details.
4. Examine the Task Breakdown view.
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementRun Reports
113 © Copyright IBM Corporation 2013
Objectives Describe the necessary components to generate a
report. Generate and execute a report.
114 © Copyright IBM Corporation 2013
Reporting overview
There are two ways to create a report – both use the SPARQL Gateway:
Through the view interface in the product Through common Jazz reporting
SPARQLGateway
Rational Engineering Lifecycle Manager
view
Jazz Common Reporting LQE
Report
Query (SPARQL)
Query (SPARQL)
Register queries
Get query resultGet query result Index
Run a report
Generate a report using queries in a view
Generate
Report resource
Rational Publishing Engine report template
Create a report resource
115 © Copyright IBM Corporation 2013
LQE and reporting Report definitions are created with Rational Reporting
for Document Generation (RRDG), a part of Rational Publishing Engine.
It pulls the report data from the lifecycle index through the SPARQL Gateway.
116 © Copyright IBM Corporation 2013
Reports menu
Opens the My Reports tab
Opens the Shared Reports tab
Creates a new report
about a resource
Opens the Welcome to Reports page, where you can view reports, create
reports from resources, and organize your reports.
Opens the Report Resources tab
Runs a saved report
117 © Copyright IBM Corporation 2013
Create a report resource1. Select Report Resources from the Reports menu.2. Click Create Report Resource in the top right corner.3. On the Report Resource page:
a. Select [install folder]/conf/relm/reports/sample.dta as the contents.
b. Select the Shared check box.c. Save the report.
118 © Copyright IBM Corporation 2013
Generate a report The Generate Report wizard on the Views page
Generate a report from a view in the product. Register queries defined in the view to SPARQL Gateway. Generate a report using the queries.
Report on the Reports page 1. Export the result in several formats (PDF, Word, or Excel).2. Save the report so that you can run it again later.
119 © Copyright IBM Corporation 2013
Save a reportYou can save the generated report to run the report again later.
1. Click Edit
2. Click Save Copy The report is saved in My Reports.You can execute the report again from My Reports page.
120 © Copyright IBM Corporation 2013
Run saved reports
1. Select My Reports or Shared Reports.
2. Click a report name.
The report will be run again.
121 © Copyright IBM Corporation 2013
Design a report template Design a report template using the Rational Publishing Engine
Document Studio. In this simple example, create a table that shows ID and title.
122 © Copyright IBM Corporation 2013
The sample report
The default report, called sample, is available in the Shared Reports tab, in the Sample folder. If the sample report is missing, your administrator might need to deploy the content package.
123 © Copyright IBM Corporation 2013
You try it: Run the sample report.1. In any view (ISO 26262, V Process), click the Generate Report toolbar
icon. 2. In the Generate Report dialog box, select a template as the basis for the
report appearance. If your administrator deployed the content package, you can choose the sample to use as the template and then click Next.
3. If you purchased and installed Rational Publishing Engine, you can select any of the templates from the list, and then click Next.
4. Set the parameters, which populate the report template with meaningful information.
5. The default report is formatted as a series of tables. If your team has custom reports, the Name column shows the output type (such as bar chart or Gantt chart).
6. Select the values to include in each table. Click a cell in the Value column to open a list of values. The listed values are artifacts that come from the view that you are reporting on.
7. Click Register queries to retrieve the latest data for your report. If you change one or more values in the Value column after you register the queries, you must register the queries again to retrieve the correct artifacts from the index.
8. Click Finish. Optionally, you can save the report.
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementRELM/RTC Integration
125 © Copyright IBM Corporation 2013
RELM/RTC Integration- Administrative settings for enabling the integration- Receive components from an RTC Stream to RELM- Reuse capability and populate new Stream from RELM
- Branches of a Stream and Component
- ComponentsInfo and ComponentsVersion
- Variability
126 © Copyright IBM Corporation 2013
Initial settings for the integration- RELM Setting Administrator Page:
- Fill the CM server URL- Save
127 © Copyright IBM Corporation 2013
Advanced settings for the integration
129 © Copyright IBM Corporation 2013
Settings in CM Project Area in RTC- CM Project Area exist:
- Have at least One Stream- Populate the Stream with
the right Component
Complex Structure
Basic Structure
130 © Copyright IBM Corporation 2013
RELM Structure: Stream Connection
Define a new Product Structure Hierarchy-Create a new Product “CustProjDemoTraining”-Create children “CustProjDemo Library StreamTraining”-Reuse :
-ChangeRequests BaseConfiguration structure-Requirements - BaseConfiguration structure-TestPlans - BaseConfiguration structure
131 © Copyright IBM Corporation 2013
RELM Structure : Stream Connection- Check Out New Branch with Variant =1, Version = 0
- Associate the “Project Stream” Product to a RTC stream- Select it, Right click, Manage Stream->Connect to a Stream.
132 © Copyright IBM Corporation 2013
RELM Structure: Stream Connection- Select the Appropriate Stream and Connect
Now, the Stream is connected
133 © Copyright IBM Corporation 2013
RELM Structure: Stream Connection- In RTC, the stream is composed of:
- In RELM, the user wants also to have the corresponding components.
- Select the Stream and Click Receive SCM Components
134 © Copyright IBM Corporation 2013
RELM Structure: Stream Connection- Now, in RELM, the structure is:
135 © Copyright IBM Corporation 2013
RELM Structure: Reuse capability and populate new Stream
- Scenario:
In a new Branch of CustProjTraining (Variant=2, Version=0)The user wants to add a new Product, Reuse some existing ones and then populate a new corresponding RTC Stream
136 © Copyright IBM Corporation 2013
RELM Structure: Reuse capability and populate new Stream
- Create a new Product Named “CustProjDemoProjectTraining Stream”
Then, Reuse 2 existing components
137 © Copyright IBM Corporation 2013
RELM Structure: Reuse capability and populate new Stream
- In RTC, Create a new Stream- In RELM, Connect the
“CustProjDemoProjectTraining Stream” Product to the created Stream
138 © Copyright IBM Corporation 2013
RELM Structure: Reuse capability and populate new Stream
- In RELM, Click Send SCM Components
- In RTC, refresh the screen
139 © Copyright IBM Corporation 2013
RELM Structure: Branches of a Stream and Component- Select “LamAd-DemoTraining” and click CheckOut New
Branch
- Select “CustProjDemo Library StreamTraining” and click CheckOut New Branch
140 © Copyright IBM Corporation 2013
RELM Structure: ComponentsInfo and ComponentsVersion
- Create ComponentInfo and ComponentVersionInfo artifacts with Children relation in RTC.
- From “LamAd_DemoTraining (shared:Variant= 1, shared:Version= 0) “, add the 2artefacts
141 © Copyright IBM Corporation 2013
RELM Structure: ComponentsInfo and ComponentsVersion
142 © Copyright IBM Corporation 2013
RELM Structure: Variability
- In RTC, Select the “CustProDemo Library StreamTraining”- Right click and make new repository Workspace
- In the “pending” tab, select LamAd_Demotraining component and make a New Baseline, name it “Baseline 2.0”, Then Deliver the new baseline.
- In RELM, Associate a Product to this new Stream and receive this new components
143 © Copyright IBM Corporation 2013
RELM Structure: Variability
- In RTC, Select the “CustProDemo Library StreamTraining”- Right click and make new repository Workspace
- In the “pending” tab, select LamAd_Demotraining component and make a New Baseline, name it “Baseline 2.0”, Then Deliver the new baseline.
- In RELM, Associate a Product to this new Stream and receive this new components
144 © Copyright IBM Corporation 2013
RELM Structure: Variability
- From LamAd_Demo Training, make a New Branch shared:Variant= 2, shared:Version= 0).
- Reuse the “LamAd_DemoTraining (shared:Variant= 1, shared:Version= 0)”
- From The Stream, click Manage Stream, Create Variability Parameter.
- Name it “CustProjDemoTrainingStream Parameters” and click edit in Variability Parameter section
145 © Copyright IBM Corporation 2013
RELM Structure: Variability
- Click edit in Variability Parameters section and enter region = “UK”
- Select “LamAd_DemoTraining (shared:Variant= 1, shared:Version= 0)“ and add parameter value: region=“UK”
- Select “LamAd_DemoTraining (shared:Variant= 2, shared:Version= 0)“ and add parameter value: region=“US”
- Select “Demo Library Project Component“ and add parameter value: (region=“US”) or (region=“UK”)
146 © Copyright IBM Corporation 2013
RELM Structure: Variability
LamAd DemoTrainingVariant:2Version 0
LamAd DemoTrainingVariant:1Version 0
Demo Library Project ComponentVariant:2Version 0
147 © Copyright IBM Corporation 2013
RELM Structure: Variability
- Structure with Variability parameter
148 © Copyright IBM Corporation 2013
RELM Structure: Variability
- Use the “Show Variability Results” for having a preview of the structure to send to RTC
- In RTC Before the Send SCM Components operation
- After
149 © Copyright IBM Corporation 2013
RELM Structure: Product Grouping
- Under Product Grouping, menu, some different structure can be created:
- All components Version with component Info result
150 © Copyright IBM Corporation 2013
RELM Structure: Product Grouping
- All components Version with warning Info result
151 © Copyright IBM Corporation 2013
RELM Structure: Load Rules feature
- From RELM, you can generate loadRules structure to a file:
more on: https://jazz.net/library/article/1015
152 © Copyright IBM Corporation 2013
SummaryYou are now able to: Describe the purpose of the main links on the Welcome page. Differentiate the areas on the Jazz platform that are used to perform
common tasks. Identify where, what, and how to search for artifacts in Rational
Engineering Lifecycle Manager. Identify how to create, interpret, and change an impact analysis diagram. Define the terms product, product definition, product hierarchy. Define versions and variants Describe how to use versioning with check-in and checkout. Describe how to do a comparison of different resources. Identify the purpose of queries. Identify how to use and edit views. Create and execute reports. Integrate RELM and RTC
© Copyright IBM Corporation 2013
Essentials of Rational Engineering Lifecycle ManagementAdditional advanced material for administrators
154 © Copyright IBM Corporation 2013
Additional material (for administrators) The Resource Description Framework (RDF) The fundamentals of the SPARQL language SPARQL query construction The link between queries and views
155 © Copyright IBM Corporation 2013
Objectives Explain the syntax of the Resource Description
Framework. Identify key concepts for the vocabularies used in
queries (Turtle and OSLC). Use sample customized queries that can be
modified and implemented as your own. Identify the key configuration elements of a
customized view.
156 © Copyright IBM Corporation 2013
Query construction
To effectively construct queries, you need to know: The tools that are publishing into the index and how
the data is constructed The mechanics of the language that you are using
for the queries (SPARQL)
157 © Copyright IBM Corporation 2013
Linked data
Everything is a resource with an HTTP URI.
We represent resources by using RDF.
The data is linked using these HTTP URIs.
IBM Confidential
158 © Copyright IBM Corporation 2013
Learning the languageRDF – Resource Description Framework
A general purpose language for representing information on the web
SPARQL SPARQL Protocol and RDF Query Language A query language for RDF
LQE – The Lifecycle Query Engine Creates data sources and indexes artifacts from TRS providers. Indexed resources are represented as RDF triples. Exposes an endpoint for running queries on that data.– An endpoint is a server that exposes its data by using the
SPARQL protocol.
159 © Copyright IBM Corporation 2013
Lifecycle Query EngineBuilding the lifecycle index:
The lifecycle index is an RDF dataset consisting of many RDF data graphs.
As each resource is retrieved, its RDF data graph is added to the lifecycle index.
RDF graphs are important to track deleted resources and versioned data.
Access control: LQE builds the lifecycle index using a functional user ID
(lqe_user) that is authorized to read all available data from every tool.
LQE runs queries as the actual client user, not as the lqe_user.
IBM Confidential
160 © Copyright IBM Corporation 2013
TriplesA triple:
Defines a relationship between things Subject-Predicate-Object
Subject A uniquely identified thing
Predicate (also called property) Some attribute of the subject Denotes a relationship
Object The actual value
161 © Copyright IBM Corporation 2013
Triples
Examples:
subject
objectpredicate
subject
object
predicate
162 © Copyright IBM Corporation 2013
RDF triples
An RDF triple is sometimes called a statement. Every piece of an RDF triple can have a URI (Universal
Resource Identifier) Commonly referred to as a resource.
uri://people#William01 http://royals.com/rlns/isMarriedTo uri://people#Catherine27
163 © Copyright IBM Corporation 2013
The Semantic Web
RDF is based on the Semantic Web Connect data at a finer level of granularity. Connect facts not documents or applications.
164 © Copyright IBM Corporation 2013
RDF vocabularies
For anything to connect to anything else, there must be some common language.
An RDF vocabulary is the set of URIs for the edges in the graph.
uri://test#tc1 http://open-services.net/ns/qm#validatesRequirement uri://reqs#req5
validatesRequirement
From the OSLC Quality Management Vocabulary
165 © Copyright IBM Corporation 2013
RDF triples form graphs
A set of triples is called an RDF graph. An RDF database is sometimes called a triple store.
A named graph is a set of triples that has a name (which is a URI).
166 © Copyright IBM Corporation 2013
Types of nodes
Resource node A thing– Commonly represented as an oval
Literal node A value (strings, dates etc.)– Commonly represented as a rectangle
Blank node A resource with no URI
URI
An edge can go from any node to any other node. Exception: An edge cannot go from a literal
167 © Copyright IBM Corporation 2013
Triple patterns
Triple patterns A triple pattern is like an RDF triple – except that each
of the S,P,O (the subject, predicate, and object) can be a variable (denoted by a preceding ? symbol)– Example: ?uri rdf:type oslc_qm:TestCase .
S P O
Variable
The period terminates the query.
168 © Copyright IBM Corporation 2013
SPARQL queries
Most SPARQL queries contain a set of triple patterns called a basic graph pattern
When the RDF data matches the basic graph pattern, it is returned as a result known as a subgraph.
The returned data is represented in table form:– Each pattern match is a row.– Each variable in the pattern is a column.
SPARQL uses Turtle syntax. http://www.w3.org/TeamSubmission/turtle/
169 © Copyright IBM Corporation 2013
SPARQL – Query language for RDF Pattern matching with triples. Prefix syntax is gratuitously different from Turtle.
prefix : <http://www.example.org/>
select ?personwhere { ?person a :Person ; :hasMother :susan .}order by asc(?person)
IBM Confidential
170 © Copyright IBM Corporation 2013
Prefixes
Prefixes are used in SPARQL to shorten queries (instead of writing the full URI to the resource).
The following queries are equivalent:
?uri http://open-services.net/ns/qm#testsChangeRequest ?tests_cr.
PREFIX oslc_qm: <http://open-services.net/ns/qm#>
?uri oslc_qm:testsChangeRequest ?tests_cr. ?tests_cr.
S P O
S P O
171 © Copyright IBM Corporation 2013
Resource Description Framework
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>@prefix : <http://www.example.org/> .
:john rdf:type :Person .:john :hasMother :susan .:john :hasFather :richard .:richard :hasBrother :luke .:richard :hasBrother :ryan .
A fact is expressed as a triple of the form (subject-predicate-object) like a little English sentence.
Subjects are names of resources (local names or global URIs). Predicates are URIs and should be gettable resources, with their own
properties such as labels. Objects are either names of resources (just like subjects) or literal
values.
IBM Confidential
172 © Copyright IBM Corporation 2013
Turtle – Abbreviations@prefix : <http://www.example.org/> .
:john a :Person ; :hasMother :susan ; :hasFather :richard .
:richard :hasBrother :luke , :ryan .
IBM Confidential
173 © Copyright IBM Corporation 2013
Turtle – Blank nodes
@prefix : <http://www.example.org/> .
:john a :Person ; :hasMother :susan ; :hasFather [ :hasBrother :luke , :ryan ] .
IBM Confidential
174 © Copyright IBM Corporation 2013
@prefix : <http://www.example.org/> .
:john a :Person ; :hasMother :susan ; :hasFather :richard .
:richard :hasBrother :luke , :ryan .
@prefix : <http://www.example.org/> .
:john-graph = { :john a :Person ; :hasMother :susan ; :hasFather :richard .}
:richard-graph = { :richard :hasBrother :luke , :ryan .}
TriG – Turtle with graph names
IBM Confidential
175 © Copyright IBM Corporation 2013
A simple query
# Sample SPARQLPREFIX oslc_qm: <http://open-services.net/ns/qm#>PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?uri
WHERE {
?uri rdf:type oslc_qm:TestCase .
}
SELECT ?variable ?variableIdentifies the variables to appear in the resultsEach selected variable will be a column in the results tableSELECT * displays all variables specified in the WHERE clause
WHERE { basic graph pattern
}Identifies the basic graph pattern to match against the data pattern
176 © Copyright IBM Corporation 2013
Vocabularies
The terms used in queries come from vocabularies
Some are standard.– Example: OSLC vocabularies for CM, RM, AM, and others.– http://open-services.net/bin/view/Main/WebHome
Rational tools provide further vocabularies.– Example: http://jazz.net/ns/qm/rqm#
177 © Copyright IBM Corporation 2013
Example: OSLC change management vocabulary
178 © Copyright IBM Corporation 2013
Example: quality management vocabulary
179 © Copyright IBM Corporation 2013
Examine properties
By clicking an item in the results of a query, you can see all of its properties.
180 © Copyright IBM Corporation 2013
PropertiesHover your mouse over a property to get a tooltip. You can see a useful hint as to which vocabulary that property came from.
Click the property name to navigate to its definition (Open Artifact).
181 © Copyright IBM Corporation 2013
Using vocabularies
To write a correct SPARQL query you must know the vocabulary of the properties that you are looking at.
DCMI namespacePREFIX dcterms: <http://purl.org/dc/terms/>
182 © Copyright IBM Corporation 2013
Labeling columns
Two commands make it possible to use custom labels for columns:
#!Label columnLabel #!Format ?{variableName}
Example:
#!Label Change Requests#!Format ?{uri}#!Label State#!Format ?{state}
SELECT ?uri ?stateWHERE { ?uri oslc_qm:testsChangeRequest ?tests_cr ;}
If you Format one you MUST format all !
183 © Copyright IBM Corporation 2013
Combining queries
When combining queries, you can reuse the subject by adding a semicolon (;).
These two statements are identical:
SELECT ?uri ?creatorWHERE { ?uri rdf:type oslc_qm:TestCase ; dcterms:creator ?creator. }
SELECT ?uri ?creatorWHERE { ?uri rdf:type oslc_qm:TestCase . ?uri dcterms:creator ?creator. }
Subject is omitted.
184 © Copyright IBM Corporation 2013
Linked data queries
SELECT ?uri ?creator ?tests_cr
WHERE { ?uri rdf:type oslc_qm:TestCase ; dcterms:creator ?creator ; oslc_qm:testsChangeRequest ?tests_cr.}
Return a subgraph where:The subject is a test case.The subject has a property of type creator.The subject has a property of type testsChangeRequest.
185 © Copyright IBM Corporation 2013
Progressive queries
Triple patterns bind variables to the values they match in the data set.
Subsequent triple patterns might use those values in their statement.
SELECT ?uri ?creator ?tests_cr ?resolved_by
WHERE { ?uri rdf:type oslc_qm:TestCase ; dcterms:creator ?creator ; oslc_qm:testsChangeRequest ?tests_cr. ?tests_cr rtc_cm:resolvedBy?resolved_by. }
Matches a test case linked to an object by a testsChangeRequest.
Uses the linked object as a subject for this triple; it extracts its resolvedBy property.
Binds the linked object to the tests_cr variable.
186 © Copyright IBM Corporation 2013
Ordering
An ORDER BY clause orders the results. Can be ASC or DESC (ascending or descending).
WHERE { ?uri rdf:type oslc_qm:TestCase ; dcterms:creator ?creator ; oslc_qm:testsChangeRequest ?tests_cr. ?tests_cr rtc_cm:resolvedBy?resolved_by. } ORDER BY ASC(?creator)
187 © Copyright IBM Corporation 2013
Limiting results
The LIMIT clause limits the number of returned results.
WHERE { ?uri rdf:type oslc_qm:TestCase ; dcterms:creator ?creator ; oslc_qm:testsChangeRequest ?tests_cr. ?tests_cr rtc_cm:resolvedBy?resolved_by. } ORDER BY ASC(?creator)LIMIT 10
188 © Copyright IBM Corporation 2013
Filtering
So far the resulting data set has been filtered by matching the graph – that defines how the elements are related to each other.
How about filtering on aspects of the actual data?
189 © Copyright IBM Corporation 2013
Filtering literals
Literals use the same basic data types as in the XML Schema (XSDT).
Examples: xsd:integer xsd:decimal xsd:float xsd:double xsd:string xsd:boolean xsd:datetime
190 © Copyright IBM Corporation 2013
Filtering on strings
String literals can be filtered by using regular expressions.
General form:– FILTER regex(variable, regular expression)– The regular expression must be surrounded by quotation
marks.– A third argument of “i” makes the filter case-insensitive.
Example:– FILTER regex(?title, "[hH]andheld")
Only show matches where the title variable contains ‘Handheld’ or ‘handheld’
191 © Copyright IBM Corporation 2013
Filtering on strings example
# Sample SPARQLPREFIX oslc_qm: <http://open-services.net/ns/qm#>PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?title
WHERE { ?uri rdf:type oslc_qm:TestCase ; dcterms:title ?title;
FILTER regex(?title, "[hH]andheld") }
192 © Copyright IBM Corporation 2013
Filtering on dates
General form: FILTER (variable operator dateTime)– dateTime must of the form specified in XML and all parts
must be present.• YYYY-MM-DDThh:mm:ss
Example:• FILTER (?modified > "2011-12-28T02:42:00"^^xsd:dateTime)
Filter out matches where the modified variable is later than 02.42 on the 28th December 2011.
Note the addition of ^^xsd:dateTime to specify a date comparison
193 © Copyright IBM Corporation 2013
Filtering on dates example
# Sample SPARQLPREFIX oslc_qm: <http://open-services.net/ns/qm#>PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?uri ?modded
WHERE { ?uri rdf:type oslc_qm:TestCase ; dcterms:modified ?modded . FILTER (?modded > "2011-08-28T02:42:00"^^xsd:dateTime)} ORDER BY ASC (?modded)
Note the xsd vocabulary
194 © Copyright IBM Corporation 2013
Tools present data using RDF in OSLC formatsTools use appropriate OSLC-defined formats (with extensions).
If no tool-appropriate OSLC domain is available, tools can create their own vocabularies.
Resources from different domain tools are linked together using OSLC-style links.
This RDF representation might or might not be the tool's native internal representation.
IBM Confidential
195 © Copyright IBM Corporation 2013
OSLC RDF vocabulariesOSLC vocabulariesoslc: OSLC coreoslc_cm: Change Management (RTC work items)oslc_rm: Requirements Management (DOORS and RRC)oslc_qm: Quality Management (RQM)oslc_am: Architecture Management (DM)oslc_asset: Asset Management (RAM)
IBM Confidential
196 © Copyright IBM Corporation 2013
More information Linked dataTim Berners-Lee's design noteTim Berners-Lee's TED talkW3C submission for a Linked Data Platform
RDFhttp://www.rdfabout.com/http://www.w3.org/TR/rdf-primer/
IBM Confidential
197 © Copyright IBM Corporation 2013
A typical resource has properties from multiple vocabularieshttps://localhost:9443/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/3 a oslc_cm:ChangeRequest ;
# OSLC CM
dcterms:contributor <https://localhost:9443/jazz/oslc/users/susan> ; dcterms:created "2011-12-02T22:54:59.919Z" ; dcterms:creator <https://localhost:9443/jazz/oslc/users/susan> ; dcterms:type "Task" ; dcterms:identifier "3" ; dcterms:title "Define sprints/iterations"^^rdf:XMLLiteral ; dcterms:description "Text describing this task"^^rdf:XMLLiteral ; oslc:shortTitle "Task 3"^^rdf:XMLLiteral ;
oslc_cm:approved "false" ; oslc_cm:closed "false" ; oslc_cm:fixed "false" ; oslc_cm:status "New" ;
# CCM rtc_cm:due "2011-12-06T12:00:00.000Z" ; rtc_cm:estimate "7200000" ; rtc_cm:type <https://localhost:9443/jazz/oslc/types/_otjZQB04EeG_VqkWpUWROQ/task> ; rtc_cm:state <https://localhost:9443/jazz/oslc/workflows/_otjZQB04EeG_VqkWpUWROQ/states/com.ibm.team.workitem.taskWorkflow/1> ; rtc_cm:plannedFor <https://localhost:9443/jazz/oslc/iterations/_o0qG0B04EeG_VqkWpUWROQ> ;
# Links <http://jazz.net/xmlns/prod/jazz/rtc/cm/1.0/com.ibm.team.workitem.linktype.relatedworkitem.related> <https://localhost:9443/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/4> ; <http://jazz.net/xmlns/prod/jazz/rtc/cm/1.0/com.ibm.team.workitem.linktype.textualReference.textuallyReferenced> <http://publib.boulder.ibm.com/infocenter/clmhelp/v3r0m1/topic/com.ibm.jazz.platform.doc/topics/c_jazz-platform-quick-ref.html> , <http://publib.boulder.ibm.com/infocenter/clmhelp/v3r0m1/topic/com.ibm.team.concert.doc/topics/t_getting-started.html> .
IBM Confidential
198 © Copyright IBM Corporation 2013
LQE queries
The LQE administrator can configure limits on queries: The longest time that a query can take before it is timed out The maximum number of results to return
The standard, OSLC, and jazz.net RDF vocabulary documents are loaded in the index.
Therefore, you can find type and property (predicate) names through queries.
IBM Confidential
199 © Copyright IBM Corporation 2013
Default query text
# Sample SPARQL PREFIX dcterms: <http://purl.org/dc/terms/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX bp: <http://open-services.net/ns/basicProfile#>PREFIX oslc: <http://open-services.net/ns/core#>PREFIX oslc_am: <http://open-services.net/ns/am#>PREFIX oslc_asset: <http://open-services.net/ns/asset#>PREFIX oslc_cm: <http://open-services.net/ns/cm#>PREFIX oslc_qm: <http://open-services.net/ns/qm#>PREFIX oslc_rm: <http://open-services.net/ns/rm#>PREFIX rtc_cm: <http://jazz.net/xmlns/prod/jazz/rtc/cm/1.0/>PREFIX rqm_qm: <http://jazz.net/ns/qm/rqm#>PREFIX pd: <http://jazz.net/ns/pd#>PREFIX dm_diagram: <http://jazz.net/ns/dm/diagram#>PREFIX dm_document: <http://jazz.net/ns/dm/document#>PREFIX dm_linktypes: <http://jazz.net/ns/dm/linktypes#>
SELECT ?uri ?id ?title ?contributor ?modified WHERE { ?uri dcterms:identifier ?id; dcterms:title ?title; dcterms:contributor ?contributor; dcterms:modified ?modified.}
IBM Confidential
Other useful prefixes:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX owl: <http://www.w3.org/2002/07/owl#>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
200 © Copyright IBM Corporation 2013
Exploratory queries
IBM Confidential
To get URIs from other query results, right-click and select Copy Link (or your browser's equivalent).
Replace any variable by a fixed value if you know it.
Substitute any variables and values in the VALUES section.
Omit the VALUES section altogether for an unbound query.
SELECT ?g ?s ?p ?oWHERE {
graph ?g { ?s ?p ?o }# filter regex(?s,"string")
}
VALUES ?g{
<https://amrdoorsserver:8443/dwa/rm/urn:rational:ers-4cb45f360e7054b4:1-4cb45f360e7054b4-O-30-00000145>}
201 © Copyright IBM Corporation 2013
Query: Failing test cases
# Name: Failing tests# Descriptions: Testcases that fail and are assigned to me
# Prefixes used in this queryPREFIX dcterms: <http://purl.org/dc/terms/>PREFIX oslc_qm: <http://open-services.net/ns/qm#>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?testcase ?titleWHERE{
# Find failing test results, and their owning testcase?testResult rdf:type oslc_qm:TestResult ;
oslc_qm:status "com.ibm.rqm.execution.common.state.failed"^^xsd:string ;oslc_qm:reportsOnTestCase ?testcase .
# Select just the testcases assigned to me# Change the name string to match the user name you want?testcase dcterms:contributor ?user.FILTER regex(str(?user), "tony")
# Find the matching testcase titles?testcase dcterms:title ?title .
}
IBM Confidential
202 © Copyright IBM Corporation 2013
Query: My open tasks# Name: Open ECRs assigned to Susan# Description: Show all open ECRs assigned to Susan
# Prefixes used in this queryPREFIX dcterms: <http://purl.org/dc/terms/>PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX oslc_cm: <http://open-services.net/ns/cm#>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?cr ?title ?contribWHERE{
# Find all ECRs - in this example, we find work items of type "Task"; change this to the type of work item you use
?cr rdf:type oslc_cm:ChangeRequest ;dcterms:type "Task"^^xsd:string ;dcterms:title ?title ;dcterms:contributor ?contrib .
# Change the name string to match the user name you wantFILTER regex(str(?contrib),"susan")# or use this if all the JTS User TRS feeds are working:?contrib foaf:mbox <mailto:susan@amrlogic.com>
# Find open CRs (those with status that is none of closed, fixed, or verified)# You can adjust this to use any combination of the OSLC CM state predicates# oslc_cm:closed, oslc_cm:inprogress, oslc_cm:fixed, oslc_cm:approved, oslc_cm:reviewed, and
oslc_cm:verified{
?cr oslc_cm:closed "false"^^xsd:boolean ;oslc_cm:fixed "false"^^xsd:boolean .
}# for example, the following alternative to the above clause would find CRs that are either in progress or
not closed:# {# { ?cr oslc_cm:inprogress "true"^^xsd:boolean } UNION { ?cr oslc_cm:closed "false"^^xsd:boolean }# }
} IBM Confidential
203 © Copyright IBM Corporation 2013
Query: Find requirements not yet approved# Name: My unapproved requirements# Description: Requirements authored by me, but not yet approved
# Prefixes used in this queryPREFIX dcterms: <http://purl.org/dc/terms/>PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX oslc: <http://open-services.net/ns/core#>PREFIX oslc_rm: <http://open-services.net/ns/rm#>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?title ?statusWHERE{
# Find all my requirements# Change the name string to match the user name you want# In future releases, there might be a way to provide keywords or variables for the current user name?req a oslc_rm:Requirement ;
dcterms:title ?title ;dcterms:contributor ?contributor .
?contributor foaf:name "susan" .
# Get DOORS status property predicate from OSLC shape resource#!!! Does not yet work properly because the instance shape URI is inconsistent# ?req oslc:instanceShape ?shape .?shape oslc:property ?statusProp .?statusProp dcterms:title "Status"^^rdf:XMLLiteral .?statusProp oslc:propertyDefinition ?statusPredicate .
# Filter requirements to those not yet approved#!!! You must set specific URIs for custom properties and their enumerated values to allow this#!!! query to be portable across DOORS databases?req ?statusPredicate ?status .FILTER (?status != <https://amrdoorsserver:8443/dwa/rm/urn:rational::1-4cb45f360e7054b4-M-00001001/types/
attrDef-1002#4>)}
IBM Confidential
204 © Copyright IBM Corporation 2013
Query performance
SPARQL queries are evaluated more or less sequentially. For this reason, order your query patterns so that you trim
the results down to as few triples as possible as early as you can.
Of course, this often depends on the distribution of data, so queries often need tuning.
IBM Confidential
205 © Copyright IBM Corporation 2013
Views and queries Views and queries must match. A view runs a
query. The view specifies to put a query result in a
particular spot. It links the view with the query layout.
You can run a query without a view. The view includes a query; it does not link to the
queries in the query tab.
206 © Copyright IBM Corporation 2013
Customizing views
View examples:
ISO-26262 Process V-Process Requirement-TestcaseTraceability
Tree StructureCLM Traceability
Just Demo
207 © Copyright IBM Corporation 2013
Configuration elements
These are the sections of a customized view. When you customize a view, you define the query that the view will use. The configuration contains the following elements. Some fields are hidden based on a user’s permission.
General – Defines the ID, name, parameters, description, and folder name. Query – Defines a SPARQL query to retrieve artifacts from the lifecycle index (such as
work items in Rational Team Concert).– The retrieved artifacts are used by the <container> defined in the Layout section.
Layout– Defines the appearance of the view. – Contains widgets (container, text, image).– The <container> contains artifact widgets, which are created implicitly from the result of
a query. Resource
– Defines properties in custom rich hover text and actions.– Specifies a UI type used for a set of artifact widgets.
Connections – Defines which links (such as parent/child, blocks/depends on) are displayed between artifact widgets.
Background – Defines background using Dojo GFX shapes. Component info – Defines detail style of artifact widgets and connections.
– Maps variables in a query result to properties in an artifact widget.– Maps properties in a widget to properties of Dojo GFX shapes.
208 © Copyright IBM Corporation 2013
Summary
You are now able to: Explain the syntax of the Resource Description
Framework (RDF). Identify key concepts for the vocabularies used in
queries (such as Turtle and OSLC). Use sample customized queries that can be
modified and implemented as your own. Identify the key configuration elements of a
customized view.
Recommended