Nowadays, all major financial markets use computer trading systems to support their trading activities. Because failures in these systems can cause serious economic damage, reliability is a top goal in their development.
The complex functionality that trading systems deliver makes testing them challenging. A tester with knowledge in the financial domain can generate test cases that cover the most usual trading scenarios, but it is practically impossible to come up with all the situations that will occur in production. At Cinnober, the company that develops the trading system TRADExpress, the manual generation of test cases is complemented with random testing, as an attempt to cover uncommon (yet possible) scenarios. Continue reading →
Telecommunications services like instant messaging or internet telephony bring increased flexibility to communicate at home, in the office or on the move. Their pervasiveness is also a source of disruptions and intrusions. Service providers are therefore looking for personalisation solutions allowing users to control the timing and modalities of their communications. In the case of telephony services, personalisation solutions are built around call control features. Technically, a feature is an increment of functionality that modifies the basic system behaviour. Dozens of call control features have been created to address concerns such as mobility, privacy, presentation, or billing (see Figure 1).
Figure 1: Feature and Feature Types
Features are designed as independent separate module and are exposed through feature catalogs (see Figure 2). A user selects from the catalog the set of features that he wants to be active during the session in which he is involved. He may also want to sequence the activation of the selected features in a particular way to better suit his needs (e.g., he may want to filter his incoming calls before diverting them). The features that the user has selected plus the ordering constraints that he has imposed on them constitute the feature subscription of the user.
The next blog entry will be a guest contribution by Luis Quesda from 4C, who describes joint work with David Lesaint, Deepak Mehta, Barry O’ Sullivan and Nic Wilson on a prototype call control system developed by a joint project of BT and 4C.
I’m sure you will enjoy this description of the 4CRules system, and perhaps this will encourage others to show us their work as well 🙂
Just a short note on the upcoming CP2010 conference in St. Andrews. It is a good year for constraint applications, with quite a number of application talks at the conference. I’ve got the following list from the conference programme:
14:00 A Safe and Flexible CP-based Approach for Velocity Tuning Problems. Michaël Soulignac, Rueher Michel, Patrick Taillibert
14:25 Constraint Programming for Mining n-ary Patterns. Mehdi Khiari, Patrice Boizumault, Bruno Cremilleux
14:50 Testing Continuous Double Auctions with a Constraint-based Oracle. Christian Schulte, Roberto Castañeda Lozano, Lars Wahlberg
15:15 Global Constraints on Feature Models. Ahmet Serkan Karata¸, Halit Oğuztüzün, Ali Doğru
11:00 Contingency Plans for Air Traffic Management. Karl Sundequist Blomdahl, Pierre Flener, Justin Pearson
11:25 An Integrated Business Rules and Constraints Approach to Data Centre Capacity Management. Roman van der Krogt, Jacob Feldman, James Little, David Stynes
11:50 Load Balancing and Almost Symmetries for RAMBO Quorum Hosting. Laurent Michel, Alexander Shvartsman, Elaine Sonderegger, Pascal Van Hentenryck
12:15 Context-Sensitive Call Control using Constraints and Rules. David Lesaint, Deepak Mehta, Barry O’Sullivan, Nic Wilson, Luis Quesada
14:00 An Integrated Modelling, Debugging, and Visualisation Environment for G12. Andreas Bauer, Viorica Botea, Mark Brown, Matt Gray, Daniel Harabor, John Slaney
14:25 An Empirical Study of Optimization for Maximizing Diffusion in Networks. Kiyan Ahmadizadeh, Bistra Dilkina, Carla Gomes, Ashish Sabharwal
The best application paper will be presented on Wednesday
10:00 Distinguished paper (Applications Track) Applying Constraint Programming to Identification and Assignment of Service Professionals. Sigal Asaf, Haggai Eran, Yossi Richter, Daniel P. Connors, Donna L.Gresh, Julio Ortega, Michael J Mcinnis
I hope to learn more about these systems at the conference, and to perhaps convince some of the authors to guest-edit a blog post here. Stay tuned!
Bandwidth on Demand (BoD) describes a network management problem, where users can request large amounts of bandwidth, but only for some fixed time interval. The network management tool must find out if such a request can be accommodated on the network, and if yes, must provision the network to provide the service at its start-time, and then remove the provisioning at the end of the service period. Parc Technologies and IC-Parc developed such a Bandwidth on Demand solution for Schlumberger in 2003, which was installed on their dexa.net network. I was working on the solver side of this project with Quanshi Xia from IC-Parc, while Nick Bradshaw and Peter Rylance from Parc Technologies worked on the overall system design and implementation. The project was managed by Barry Richards, the director of IC-Parc.
Need for BoD: 3D Seismic Data Analysis (from askchesapeake.com)
The work on CPTV (Constrained-Based Personalized TV Schedules) was sponsored by the Commercialization Fund of Enterprise Ireland, one of our national funding agencies, with support from the European Regional Development Fund. In the July/August issue of EI’s magazine, Technology Ireland, you can find a short write-up of the project on pages 14/15.
This probably was the most complex and complicated project I was ever working on. And while we delivered the product and met the specification (we even got the bonus payment for solution quality), the system was never used operationally.
The problem is about train crew diagraming for the regional trains services in the north-west of England, centered on Manchester. Most trains used are diesel-powered units like this one:
Allocating air crew (flight deck and cabin crew) to cover the flights of an airline is typically done with a large-scale rostering application, which are often based on column generation techniques, resulting in very large-scale set covering problems. These tools generate a roster for a 4 week period or for one month, while running for several hours or even days.
SAS MD-80 (from Wikipedia)
What happens if the published schedule breaks, either because of illness of some crew member, or because some flight connections can not be reached in time, due to delays of earlier flights? This is where the TAP-AI application comes into play, a decision support tool for day-to-day management of “open flights”. Open flights are flights for which one or several previously allocated crew members will not be available. Usually, a replacement crew must be found with the right qualifications, and he must be notified in time to reach the flight, including all briefing and preparation tasks. At SAS (Scandinavian Airline System), finding solutions for these open flights was done by hand, a difficult, stressful job. Continue reading →