Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Setting environment for using Microsoft Visual Studio 2010 x86 tools.
Matrix Model Compiler - Professional Edition - SID/ANSIC/001 - Version 2.2.1
Architecture Design: Simple Interleaved Design - Version 1.3.2
Programming Templates: ANSI C/C++ - Version 1.2.0
Licenced to: Mike Finn, Dark Matter Systems Ltd
Single User Licence - Number: BB-72-02-87 - Expiry Date: None
Copyright (C) 2017 Dark Matter Systems Ltd. All rights reserved.
Support: support@ultradark.com - Website: www.analysisdesignmatrix.com
Connection established: MATRIX*CORE - Version 2.0.0
Development on THU-21-SEP-2017 @ 11:17:14
Model Name:
Prof_Gothic_Hotel
Matrix Model Folder:
M:\Matrix\Models
Generated Source Code:
M:\Matrix\Generated
Auxiliary Scenarios Folder:
M:\Matrix\Scenarios
System:Prof_Gothic_Hotel
Matrix:Model:Application
Silo:M1:Software_Application
Realm:Analysis_Of_Application
Domain:Gothic_Security
Entity:
Room_Device
Room_Door
Secret_Panel
Unlocking_Device
Unlocking_Sequence
Unlock_Step
Room
Model Compilation Elapsed Time: 00:00:02
Disconnected from MATRIX*CORE on THU-21-SEP-2017 @ 11:17:16
MATRIX PASSED
~ProfGothicHotel.0001.0001.Library.c
~ProfGothicHotel.0003.0001.RoomDevice.DataAccess.c
~ProfGothicHotel.0002.0001.Initialisation.c
~ProfGothicHotel.0001.0004.Initialisation.c
~ProfGothicHotel.0001.0005.Scheduler.c
~ProfGothicHotel.0001.0006.LiteralStrings.c
~ProfGothicHotel.0001.0007.Enumerations.c
~ProfGothicHotel.0011.0003.Simulator.Stimulate.c
~ProfGothicHotel.0003.0001.RoomDevice.EventSenders.c
~ProfGothicHotel.0002.0004.ProcessIncludes.c
~ProfGothicHotel.0003.0001.RoomDevice.Identifiers.c
~ProfGothicHotel.0003.0002.RoomDoor.DataAccess.c
~ProfGothicHotel.0003.0001.RoomDevice.Dispatcher.c
~ProfGothicHotel.0003.0002.RoomDoor.StateActions.c
~ProfGothicHotel.0003.0002.RoomDoor.EventSenders.c
~ProfGothicHotel.0003.0001.RoomDevice.ProcessIncludes.c
~ProfGothicHotel.0012.0006.Simulator.UnlockStep.EntityDisplay.c
~ProfGothicHotel.0003.0001.RoomDevice.StateActions.c
~ProfGothicHotel.0003.0006.UnlockStep.StateActions.c
~ProfGothicHotel.0003.0003.SecretPanel.DataAccess.c
Generating Code...
Compiling...
~ProfGothicHotel.0001.0002.ErrorHandler.c
~ProfGothicHotel.0003.0003.SecretPanel.StateActions.c
~ProfGothicHotel.0003.0004.UnlockingDevice.StateActions.c
~ProfGothicHotel.0012.0001.Simulator.RoomDevice.EventDisplay.c
~ProfGothicHotel.0011.0001.Simulator.Configuration.c
~ProfGothicHotel.0012.0001.Simulator.RoomDevice.EntityDisplay.c
~ProfGothicHotel.0003.0006.UnlockStep.Dispatcher.c
~ProfGothicHotel.0011.0002.Simulator.LiteralStrings.c
~ProfGothicHotel.0001.0003.MainProgram.c
~ProfGothicHotel.0002.0002.Scheduler.c
~ProfGothicHotel.0012.0006.Simulator.UnlockStep.StateDisplay.c
~ProfGothicHotel.0003.0007.Room.DataAccess.c
~ProfGothicHotel.0003.0006.UnlockStep.DataAccess.c
~ProfGothicHotel.0002.0003.SchedulerInitialisation.c
~ProfGothicHotel.0003.0002.RoomDoor.Identifiers.c
~ProfGothicHotel.0003.0005.UnlockingSequence.ProcessIncludes.c
~ProfGothicHotel.0012.0006.Simulator.UnlockStep.EventAcquireIdentity.c
~ProfGothicHotel.0012.0001.Simulator.RoomDevice.EventAcquireIdentity.c
~ProfGothicHotel.0012.0002.Simulator.RoomDoor.EventDisplay.c
~ProfGothicHotel.0012.0001.Simulator.RoomDevice.EventAcquireIdentifier.c
Generating Code...
Compiling...
~ProfGothicHotel.0003.0005.UnlockingSequence.EventSenders.c
~ProfGothicHotel.0012.0002.Simulator.RoomDoor.EntityDisplay.c
~ProfGothicHotel.0003.0005.UnlockingSequence.StateActions.c
~ProfGothicHotel.0003.0003.SecretPanel.EventSenders.c
~ProfGothicHotel.0012.0005.Simulator.UnlockingSequence.StateDisplay.c
~ProfGothicHotel.0003.0004.UnlockingDevice.DataAccess.c
~ProfGothicHotel.0012.0001.Simulator.RoomDevice.StateDisplay.c
~ProfGothicHotel.0003.0004.UnlockingDevice.EventSenders.c
~ProfGothicHotel.0003.0005.UnlockingSequence.DataAccess.c
~ProfGothicHotel.0012.0002.Simulator.RoomDoor.EventAcquireIdentity.c
~ProfGothicHotel.0003.0006.UnlockStep.EventSenders.c
~ProfGothicHotel.0012.0003.Simulator.SecretPanel.EventDisplay.c
~ProfGothicHotel.0012.0004.Simulator.UnlockingDevice.EventDisplay.c
~ProfGothicHotel.0003.0002.RoomDoor.Dispatcher.c
~ProfGothicHotel.0012.0005.Simulator.UnlockingSequence.EventDisplay.c
~ProfGothicHotel.0012.0006.Simulator.UnlockStep.EventDisplay.c
~ProfGothicHotel.0003.0002.RoomDoor.ProcessIncludes.c
~ProfGothicHotel.0003.0003.SecretPanel.Identifiers.c
~ProfGothicHotel.0003.0003.SecretPanel.Dispatcher.c
~ProfGothicHotel.0003.0003.SecretPanel.ProcessIncludes.c
Generating Code...
Compiling...
~ProfGothicHotel.0003.0004.UnlockingDevice.Identifiers.c
~ProfGothicHotel.0003.0004.UnlockingDevice.Dispatcher.c
~ProfGothicHotel.0003.0004.UnlockingDevice.ProcessIncludes.c
~ProfGothicHotel.0003.0005.UnlockingSequence.Identifiers.c
~ProfGothicHotel.0003.0006.UnlockStep.Identifiers.c
~ProfGothicHotel.0003.0006.UnlockStep.ProcessIncludes.c
~ProfGothicHotel.0003.0007.Room.Identifiers.c
~ProfGothicHotel.0012.0002.Simulator.RoomDoor.StateDisplay.c
~ProfGothicHotel.0012.0002.Simulator.RoomDoor.EventAcquireIdentifier.c
~ProfGothicHotel.0012.0003.Simulator.SecretPanel.EntityDisplay.c
~ProfGothicHotel.0012.0003.Simulator.SecretPanel.EventAcquireIdentity.c
~ProfGothicHotel.0012.0003.Simulator.SecretPanel.StateDisplay.c
~ProfGothicHotel.0012.0003.Simulator.SecretPanel.EventAcquireIdentifier.c
~ProfGothicHotel.0012.0004.Simulator.UnlockingDevice.EntityDisplay.c
~ProfGothicHotel.0012.0004.Simulator.UnlockingDevice.EventAcquireIdentity.c
~ProfGothicHotel.0012.0004.Simulator.UnlockingDevice.StateDisplay.c
~ProfGothicHotel.0012.0004.Simulator.UnlockingDevice.EventAcquireIdentifier.c
~ProfGothicHotel.0012.0005.Simulator.UnlockingSequence.EntityDisplay.c
~ProfGothicHotel.0012.0005.Simulator.UnlockingSequence.EventAcquireIdentity.c
~ProfGothicHotel.0012.0005.Simulator.UnlockingSequence.EventAcquireIdentifier.c
Generating Code...
Compiling...
~ProfGothicHotel.0012.0006.Simulator.UnlockStep.EventAcquireIdentifier.c
~ProfGothicHotel.0012.0007.Simulator.Room.EntityDisplay.c
~ProfGothicHotel.0003.0005.UnlockingSequence.Dispatcher.c
Generating Code...
COMPILE PASSED
Matrix Model Simulator - Learning Edition - Version 2.0.0
Development on THU-21-SEP-2017 @ 11:17:21
Copyright (C) 2017 Dark Matter Systems Ltd. All rights reserved.
Connection established: MATRIX*CORE - Version 2.0.0
$
$ | Professional Gothic Hotel Scenario
$
$ trace all off
$ trace display on
$ trace events on
$ trace states on
$
$ initialise all
$
$ display all
$
$
$ | Event Code Description Command Code Description
$ | ~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~~~~~~~~~
$ | D1CL Door Closed D1LK Lock Door
$ | L1ON Light On D1UL Unlock Door
$ | D2OP Drawer Opened PNLK Lock Panel
$ | PNCL Panel Closed PNUL Unlock Panel
$ | D1OP Door Opened
$
$
$ | Normal Unlocking Scenarios
$ | ##########################
$
$ | Normal Unlocking Via Light Then Drawer
$ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$
$ | Room Door Closes [D1CL - Door Closed]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Door" 101
$
$ display entity Gothic_Security Unlocking_Sequence
$ display entity Gothic_Security Unlock_Step
$
$ | Light Switched On [L1ON - Light On]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Light" 101
$
$ display entity Gothic_Security Unlocking_Sequence
$ display entity Gothic_Security Unlock_Step
$
$ | Drawer Opens [D2OP - Drawer Opened]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Drawer" 101
EVENT => Machinery::Actuator:Unlock_panel
EVENT => Machinery::Actuator:Lock_door
$
$ display entity Gothic_Security Room_Door
$ display entity Gothic_Security Unlocking_Sequence
$ display entity Gothic_Security Unlock_Step
$ display entity Gothic_Security Secret_Panel
$
$ | Panel Closed [PNCL - Panel Closed] The only way to unlock the Room Door after
$ | the Unlocking Sequence has been completed is to open and close the Secret
$ | Panel.
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Panel" 101
EVENT => Machinery::Actuator:Lock_panel
EVENT => Machinery::Actuator:Unlock_door
$
$ display entity Gothic_Security Unlocking_Sequence
$ display entity Gothic_Security Unlock_Step
$
$ | Door Opens - Resets All When Panel Closed [D1OP - Door Opened]
$ create event identifier Gothic_Security Room_Door Door_opened Room_Door_Identifier "Door" 101
$
$ display entity Gothic_Security Room_Door
$ display entity Gothic_Security Secret_Panel
$ display entity Gothic_Security Unlocking_Sequence
$ display entity Gothic_Security Unlock_Step
$
$
$ | Normal Unlocking Via Drawer Then Light
$ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$
$ | Room Door Closes [D1CL - Door Closed]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Door" 101
$
$ | Drawer Opens [D2OP - Drawer Opened]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Drawer" 101
$
$ | Light Switched On [L1ON - Light On]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Light" 101
EVENT => Machinery::Actuator:Unlock_panel
EVENT => Machinery::Actuator:Lock_door
$
$ display entity Gothic_Security Secret_Panel
$
$ | Drawer Opens In Error - Ignore event. Still Need Door Locked And Panel
$ | Unlocked [D2OP - Drawer Opened]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Drawer" 101
$
$ | Panel Closed [PNCL - Panel Closed]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Panel" 101
EVENT => Machinery::Actuator:Lock_panel
EVENT => Machinery::Actuator:Unlock_door
$
$ | Door Opens - Resets All When Panel Closed [D1OP - Door Opened]
$ create event identifier Gothic_Security Room_Door Door_opened Room_Door_Identifier "Door" 101
$
$
$ | Aborted Unlocking Scenarios
$ | ###########################
$
$ | Aborted Unlocking Via Light
$ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~
$
$ | Room Door Closes [D1CL - Door Closed]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Door" 101
$
$ | Light Switched On [L1ON - Light On]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Light" 101
$
$ | Light Switched On Again - Wrong Step [L1ON - Light On]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Light" 101
$
$ display entity Gothic_Security Unlocking_Sequence
$ display entity Gothic_Security Unlock_Step
$
$ | Drawer Opens - Try Anyway [D2OP - Drawer Opened]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Drawer" 101
$
$ display entity Gothic_Security Unlocking_Sequence
$
$ | Door Opens - Resets All When Panel Closed - Never Locked [D1OP - Door Opened]
$ create event identifier Gothic_Security Room_Door Door_opened Room_Door_Identifier "Door" 101
$
$
$ | Aborted Unlocking Via Door Opens
$ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$
$ | Room Door Closes [D1CL - Door Closed]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Door" 101
$
$ | Light Switched On [L1ON - Light On]
$ create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Light" 101
$
$ | Door Opens - Resets All When Panel Closed [D1OP - Door Opened]
$ create event identifier Gothic_Security Room_Door Door_opened Room_Door_Identifier "Door" 101
$
$ display entity Gothic_Security Room_Door
$ display entity Gothic_Security Secret_Panel
$ display entity Gothic_Security Unlocking_Sequence
$ display entity Gothic_Security Unlock_Step
$
$
$ | Cannot Happen Scenarios
$ | #######################
$
$ | Unexpectedly Close Panel
$ | ~~~~~~~~~~~~~~~~~~~~~~~~
$
$ | Room Door Closes [D1CL - Door Closed] The Secret Panel can only close after
$ | being unlocked. It can only be unlocked after a valid Unlocking Sequence has
$ | been entered.
$ | create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Door" 101
$
$ | display entity Gothic_Security Secret_Panel
$
$ | Panel Closed [PNCL - Panel Closed] Physically impossible. Event should be
$ | impossible to receive after the last. Suspect Secret Panel Sensor failure.
$ | create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Panel" 101
$
$
$ | Unexpectedly Open Door
$ | ~~~~~~~~~~~~~~~~~~~~~~
$
$ | Room Door Closes [D1CL - Door Closed]
$ | create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Door" 101
$
$ | Light Switched On [L1ON - Light On]
$ | create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Light" 101
$
$ | Drawer Opens [D2OP - Drawer Opened] The Door locks.
$ | create event identifier Gothic_Security Room_Device Device_update Room_Device_Identifier "Drawer" 101
$
$ | display entity Gothic_Security Room_Door
$
$ | Door Opens [D1OP - Door Opened] Physically impossible. Event should be
$ | impossible to receive after the last. Door is still locked. Suspect Drawer
$ | Sensor failure.
$ | create event identifier Gothic_Security Room_Door Door_opened Room_Door_Identifier "Door" 101
$
$
$ display all
$
$ host pause
$
$ exit
Model Simulation Elapsed Time: 00:00:00
Disconnected from MATRIX*CORE on THU-21-SEP-2017 @ 11:17:21
TEST PASSED
Tool completed successfully