MathWorks · Model Slicer · 2014–2016

Designing Model Slicer around state, data, and time.

I helped make an early Model Slicer workflow more predictable by exposing the role a selected model object played, the behavioral data supporting a slice, and the time interval in which that data was valid.

Company
MathWorks
Role
UX design contributor
Evidence period
2014–2016
Scope
State logic, prototypes, product feedback, alignment
A complex model is narrowed by starting-point and exclusion criteria into a focused dependency slice.
From selection to focused slicePublic-safe explanatory redraw of the core workflow. It abstracts the product problem I worked on and does not reproduce a proprietary model or interface.
Précis

Model Slicer turns dependency analysis into an interaction problem: users need to trust what is included, excluded, and supported by recorded behavior.

The design challenge was to make invisible system state legible before an engineer committed to an action.

01 · Context and stakes

A focused result needs an explainable path.

Model Slicer helps engineers isolate the portions of a Simulink model relevant to a design interest. MathWorks introduced the capability in R2015a with static dependencies, exclusions, constraints, simulation effects, and generation of a simplified model.

The interface had to preserve confidence in that result. A selected object might already be a starting point, an exclusion, or a constrained element. A dynamic slice added another dependency: valid simulation or coverage data for a meaningful time window.

Selection

Which block or signal is the user acting on?

Role

Is it a starting point, exclusion, constraint, or none?

Data

Was behavior loaded from coverage or produced by simulation?

Time

Does the requested interval fit the recorded result?

02 · Role and collaboration

Hands-on interaction design inside a team product.

I authored a 2014 interaction deck that mapped selection states to valid actions. In 2015, I authored dynamic-slicing prototypes that made data source, time range, validity, and recalculation visible.

I developed the detailed interaction logic with a development partner and used the prototypes to gather functional feedback from the primary team and adjacent product teams. A UX researcher authored the team usability plan, which I credit as shared evidence.

01 / STATE

Make every selection state explicit.

I mapped what Model Slicer should offer for an object with no current role, an existing point, a conditional block, a multi-selection, or a conflicting role.

The visible actions were straightforward: add a starting point, add an exclusion, add constraints, or remove a point. The harder design work sat behind those labels. The system needed rules for when each action was available and what happened when an object moved between roles.

I surfaced conflicts as product decisions. If an excluded block became a starting point, for example, the system needed a predictable precedence rule to prevent two apparently active states. The deck and enable/disable matrix turned that ambiguity into behavior the team could inspect and resolve.

Three state panels show available actions for an object with no role, an existing starting point, and an incompatible-role conflict.
State-aware context actionsHistorical design exploration redrawn from my August 2014 interaction deck. It represents my state model and conflict framing; the final shipped interface remained team-owned.
02 / DATA

Turn dynamic slicing into a visible data contract.

Dynamic slicing made the highlighted result depend on recorded behavior. I made provenance and validity visible in the interaction.

My 2015 prototypes explored two paths: load existing coverage data or run a simulation, then refine the highlighted slice within a selected time window. The concepts showed when data had been recorded, constrained the available interval, and surfaced an error when a requested endpoint exceeded the available result.

The prototypes also distinguished Refine from Simulate and refine. That distinction mattered when changed inputs or workspace variables required a new simulation before the highlighted slice could be trusted.

Coverage or simulation data supplies a recorded interval, a valid time window, and either refine or simulate-and-refine action.
Dynamic slicing as a data-and-time workflowHistorical prototype redrawn from my July–August 2015 decks. It exposes source, time range, validity, and recalculation. The shipped controls may differ from this exploration.
03 / ALIGNMENT

Use prototypes to expose the decisions a team must make.

The prototypes gave the team a shared object for discussing functional behavior before implementation details hardened.

01

Make selection conflicts concrete enough to resolve.

02

Review loading, disabled, stale, and invalid states together.

03

Coordinate the primary development team with upstream and downstream partners.

03 · Work in action

Four decisions, one inspectable workflow.

The sequence separated what the user selected, what role it played, which behavioral data supported the result, and whether that data was still valid.

  1. Select a model object

    Expose actions appropriate to the current block or signal and its existing Model Slicer role.

  2. Define the criteria

    Add a starting point, exclusion, or constraint while preventing incompatible states.

  3. Establish evidence

    Load coverage data or run a simulation, then show the available recorded interval.

  4. Refine with confidence

    Validate the requested time window and recalculate when inputs or variables have changed.

04 · Outcomes

A supported design outcome, with product context kept separate.

The evidence supports clearer functional-design discussion and cross-team alignment. It does not support an adoption number, time-saved metric, or direct causal claim about later releases.

Verified product state
Model Slicer shipped in R2015a.

Public MathWorks material describes static dependencies, exclusions, constraints, dynamic dependencies, and slice generation. A time-window simulation API was introduced in R2015b.

Supported contribution
The team had explicit behavior to critique.

Contemporaneous local evidence records that detailed prototypes helped generate actionable feedback early and align the primary team with adjacent teams.

Later continuation
The product expanded into testing and verification workflows.

MathWorks documentation records Model Slicer integrations from R2020b through R2022a. Those milestones establish later product evolution, not causality from my earlier concepts.

Evidence boundary: original interaction decks, a behavior matrix, a usability plan, and contemporaneous review material were examined locally. Proprietary visuals and personnel records remain private; all visuals here are explanatory redraws.

05 · Product chronology

Keep contribution and continuation in different lanes.

The timeline makes the case’s central attribution rule visible: my documented design work is in 2014–2015; later release milestones are official product context.

Two timelines separate Praneet's 2014 and 2015 design work from MathWorks product milestones in R2015a, R2015b, R2020b, R2021a, and R2022a.
Public product evolution, 2015–2022Official release milestones provide chronology. They do not establish that my early prototypes caused later features or shipped unchanged.

Technical UX often lives in state logic.

When a result depends on selection roles, data provenance, simulation validity, and time, the interface has to expose those dependencies clearly.

The work also reinforced the value of detailed prototypes as alignment tools. A useful prototype reveals the conflicts a team must resolve and makes visual completeness secondary.

Public product sources and evidence notes

Public sources establish product state and chronology. Local primary artifacts establish my contribution.