Real Time Maritime Lifeboat System and UML
UML example – real time system. Use Cases, Sequence Diagrams, Class Packages and Architecture example. UML is necessary to properly elicit Business and IT requirements and system constraints and objectives, including, functional and non-functional requirements.
Use Case: Maritime Lifeboat system to send out lifeboats to rescue vessels who are struggling at sea just off the coast. The system has a Maritime Controller Admin (MCA); Lifeboat Operations Management (LOM) officer; and a Lifeboat Crew. A distress signal arrives at the MCA office who must route it to the LOM and the LOM passes it on to the Crew. The objective is to launch a boat within 3 minutes of a distress event being received by the MCA. Budgets are limited given that this is a public service, funded by the government but not budget rich.
They need a newer system to replace an analogue, phone to phone system. What would you do?
Maritime Lifeboat rescue system
There are 3 critical elements when dealing with public-facing event and monitoring systems.
#1-This is a real time, event driven system.
Challenging SLAs exist, with 3 minutes from incident dispatch to launching a boat. The diagrams do not demonstrate how near-to-real time events will be sent, managed, reported on, or stored.
#2-Network availability (land, sea), must have a high availability/fail-over design.
Design offered is a ‘traditional’ approach to event architectures with limitations including a single model to fulfil event messaging, transactions, and reporting. High availability (99.99%) and key interfaces (pagers, SMS, web apps), are missing.
#3 Costs are also missing.
Given that AOL is not a for profit group, the cheapest solution is a real-time cloud-based system (pay for usage), can be built for £30.000-60.000 plus usage fees and 15% p.a. maintenance and associated network fees per annum. It is unclear where the funding would come from (a system design constraint that needs further assessment).
A common event architecture pattern is CQRS (command and query responsibility segregation) used in real time event systems often employing cloud technology with queues and messaging middleware. These components guarantee delivery and allow for granular event logging and reporting.
Figure: CQRS pattern
An event can trigger a command and publish an event into a channel:
Figure: Event Architecture
This leads to a proper architecture including networking failover. A satellite link could be used to mitigate 4G network issues for boats at sea. (note: Satellite linking is complicated and involves specific hardware and extra costs: a modem, a dish, converted band signals with the dish and a 4G or Wi-Fi network).
Figure Architecture and Networking:
You need to show how messages can be sent down the events-chain without human intervention. An example would be the MCA to LOM who reject the incident; this should be passed on automatically to the next closest LOM without manual intervention. An example is given below. Other detailed diagrams (E-R, Schemas) are not added for brevity.
Figure Process Flow
Figure: Process Flow Class Packages