Aug 2012

PSM (Public Safety Management)

Technologies: .NET Mobile
PSM (Public Safety Management)
PSM Family is a group of applications designated specially for US police agencies. PSM Family’s main users are police dispatchers and field officers


PSM Family is a group of applications designated specially for US police agencies. PSM Family’s main users are police dispatchers and field officers.

Police dispatchers work with Computer Aided Dispatch (CAD) of two types: university campuses CADs (PSM v2) and municipal CADs (PSM v3). They allow:
  • processing calls about incidents;
  • forming reports of preliminary data about the incident;
  • sending notifications about incidents to the nearest patrol;
  • forming police crews, taking them on or off duty;
  • accessing suspects, victims and vehicle databases;
  • preparing and accessing various reports.
Field officers work with applications of two types:
  1. On duty officers have laptops with installed mobile CAD application. It has fewer features than dispatcher’s CAD but it has a synchronization capability so it could work offline.
  2. Mobile application for Citation-Writing machines allowing officer to issue traffic citations while spending less time on the side of the road.

Agencies have a possibility to export all the necessary data from PSM Family database and import it to Web portal database making this data available for public access. PSM Family
has a Silverlight application with these primary features:
  • Microsoft Bing map representing different incidents data;
  • Geo-location by addresses from incident reports;
  • Search incidents by their type.


All of the PSM Family applications use similar client-server architectures. Some of them can easily operate offline with subsequent data synchronization. As an example we represent PSM v3 application architecture. It is one of the main PSM Family applications and as all the other applications it has client-server architecture.

PSM v3 architecture:
  • Client is developed using Composite UI library allowing creating an application as a set of modules. PSM v3 Client has three modules: CAD, Accident and Map module. Each of them consists of a bunch of forms developed using MVP (Model-View-Presenter) pattern:
    • The Model is an interface defining the data to be displayed or otherwise acted upon in the user interface;
    • The View is a passive interface that displays data (the Model) and routes user commands (events) to the Presenter to act upon that data;
    • The Presenter acts upon the model and the view. It retrieves data from repositories (the Model), and formats it for display in the View.
    The data being displayed on the form and processed on the server are described in the joint Common Business Entities Library. Both Client and Server work with this library. It keeps sets of the tables called DataSets.
  • The interaction between Client and Server is implemented using .NET Remoting complemented by data encryption.
  • On the Server, each client's form has its own interface implemented using Facade pattern through which the client works with Database.
  • Work with Database consists of Data Access sets communicating with Database directly using ADO.NET.
Server side of the PSM Family consists of several parts each intended for its own type of clients:
  • MRW Server for mobile reports;
  • Parking/MСW Server for registering violations in the parking lot;
  • PSM v2 Server for CAD version 2;
  • PSM v3 Server for municipal CAD version 3.
All of the server components operate on the central database. Thus, PSM Family applications data is brought together in one place.