Essentials of IBM Rational Engineering Lifecycle Management

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