# US 7,613,589 B2 · Measuring productivity and quality in model-based design

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,589 B2
- Document ID: US7613589B2
- Status: Granted
- Kind: B2
- Application number: 11/191,344
- Filed: 2005-07-27
- Published: 2007-02-01
- Granted: 2009-11-03
- Earliest claimed: 2005-07-27
- Assignees: The MathWorks, Inc.
- Inventors: Arvind Suresh Hosagrahara
- Web page: https://patentgrep.com/patent/US7613589B2

## CPC

- G06Q 10/04: Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem" (market predictions or forecasting for commercial activities G06Q30/0202)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Methods and systems for automatically measuring productivity and quality of model-based designs are disclosed. The present invention uses model contents, time spent, and input activities to measure effort put in a task and quality of the task. Defects and other model characteristics are tracked and used as a criterion to determine quality of a model-based design. The present invention allows for predicting resources required for a future task and for providing guidelines to improve usability of an application.

## Claims

### Claim 1

A method for automatically measuring effort in working on a model, the method comprising:
providing a graphical modeling application using a computing device;
identifying an activity for which a user wishes to measure effort, the activity comprising designing or modifying at least one of a block, a subsystem, and said model using said modeling application;
measuring, using the computing device, a time period for the user to complete the activity;
automatically gathering, using the computing device, data related to usage of an input device related to the activity;
storing the data related to the usage of the input device in a storage device; and
determining, using the computing device, the effort in working on the model based on the time period and the data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the input device is one of a mouse and a keyboard.

### Claim 3

In a computing device, a method of automatically measuring productivity in a graphical modeling environment, the method comprising:
identifying a task for which a user wishes to measure the productivity, the task comprising designing or modifying at least one of a block, a subsystem, and a model using the modeling environment;
providing, using the computing device, a plurality of entities from the modeling environment for use with the task, wherein each entity has a type;
measuring, using the computing device, time spent for the user to complete the task;
automatically tracking and storing usage of different types of entities, using the computing device, while the user is working on the task; and
determining, using the computing device, the productivity in the graphical modeling environment based on the usage of the different types of entities and the time.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
assigning, using the computing device, a weight for each type of said plurality of entities;
calculating, using the computing device, a weighted metric from said plurality of entities.

### Claim 5 (depends on 4)

The method of claim 4, wherein the weight for a type of said plurality of entities is related to complexity of building and configuring said type of said plurality of entities.

### Claim 6 (depends on 3)

The method of claim 3, further comprising:
setting, using the computing device, a predicted time period required to complete said task.

### Claim 7 (depends on 3)

The method of claim 3, further comprising:
detecting, using the computing device, at least one of a defect and model characteristic in said task.

### Claim 8

In a computing device, a computer-readable medium holding computer executable instructions, the instructions when executed causing a computer to perform:
providing a graphical modeling application;
identifying a task for which a user wishes to automatically measure productivity, the task comprising designing or modifying at least one of a block, a subsystem, and a model using the modeling application;
assigning a weight for each type of a plurality of entities provided from the modeling application for use with the task and calculating a weighted content metric from the plurality of entities; and
evaluating effort put into the task from the weighted content metric and by automatically tracking use of the input device.

### Claim 9 (depends on 8)

The medium of claim 8, wherein said medium further comprises instructions that when executed cause a computer to perform:
providing a plurality of entities for use with said task; and
assigning a weight for each type of said plurality of entities.

### Claim 10 (depends on 8)

The medium of claim 8, wherein said medium further comprises instructions that when executed cause a computer to perform:
measuring time spent for the user to complete said task.

### Claim 11 (depends on 8)

The medium of claim 8, wherein said medium further comprises instructions that when executed cause a computer to perform:
detecting at least one of a defect and a model characteristic in said task.

### Claim 12

In a graphical modeling environment, a system for measuring productivity of a task, the system comprising:
an input device; and
a processor configured to process:
a task to be completed in said modeling environment, the task involving designing or modifying one of a block, a subsystem, and a model, and
a metric tool comprising:
an input device tracker for automatically tracking use of the input device,
a productivity evaluator for determining the productivity of the task based on the use of the input device, and
a detector for detecting a defect or a model characteristic in the task.

### Claim 13 (depends on 12)

