What is SnagL™?

SnagL™ is based around graph theory, which is the study of mathematical structures known as graphs.  Graphs are comprised of vertices (also called nodes) and edges.  While nodes represent some arbitrary piece of data, the edges represent a relationship (or link) between nodes.  The application provides a means to visualize and analyze your data as a graph.

Recently redesigned and reengineered for Silverlight 4, SnagL™ is a sophisticated application which is highly customizable.  The application uses MEF (Managed Extensibility Framework) to allow plug-ins to be written for it.  All the controls on the menu (at the top) and tools (to the right) are built-in plugins.  External plug-ins can also be easily created to further extend the application to meet your needs.

The application uses the MVVM (Model-View-ViewModel) pattern in an effort to make the application more modular and to more cleanly separate the code from the user interface.

How is it used?

SnagL™ is a tool and does not actually do anything on its own.  Since it is a Silverlight application it must be hosted by some web application.  This host is important as it responsible for not only hosting the application but communicating with it.  The host can be use any technology (HTML, ASP.NET, etc.) that supports Silverlight.  SnagL™ has an integration framework that exposes several methods and events to the host in an effort to facilitate integration.  One of these methods allows you to pass a file directly from the host to the application so it is loaded when the application is opened.  Currently, the only format supported is a customized version of GraphML.  The application also provides the ability to Import and Export data to and from the graph.

Miscellaneous Technologies Used

Name Description
MVVMLight Toolkit Used to assist with the MVVM Pattern
MEF Provides the backbone for the extensibility framework used
PRISM Used to make the application more modular

Last edited Feb 25, 2011 at 6:33 PM by Berico, version 9

Comments

No comments yet.