ELEVATOR PROJECT 3.2
10.04.2023PROJEKT 3.2 |
2
Members Stefan Arians Vadim Emrich Christoph Gorgs Michael Klingen Ben Ripkens Daniel
Vermaasen
G5
GROUP
10.04.2023PROJEKT 3.2 |
3
Task Technologies Design & Architecture Hardware
API Connection to IOWarrior Hardware elevator Simulated elevator
Logic Domain Data model State machines Strategies
GUI Design Interaction Logger
Communication Conclusion Foresight
AGENDA
10.04.2023PROJEKT 3.2 |
4
Analyze and design a reactive system with hardware control Implementation of hardware elevator logic Implementation of GUI and simulated
elevator
TASK
10.04.2023PROJEKT 3.2 |
5
Netbeans IDE Maven 3 Visual Paradigm Java 6 JUnit 4 IOWarrior
TECHNOLOGY
10.04.2023PROJEKT 3.2 |
6
DESIGN & ARCHITECTURE
3 layered Architecture
GUI
Logic• Data model• State machines• Strategies
Hardware• API• Connection
10.04.2023PROJEKT 3.2 |
7
Provide functions to logic and GUI Decoupled from logic and GUI Interfaces
ObserverAlarm, Call, Door, FloorSensor, Obstruction, Request, Urgency
Abstract ObjectsElevator, Floor
Elevator Factory
HARDWARE
API
10.04.2023PROJEKT 3.2 |
8
Decoupled from IOWarrior Own interfaces for
Bit BitListener BitFactory
BitAdapter
HARDWARE
CONNECTION TO IOWARRIOR
10.04.2023PROJEKT 3.2 |
9
HARDWARE
CONNECTION TO IOWARRIOR
10.04.2023PROJEKT 3.2 |
10
HARDWARE
HARDWARE ELEVATOR
An abstract elevator implementation Using a factory to instantiate Using BitFactory Using observers Providing observable functions Stupid behavior
Bit setting Notifying observers
10.04.2023PROJEKT 3.2 |
11
Same as hardware elevator No bit setting Setting internal flags Notifying observers
HARDWARE
SIMULATED ELEVATOR
10.04.2023PROJEKT 3.2 |
12
Contains business logic Controlling elevator movement Opening and closing doors Establishing connection to hardware or simulated
elevators Sub-components
Data model State machines for elevator cages and doors Strategies
Using Observer Pattern to inform the GUI
LOGIC
10.04.2023PROJEKT 3.2 |
13
LOGIC
DOMAIN
10.04.2023PROJEKT 3.2 |
14
Handles data for each floor Requests (boolean) Calls (Enum Direction)
Elevator model CallModel RequestModel
LOGIC
DATA MODEL
10.04.2023PROJEKT 3.2 |
15
Door Open Opening Closing Close Obstructed
LOGIC
STATE MACHINES
10.04.2023PROJEKT 3.2 |
16
LOGIC
STATE MACHINES
10.04.2023PROJEKT 3.2 |
17
Cage Idle Preparing driving up Preparing driving down Driving up Driving down stopping
LOGIC
STATE MACHINES
10.04.2023PROJEKT 3.2 |
18
LOGIC
STATE MACHINES
10.04.2023PROJEKT 3.2 |
19
Full Pater Noster Skipping Pater Noster Eager Cage Shortest travel time
LOGIC
STRATEGIES
10.04.2023PROJEKT 3.2 |
20
Use of swing and awt Components All interactions are realized
with listeners
GUI
10.04.2023PROJEKT 3.2 |
21
GUI
CONFIGURATIONPANEL
- Add Elevators- Hardware - Simulated- remove
- Configuration- Shaft group- Start floor- End floor
- Start
10.04.2023PROJEKT 3.2 |
22
GUI
10.04.2023PROJEKT 3.2 |
23
GUI
LOGGER
Logging every event from the logical layer- debug
10.04.2023PROJEKT 3.2 |
24
Decoupled 3 layered architecture Independent hardware layer Independent logic layer Visualized elevators in GUI
Synchronized hardware elevator with the GUI
Common group meetings
CONCLUSION
10.04.2023PROJEKT 3.2 |
25
Networking More strategies Editable elevators and shaft groups
during runtime Multithreading GUI
FORESIGHT
10.04.2023PROJEKT 3.2 |
26
Thank you for your attention