The system of claim 12, wherein the metric tool further comprises a weighted content calculator that is capable of normalizing contents created during said task with an assigned weight for each type of contents.

### Claim 14 (depends on 13)

The system of claim 13, wherein the metric tool further comprises a timer for measuring time spent to complete said task.

### Claim 15 (depends on 14)

The system of claim 14, wherein the metric tool further comprises:
a report generator for reporting metrics found by at least one of said timer, said input device tracker, and said weighted content calculator.

### Claim 16 (depends on 12)

The system of claim 12, wherein the metric tool further comprises:
a defect detection mechanism for detecting defects in said task.

### Claim 17 (depends on 12)

The system of claim 12, wherein the metric tool further comprises:
a model characteristic detection mechanism for detecting model complexity in said model.

### Claim 18 (depends on 12)

The system of claim 12, wherein the metric tool is on a server and the input device is on a client and the modeling environment is remotely accessed by a user on the client.

### Claim 19

In a graphical modeling environment, a system for measuring productivity of a task, the system comprising:
a processor configured to process:
a plurality of entities for use in the modeling environment;
a task to be completed in the modeling environment, the task comprising designing or modifying at least one of a block, a subsystem, and a model;
a time predictor for setting a predicted time period required to complete the task; and
a metric tool comprising an entity calculator automatically tracking usage of the plurality of entities in the task and a productivity evaluator determining the productivity of the task based on the usage of the plurality of entities.

### Claim 20

A productivity management method comprising:
tracking, using a computing device, productivity data of a user within a managed group by measuring effort and time spent for each task, the each task comprising designing or modifying at least one of a block, a subsystem, and a model in a graphical modeling environment, and the effort being measured by a weighted content metric and usage of an input device;
assigning, using the computing device, a weight for each type of a plurality of entities provided from the modeling environment for use with the each task and calculating the weighted content metric from the plurality of entities;
storing the productivity data in a storage device; and
predicting time and effort required to complete a future task, using the computing device, based on the productivity data.

### Claim 21 (depends on 20)

The method of claim 20, further comprising:
determining, using the computing device, a bonus for said user using said productivity data.

### Claim 22 (depends on 20)

The method of claim 20, wherein the effort is further measured by number of defects detected in each task.

### Claim 23 (depends on 22)

The method of claim 22, further comprising:
evaluating, using the computing device, quality of each task with said number of defects detected; and
evaluating, using the computing device, at least one of productivity and effort of each task with the measured effort and time spent.

### Claim 24 (depends on 20)

The method of claim 20, wherein the effort is further measured by model characteristics detected in each task.

### Claim 25 (depends on 24)

The method of claim 24, wherein the model characteristics are related to model complexity.

### Claim 26 (depends on 20)

The method of claim 20, further comprising:
generating, using the computing device, a report of said productivity data.

### Claim 27

A method of improving an application program comprising:
monitoring, using a computing device, user activity with an application program by automatically tracking usage of an input device;
recording, using the computing device, time spent on a plurality of tasks, wherein the plurality of tasks comprises at least one of an application program task performed by the application program and a user task performed by the user, the user task comprising designing or modifying at least one of a block, a subsystem, and a model;
determining, using the computing device, effort in working on the plurality of tasks based on the time spent; and
generating, using the computing device, a report including the time spent on the plurality of tasks and the usage of the input device.

### Claim 28 (depends on 27)

The method of claim 27, wherein one of the plurality of tasks comprises waiting for the application program to compile a model.

### Claim 29 (depends on 28)

The method of claim 28, further comprising:
modifying, using the computing device, the application program to speed up compilation of a model.

### Claim 30 (depends on 27)

The method of claim 27, wherein the report indicates multiple appearance of a specific sequence of input activity.

### Claim 31 (depends on 27)

The method of claim 27, further comprising:
modifying, using the computing device, the application program to eliminate the appearance of the specific sequence of input activity.

### Claim 32 (depends on 27)

The method of claim 27, wherein the report indicates a performance issue.

### Claim 33 (depends on 32)

The method of claim 32, further comprising:
modifying, using the computing device, the application program to eliminate the performance issue.

### Claim 34 (depends on 31)

The method of claim 31, further comprising:
improving, using the computing device, the application program in response to the report.
