Chapter 1. Preface

Table of Contents

Benefits and Problems
From Diagrams to Graphs
Graph-related Problems
About yFiles for Silverlight
What it is
What it's not
Application Domains

yFiles for Silverlight is an extensive class library for the Microsoft Silverlight Framework that provides algorithms and components for analyzing, viewing, and drawing graphs, diagrams, and networks. It can be used to develop sophisticated Silverlight-based applications using popular .NET languages like C#, for example.

This chapter gives an overview what kind of purposes the yFiles for Silverlight library serves, and what kind of applications and application domains are possible.


Diagrams of any kind naturally arise in a wide variety of application domains. The diagrams encountered commonly comprise entities together with their relationships. Entities are usually represented by some kind of object, e.g., a colored rectangle, and the relationships are usually represented by a connecting line with or without some kind of decoration at its ends. Figure 1.1, “Different kinds of diagrams” shows some examples of diagrams.

Figure 1.1. Different kinds of diagrams

A family tree.
A semantic network.
Sample process.

Benefits and Problems

"A diagram is worth a thousand words." is a popular proverb which best expresses the benefits of using diagrams:

  • Subjects of arbitrary complexity can be arranged to get a clear picture of hidden structures and dependencies.
  • Gordian relationships can be clarified in a matter of seconds.
  • Information is communicated to a broad audience easily.

However, these properties strongly depend on the quality of a diagram. And the task of making legible diagrams is often tedious and moreover error-prone when done by hand. Sketching even small data sets can become awkward enough to forsake entirely.

With large data sets the problem of making high-quality, easy-to-understand diagrams aggravates. Doing it by hand is no longer an alternative, so the need for an automatic generation grows.

From Diagrams to Graphs

Diagrams in the common sense, i.e., some sort of entities together with connecting lines as described above, are closely related to the mathematical notion of a "graph." Basically, this means that diagrams and graphs serve the same purpose, the two concepts are interchangeable. Hence, a question that arises in the context of a diagram is equally a question concerning a graph.

Formally, a graph is defined as a tuple of two sets, a node set and an edge set. A "node" in this definition is the equivalent of an entity, while an "edge" represents a connecting line, i.e., a relationship between entities.

There is a variety of terms used to refer to the mathematically coined "node" and "edge," however in the course of this document we will stick to the original names as often as possible. See the glossary for more graph structure terminology widely used in this documentation.