Software Architecture: Requirements in SysML

BUS 599 Week 3 Discussion 1 and 2.
August 7, 2017
Imagine the client owns an asset that was condemned by the state. Using the tax rules for condemned property……..
August 7, 2017
Show all

Software Architecture: Requirements in SysML

Problem Description (Refined version of Assignment 4):
You’re developing the software for a company that monitors home alarm systems.  There will be one sensor for each door or window in the home that detects when they are

opened.  If the home alarm system is activated, the home (sub)system must (1) turn on the alarm within 5 seconds of sensing the opening of any opening other than a

door next to a control pad, which allow 30 for the user disarm code to be entered before the alarm is turned on, and (2) send an alarm to the Alarm Monitor Company’s

central monitoring location within 15 seconds for an opening other than a door next to a control pad, and 45 seconds for a door next to a control pad.  The system at

the central monitoring location, (1) records the event, and (2) notifies a human operator what’s happening within 30 seconds of receipt of the alarm sent from the

local home monitoring system, and (3) automatically dial the home, within 45 seconds of receipt of the alarm sent from the local home monitoring system, and hands-off

the call to the operator, who will to attempt to verify that there is a break-in.  If no one answers, or someone answer but doesn’t give the agreed to safe-word or

give the in-trouble word, then the operator will notify the police within 1 minute if no answer, or 2 minutes if call is answered.  All actions taken are recorded.
After reviewing the draft architectures proposed for the system (i.e. Assignment 4 submissions), the customer decided that they want the architecture to be based on

the draft architecture described in the following paragraphs.
Figure 1 is a sketch (informal drawing) showing the top level view of the system.  Each home contracted with the Monitoring company has a dynamic connection with the

monitoring system (i.e. the home system calls the company’s system when it needs to and vice versa).
Figure 2 shows the hardware in each home.  The number of window and door sensors, as well as the number of control panels may be different in each house. Each window

and door sensor is a simple sensor that conceptually has a value of “True” when the window or door is closed, and “False” when the door is open.  This is all handled

by the hardware

(FYI, when the window or door is closed a complete circuit and there is power on the line; when the window is open there is circuit is broken and there

is no power on the line.  The hardware interface to the local CPU then sets a memory location to true/false depending on whether the power is on or off). All the local

software has to do is read the memory location assigned to the sensor when the software needs to know if the window or door is open or closed.
Figure 1: Multi-Home Monitoring System Overview

The installer of the home security system can initialize the local in-home software with a list of names and each name associated name (e.g. front door, bedroom

window), with each sensor so the local in-home software can display the sensor name with the status of the window or door on the control panel or can include the

sensor name of the opened door or window when notifying the Security Monitoring Company of a break-in.
The home alarm is turned on by writing an “on” value (i.e. 1 or “true”) to a memory location.  It is turned off by writing an “off” value (i.e. 0) to the same memory

location.
While there a few different kind of the control panels, we will start with the simple pad that allows the home owner, (1) to activate (also called “arm”) the in-home

alarm system by pressing an on button; or (2) deactivate (also called “disarm”) the system by entering their disarm code on Control Panel’s number pad.  Disarming the

system will cause the system to turn off the local alarm and after the time periods described above to call the security company’s Central Monitoring System to notify

it of a possible break-in.  If the disarm code is entered before the call to security company is started, the in-home system not notify of the security of a possible

break-in.
The current model of the Home Security Computer is a small off-the-shelf system with a Dual-Core CPU with 16GB of shared static memory, no hard drive and a modem that

is plugged into the home’s telephone system.
The Local Monitoring Software consists of 3 components.
1.    One component has subcomponents that implement Model-View-Controller pattern to displays information on the Control Panel, and reads the buttons and number pad

of the Control Panel. It set a flag indicating monitoring is on/off, and a flag to turn off the alarm.
2.    The second component implements the Control-Loop style that periodically checks whether the monitor flag is on and if so (a) checks status of all the sensors,

and (b) the sets the alarm flag to on.
3.    The last component also implements the Control-loop style periodically checks whether the alarm flag is on and the alarm is off, in which case  it (a) turns on

the actually alarm, (b) connects with the Central Security Monitoring Subsystem of the Monitoring Company and sends an alert message.  If the alarm flag is off and the

alarm is on, it turns off the alarm.
Figure 2: Local In-Home Monitoring Subsystem

Figure 3 is a sketch of the Monitor Company’s Central Security Monitor Subsystem.  It’s a combination of the Layered pattern (Stations, Servers, and Database

Management System(s)), Client-Server (i.e. Stations & Servers) pattern, and event-driven real-time monitoring pattern.  Each operator Station is used for routine

activities (client data updates) until need to respond to a potential “break-in” occurs.
When an In-Home Alarm system calls in with an alert message.  The Real-time Monitoring System (a) notifies the next available operator Station that there is a

potential break-in so the operator can handle the event, (b) calls the home owner, (c) calls the police emergency system at the operator’s direction, and (d) records

all information about the event.  The Database Management System(s) gives priority to the Real-Time Monitor and any requests from operator Stations that are working on

potential break-ins.
Figure 3: Company’s Central Security Monitoring Subsystem

The Logical Bus is an abstraction of any communication support mechanism(s) (e.g. .Net, CORBA) that will be used.
The Real-Time Monitoring System, Server(s), and the Database Management System each have at least one computer.  The number of computers for each of these subsystems

will need to be determined later (i.e. you don’t need to determine a number) to achieve the important qualities (e.g. availability, reliability) of system.
Part 1 (0 points): Download & install SysML modeling Tool
I’m currently using Visual Paradigm, which offers a free version, www.visual-paradigm.com (you can use a different tool if you verify that you can create the relevant

SysML model elements, and can export the diagrams to a format that you can paste into MS Word).   You may wish to sign up the one month free trial of the full version.

You may want to run their tutorial.
Part 2 (10 points): Use SysML-lite to create the following diagrams for the Alarm Monitoring System, based on the solution describe above.
1.    A Package Diagram
2.    A Requirements Diagram(s)
3.    A Block Definition Diagram(s)
4.    1 or more Internal diagrams
Create a PDF file with your diagrams and any text explanation you feel appropriate.  You may want to split a diagram into 2 or more partial views, if a single diagram

is hard to read in the PDF even when using the zoom capabilities of the PDF tool.
Note: the goal of this exercise is to give you some experience representing a system & its architecture design using a standard Architecture Description Language, i.e.

SysML.  The architecture design of this system is informally specified in the above diagrams  and descriptive text. With the exception of the internals of the 1st

component of the Local Monitoring Software, the diagrams show the components & their connections using an informal notation.  So you will be graded on your use of

SysML, to specify the architecture.  I left the internals of the 1st component for you to diagram based on the textual description.


Leave a Reply

Your email address will not be published. Required fields are marked *