The Labs begin (малко да се жалвам)
Започват ми лабораториите и екпериментите. Направо не ми се мисли този семестър. Предния нямаше нищо задължително, но този ме чакат около 20 експеримента, на които задължително трябва да присъствам, да се подготвя, и да се справя с тях. И две от дисциплините са си на немски, което допълнително ме стресира. Досега на английски ги закърпвах нещата, ама сега.... голяма каша ще е. А и на работа не знам докога ще се задържа и не ми е ясно, дали изобщо ще имам възможност да присъствам, или ще трябва да прекъсна нещата по средата. Сега си работя от 16:00 до 20:00 и това ми позволява да ходя и на лекции, ама не знам докога ще имат нужда от мен, защото има 2ма души, дето са си взели отпуска за момента и се очаква да се завърнат. И ако ще махат някой, то това може би ще съм аз. Дано не стане така, но да видим.
А, иначе, лабораториите са ми по Fundamentals of Software Engineering 1(на немски), Microwave and RF Technology (на английски) и Logical Design of Digital Systems (пак на немски).
Сега си прегледах задачата по Software Engineering, която ще е за този семестър и определено ми се струва интересна. Но, да ти е интересно нещо и да се справиш с него са две отделни неща. Доколкото разбирам, ще трябва и да се програмира на Visual C, а аз нямам почти никаква представа от програмиране, освен от Fundamentals of Computer Engineering 2, което карахме миналия семестър. Но там нещата бяха много бегло нахвърляни и даваха примери с JAVA. А на Основи на Програмирането, където е имало и С не можах да присъствам миналия семестър, пак заради работата...
Абе, голяма каша, но ми се прищя да ви се жалвам малко, пък дано си наредя и аз мислите в главата и си структурирам някакъв план на действие. И тъй като знам, че тук има доста хора, които се занимават с програмиране, ще пусна семестриалната задача, в общия и вариант, ако някой се интересува да види за какво иде реч. (само че ще дам версията на английски) :)
Пък си запазвам правото, ако имам трудности, да се обърна занапред и за малко помощ от вас, в случай, че можете да дадете съвет за нещо, или да помогнете.
Ето я и задачата (Software Engineering), която ще решаваме на части в експериментите:
Recommended Websites for learning ADA:
http://www.adahome.com/Tutorials/Lovelace/lovelace.htm
A very good ADA tutorial with lots of examples. At the end of each section there are comprehension questions to see if one has understood what was taught in each section.
А, иначе, лабораториите са ми по Fundamentals of Software Engineering 1(на немски), Microwave and RF Technology (на английски) и Logical Design of Digital Systems (пак на немски).
Сега си прегледах задачата по Software Engineering, която ще е за този семестър и определено ми се струва интересна. Но, да ти е интересно нещо и да се справиш с него са две отделни неща. Доколкото разбирам, ще трябва и да се програмира на Visual C, а аз нямам почти никаква представа от програмиране, освен от Fundamentals of Computer Engineering 2, което карахме миналия семестър. Но там нещата бяха много бегло нахвърляни и даваха примери с JAVA. А на Основи на Програмирането, където е имало и С не можах да присъствам миналия семестър, пак заради работата...
Абе, голяма каша, но ми се прищя да ви се жалвам малко, пък дано си наредя и аз мислите в главата и си структурирам някакъв план на действие. И тъй като знам, че тук има доста хора, които се занимават с програмиране, ще пусна семестриалната задача, в общия и вариант, ако някой се интересува да види за какво иде реч. (само че ще дам версията на английски) :)
Пък си запазвам правото, ако имам трудности, да се обърна занапред и за малко помощ от вас, в случай, че можете да дадете съвет за нещо, или да помогнете.
Ето я и задачата (Software Engineering), която ще решаваме на части в експериментите:
Prof. Dr.-Ing. A. Hunger
Practical Training
Software Engineering
Summer Semester 2006
Documentation on Practical Training in Software Engineering
Contents
1. Task
2. Expected Intermediate Results
3. Bibliography
1. Task
Development and Implementation of an Elevator System
1.1 Task Description
The task comprises the specification, design and implementation of an elevator system for a high-rise building. Three elevators are to carry passengers between ten floors. The software must process all user requests, carry out certain controls in individual elevators and finally issue all commands to the drive motors located in the individual shafts. Furthermore, a facility for visual control of the system during operation must be developed. For this purpose, it is necessary to find an appropriate means of visual simulation and presentation of the system in operation.
The control system will chiefly be responsible for the efficient planning and co-ordination of the elevators' jobs. For instance, should someone press the down button on the fourth floor, the first elevator to reach the fourth floor on its current downward journey would have to stop.
The same call could also be answered by taking an inactive elevator into operation or one that had completed its last journey by reaching its final destination.
Should an elevator have neither passengers aboard nor a job to complete, it must be parked in a pre-determined idling position. When in use, an elevator must only be capable of changing its direction of travel once all passengers have reached their chosen destination in this particular direction. The activated destination buttons (in the elevators) and call buttons (on the floors) must therefore form the basis of system control. So if a passenger boards an empty elevator on the ground floor (floor number 1) and enters the 4th, 9th and 10th floors as destinations, the elevator must stop on all three floors even if the passenger gets out on the 4th floor and no one takes his place.
Every elevator must be equipped with a safety weighing mechanism to detect loads exceeding 350 kg (five persons), sound a warning alarm and inhibit further movement of the elevator until the excess weight has been removed.
Practical Training
Software Engineering
Summer Semester 2006
Documentation on Practical Training in Software Engineering
Contents
1. Task
2. Expected Intermediate Results
3. Bibliography
1. Task
Development and Implementation of an Elevator System
1.1 Task Description
The task comprises the specification, design and implementation of an elevator system for a high-rise building. Three elevators are to carry passengers between ten floors. The software must process all user requests, carry out certain controls in individual elevators and finally issue all commands to the drive motors located in the individual shafts. Furthermore, a facility for visual control of the system during operation must be developed. For this purpose, it is necessary to find an appropriate means of visual simulation and presentation of the system in operation.
The control system will chiefly be responsible for the efficient planning and co-ordination of the elevators' jobs. For instance, should someone press the down button on the fourth floor, the first elevator to reach the fourth floor on its current downward journey would have to stop.
The same call could also be answered by taking an inactive elevator into operation or one that had completed its last journey by reaching its final destination.
Should an elevator have neither passengers aboard nor a job to complete, it must be parked in a pre-determined idling position. When in use, an elevator must only be capable of changing its direction of travel once all passengers have reached their chosen destination in this particular direction. The activated destination buttons (in the elevators) and call buttons (on the floors) must therefore form the basis of system control. So if a passenger boards an empty elevator on the ground floor (floor number 1) and enters the 4th, 9th and 10th floors as destinations, the elevator must stop on all three floors even if the passenger gets out on the 4th floor and no one takes his place.
Every elevator must be equipped with a safety weighing mechanism to detect loads exceeding 350 kg (five persons), sound a warning alarm and inhibit further movement of the elevator until the excess weight has been removed.
The functions of the several control elements are described in more detail below.
Destination Buttons. Every elevator must have a row of destination buttons that must illuminate in confirmation when pressed. As soon as a destination has been reached, the door must open to let passengers out. Following that, the door must close again and the destination button of the floor in question must go out.
Location Displays. Illuminated location displays installed both in the elevators themselves as well as above the elevator doors on each floor must indicate where the elevators are. The respective displays in the elevator must go out again when an elevator leaves the floor.
Call Buttons. Two call buttons are installed on each floor, ("up" and "down"). The ground and 10th floors only need one button each ("up" and "down", respectively). While it must be possible to call an elevator from each floor by pressing a call button, it will not be possible to choose any specific one of the three elevators. It will much rather be the task of the control program to decide which elevator will be instructed to answer the transportation call. When pressed, call buttons must illuminate in confirmation. This illumination must remain active until an elevator has reached the floor the call came from.
When not in use, the individual elevators must either be parked on the ground, the 5th or the 10th floors. Once an elevator has completed all its jobs, it must travel to the nearest available parking position, whereby each idling position may only be occupied by one elevator.
Apart from these job-planning tasks, the control program must take consideration of several special conditions: the elevators must defer the completion of all job instructions issued by the control system while the doors are open. The elevator cars must each be equipped with a "Door Open" button with which passengers can actively override the closing mechanism and keep the door open for longer than normal. Furthermore, the elevators must ignore stop signals when they are less than 20 cm from reaching the floor. "Alarm" buttons in all three elevators must enable passengers to stop the elevators
Destination Buttons. Every elevator must have a row of destination buttons that must illuminate in confirmation when pressed. As soon as a destination has been reached, the door must open to let passengers out. Following that, the door must close again and the destination button of the floor in question must go out.
Location Displays. Illuminated location displays installed both in the elevators themselves as well as above the elevator doors on each floor must indicate where the elevators are. The respective displays in the elevator must go out again when an elevator leaves the floor.
Call Buttons. Two call buttons are installed on each floor, ("up" and "down"). The ground and 10th floors only need one button each ("up" and "down", respectively). While it must be possible to call an elevator from each floor by pressing a call button, it will not be possible to choose any specific one of the three elevators. It will much rather be the task of the control program to decide which elevator will be instructed to answer the transportation call. When pressed, call buttons must illuminate in confirmation. This illumination must remain active until an elevator has reached the floor the call came from.
When not in use, the individual elevators must either be parked on the ground, the 5th or the 10th floors. Once an elevator has completed all its jobs, it must travel to the nearest available parking position, whereby each idling position may only be occupied by one elevator.
Apart from these job-planning tasks, the control program must take consideration of several special conditions: the elevators must defer the completion of all job instructions issued by the control system while the doors are open. The elevator cars must each be equipped with a "Door Open" button with which passengers can actively override the closing mechanism and keep the door open for longer than normal. Furthermore, the elevators must ignore stop signals when they are less than 20 cm from reaching the floor. "Alarm" buttons in all three elevators must enable passengers to stop the elevators
and open the doors on the next floor, irrespective of control-system instructions. Pressing the "Alarm" button must also produce an acoustic signal. The list of all queued transport orders for this elevator has to be deleted.
An assumed speed of 4 m/s will form the basis of determining the location of the elevators. Opening and closing the doors must each take 3 seconds; the doors must stay open for at least 10 seconds. The floors are all 3.5 m apart. (Acceleration and deceleration will not be taken into consideration.)
During implementation, all buttons must be reproduced by suitable keyboard programming. The status of the entire system must be produced as a visual screen display, whereby any changes to system status must be indicated as quickly as possible.
An assumed speed of 4 m/s will form the basis of determining the location of the elevators. Opening and closing the doors must each take 3 seconds; the doors must stay open for at least 10 seconds. The floors are all 3.5 m apart. (Acceleration and deceleration will not be taken into consideration.)
During implementation, all buttons must be reproduced by suitable keyboard programming. The status of the entire system must be produced as a visual screen display, whereby any changes to system status must be indicated as quickly as possible.
1.2 Task Components
The just described task has to be solved by dividing in partial task.
1.2.1 Requirement Specification
The supplier of a software has to make a requirement specification in order to receive a development order. In the requirement specification it is precisely described the extend of the service and the responsibilities.
1.2.2 Design Method
Subject of this practical lessons is the design method of ‘Ward & Mellor’. Basis for the designing system is the context diagram which has to improve by the following steps using Top-down-design.
Essential Model
The Essential Model is the minimal and complete description of the functional system which is regardless of whether the implementation. It consist of Environment model and Behavioral model.
1.2.2.1 Environment Model
• Context Diagram
• Event, Control, and Data table
• Data dictionary
• Information model
1.2.2.2 Behavioral Model
• Transformation Diagram
• State-Transition Diagram
• Extended Control, Event, and Data table
1.2.3 Implementation Model
The Implementation model is the expansion of the Essential model to the particular and technological conditions. It subdivides in the following parts.
Processor Model
The just described task has to be solved by dividing in partial task.
1.2.1 Requirement Specification
The supplier of a software has to make a requirement specification in order to receive a development order. In the requirement specification it is precisely described the extend of the service and the responsibilities.
1.2.2 Design Method
Subject of this practical lessons is the design method of ‘Ward & Mellor’. Basis for the designing system is the context diagram which has to improve by the following steps using Top-down-design.
Essential Model
The Essential Model is the minimal and complete description of the functional system which is regardless of whether the implementation. It consist of Environment model and Behavioral model.
1.2.2.1 Environment Model
• Context Diagram
• Event, Control, and Data table
• Data dictionary
• Information model
1.2.2.2 Behavioral Model
• Transformation Diagram
• State-Transition Diagram
• Extended Control, Event, and Data table
1.2.3 Implementation Model
The Implementation model is the expansion of the Essential model to the particular and technological conditions. It subdivides in the following parts.
Processor Model
This model contains the division of the Environment model. The processes and data transformations are divided up to the available processors.
Task Model
This model describes the partition of the several tasks of each processor and defines the interfaces.
Module Model
This model depicts the several modules and their relations between each other. The information flows within the procedures get transparent.
1.2.4 Specification and Production Sheet
A detail list of all components is demanded which are necessary for the implementation. This covers all data formats, functions, and modules. The several modules have to mark off and their responsibilities have to be defined. A schedule has to be set up for the implementation.
1.2.5 Executable Program
By means of the method of ‘Ward & Mellor’ the developed program has to be implemented using ADA Programming Language.
The prerequisite for passing the practical lessons is the independently designed and executable program.
Task Model
This model describes the partition of the several tasks of each processor and defines the interfaces.
Module Model
This model depicts the several modules and their relations between each other. The information flows within the procedures get transparent.
1.2.4 Specification and Production Sheet
A detail list of all components is demanded which are necessary for the implementation. This covers all data formats, functions, and modules. The several modules have to mark off and their responsibilities have to be defined. A schedule has to be set up for the implementation.
1.2.5 Executable Program
By means of the method of ‘Ward & Mellor’ the developed program has to be implemented using ADA Programming Language.
The prerequisite for passing the practical lessons is the independently designed and executable program.
2. Intermediate Results and Attendance Sheet
Name: .........................................................................................................................
First Name: ...............................................................................................................
Matrikel Nr. (Register No.): ....................................................................................
Datum
No.
Contents
Intermediate Result
Attendance Certificate
accept
24.04.2006
1
Problem definition, requirement specification (Erstellung des Pflichtenheftes)
Having printed/copied, read and understood the task
------
8.05.2006
2
Design of the Software as a System
Requirement specifications
15.05.2006
3
Design (Environmental Model)
Context diagram data dictionary
22.05.2006
4
Design (Behavioral Model)
Transformation diagrams
29.05.2006
5
Draft of implementation model
Behavioral model
12.06.2006
6
Specification of data formats, functions and modules. Distribution of tasks within the groups
Implementation model
19.06.2006
7
Implementation of partial tasks
Specifications and production sheet
26.06.2006
8
Implementation of partial tasks
Compiled moduls
3.07.2006
9
Integration, testing and documentation
10.07.2006
10
Integration, testing and documentation
Executable program incl. documentation, demonstration
Name: .........................................................................................................................
First Name: ...............................................................................................................
Matrikel Nr. (Register No.): ....................................................................................
Datum
No.
Contents
Intermediate Result
Attendance Certificate
accept
24.04.2006
1
Problem definition, requirement specification (Erstellung des Pflichtenheftes)
Having printed/copied, read and understood the task
------
8.05.2006
2
Design of the Software as a System
Requirement specifications
15.05.2006
3
Design (Environmental Model)
Context diagram data dictionary
22.05.2006
4
Design (Behavioral Model)
Transformation diagrams
29.05.2006
5
Draft of implementation model
Behavioral model
12.06.2006
6
Specification of data formats, functions and modules. Distribution of tasks within the groups
Implementation model
19.06.2006
7
Implementation of partial tasks
Specifications and production sheet
26.06.2006
8
Implementation of partial tasks
Compiled moduls
3.07.2006
9
Integration, testing and documentation
10.07.2006
10
Integration, testing and documentation
Executable program incl. documentation, demonstration
Recommended Websites for learning ADA:
http://www.adahome.com/Tutorials/Lovelace/lovelace.htm
A very good ADA tutorial with lots of examples. At the end of each section there are comprehension questions to see if one has understood what was taught in each section.
Възхищава ме подходът ти да се изправиш челно срещу проблема и така да го пребориш.
Желая ти късмет за работата, а в лошия сценарий - все ще има друг вариант, макар и не веднага.
Успех!
А, иначе, съм много мотивиран в момента. И някак знам, че ще се справя с нещата. Такова усещане имам и гледам така да се настройвам, за да ми е по-спокойно. Искам и да завърша по-бързо, че сега след 2 семестъра семестриалните такси скачат с по 500 евро за всички (не само за новодошли) и ще стане много трудно.
А, иначе лабораториите започнаха днес и първата мина добре. Даже ми беше много интересно. Проектът започва с направата на нещо като договор между двете страни (тези, които ще правим софтуера за асансьорите и уни-то) Това, разбира се е ала бала, но придава още по-реален вид на задачата. В група съм с един камерунец и една китайка, която намирам за много готина мадама (дано не се разсейвам много :)
Та така. Ако не друго, поне ми е интересно! :)
1 task - Specifications:
Project specifications on the elevator system design and implementation for a high-rise building
Version 1.1
25.04.2006
Presented by:
Group 10
Chelsea, Kinsley and Veselin
Content
1. Introduction
2. The Task
3. Task Analysis
4. Feasibility Study of the Task
5. Specifiction Validity
6. Project Organisation
7. Phase Plan
8. Proejct Supervision
9. Agreements
1. Introduction
Customer: University of Duisburg Essen
Project Contractor: Team Group 10
This project is to design and implement an elevator control system to operate 3 independent individual elevators which will transport passengers and goods within total weight of 350kg to different floors of a 10 floor building as requested.
2. The Task
2.1 Formal task description
The elevator control system has to operate 3 independent individual elevators of a 10 floor building efficiently.
- It has to include the activated destination buttons (in the
elevators) and call buttons (on the floors) as the system
control basis.
- It has to be able to process all user requests, carry out certain controls in individual elevators and finally issue all commands to the drive motors located in the individual shafts.
- It has a facility for visual control of the system during operation.
- It will chiefly be responsible for the efficient planning and coordination of the elevators’ jobs;
--- The nearest elevator answers the call, if it is moving
towards the same direction as the requested direction;
--- Or, the inactive elevator answers the call;
--- Or, the elevator that had completed its journey by
reaching its final destination answers the call.
- It has to perform parking operation to the elevator once the
elevator has neither passengers aboard nor a job to complete.
The initial parking positions for the 3 individual elevators are 1st,
5th, and 10th floor respectively.
- It allows the elevator to change the travelling direction only
when the elevator has accomplished all its current tasks.
- It has to inhibit further movement of the elevator and sound
a warning alarm once the weighing mechanism has detected
loads exceeding 350kg (5 persons) untill the excess weight has
been removed.
It also has to incorporate a visual control to inform the users about the current state of the elevator.
The elevator actions must be controlled by pressing buttons. When not busy, the elevator has to be parked on the ground, 5th or 10th floor.
Every elevator must be equipped with a safety weighing mechanism to detect loads exceeding max load 350kg. (5 persons)
It must have a sound warning alarm.
It must inhibit further movement for weights greater than 350kg, until excess weight is removed.
2.2 Limitations and conditions
2.2.1 Submission Deadline of the project : 17.07.2006
2.2.2 The factors which have to be taken into account when developing the system include:
- Power supply and consumption of the system
- Financial consideration
2.2.3 For the response duration reuired for the system, we have referred to the technical data provided in the task description as
- Travelling speed of the elevator is 4m/s;
- Opening and closing the doors each takes 3 seconds;
- Doors must stay open for at least 10 seconds;
- Floors are all 3.5m apart and,
- we added an extra ‘Door Closing’ button so if this button is been pressed, the door will stay open as y seconds where y is between 2s and 10s.
Thus we evaluated a function that calculates how quickly does the system have to respond to requests:
Total time needed t [s]= (3.5/4)[s] ∙x + 3[s] + y[s]
Where,
x: number of floors needed to travel
y: door closing time variable, 2[s] ≤ y ≥ 10[s]
2.2.4 Considering what parts of the system are already in place and do not need to be developed by the contractor, the following specific details might arise:
- All the civil constructions and mechanical parts eg. all the hardware in the system are supposed to be in working conditions;
- All the electrical circuits design and connections are supposed to be in working conditions.
2.2.5 Involvement of other groups and their tasks are:
- Electrical and mechanical engineers will be responsible for electrical circuits and hardware design.
- Software used to design and implement the elevator system will be provided by the University of Duisburg Essen.
2.3 Specification of the Interfaces
2.3.1 Ways of communication between system and users are:
- All the buttons that allow the users to input commands to the system and produce the alarm sound;
- All the displays that show to users the response status from the system.
2.3.2 Signals which the system have to react include:
- The signals sent by users through all the buttons;
- The signal sent by the weight mechanism which detects whether the elevator is overloaded or not.
2.3.3 Signals which the system have to create include:
- All the display signals that indicates current status of the elevator system;
- Once the weight mechanism detects the overloading in the elevator and sent the signal to the system, the system will create alarm signals eg. Acoustic warning alarm and control movement of the elevator.
3. Task Analysis
3.1 Important anticipated problems
3.1.1 The available hardware is supposed to be able to cope with the task, eg. mechanical and electrical wise.
3.1.2 It is possible that the system is overloaded, eg. power failure or weight exceeding. Thus we need to consider the individual possible cases and back-up system reactions:
- If the elevator has exceeded the max. allowable weight (350kg), the system will send an alarm signal and no further movement of the elevator will be executed until the excess weight has been removed;
- If the system experiences a power failure or in case of fire, it will activate the back-up power system and take the elevator to the nearest floor in the same direction of the current task, if any.
3.2 External influences
3.3.2 Types of physical influences the system have to cope/deal with are:
- Heat allergic;
- High humility or water;
- Electromagnetic radiations, eg. from mobile phones.
- Overloading.
3.3.2 The system operating time has to lie within the given range by the function of respond time t. It is although not immediate as delay of electronic components is taken into account.
3.3.3 The system has to stay permanently online.
3.3.4 The system operation has to be monitored so that in case of accidents users can be easily rescued and in case of system failures it can be immediately detected and repaired.
3.3 Desired situation, behaviour in an event of failure/trouble
3.3.1 Some unforeseeable events might occur and the system is required to react respectively:
- Abbrupt power failure:
-backup power system available to complete present running tasks;
- self initialisation of system incase of power return;
- redlight to serve as a warning for users.
- Fire accendents:
- System shutdown after max temperature detection;
- redlight to serve as a warning for users.
3.3.2 Once the major power supply has been interrupted, the system must use the backup power system as for emergency cases.
3.3.3 The system is allowed to crash but is must reboot in case of crash and will follow the emergency operations.
3.3.4 It is assumed that the designers/developers of the system are able to modify the system. Simple language and symbols (for buttons) will be used so that users can understand.
3.3.5 Errors that the user might make when using the system will be taken into consideration include:
- Pressing the up and down buttons at the same time when calling for an elevator;
- Pressing close and open doors buttons at the same tme.
4. Feasibility Study of the Task
4.1 Organisational/Economical aspects
4.1.1 The availability of our experienced staff and necessary software makes it possible for the task to be accomplished.
4.1.2 The hours needed for the development please refer to the development phase plan.
4.1.3 The number of people needed to complete the task on time is enough.
4.2 Technical aspects
4.2.1 The available hardware is able to accomplish the task.
4.2.2 Since the hardware is enough, it is not necessary to purchase new hardware.
5. Specification Validity
5.1 If questions arised, please contact: Group 10
5.2 Possible changes
- Possible mechanical and electrical hardware changes are entitled and authorised to mechanical and electrical engineer teams.
- Possible task requirements changes are entitled and authorised to clients.
- Possible design/demonstration changes are entitled and authorised to group 10.
6. Project Organisation
All the tasks will follow the phase plan and will be compeleted as teamwork of the group 10.
7. Phase Plan
Results
8. Project Supervision
- Time monitoring: It has to be checked on a weekly basis
- The group has to report to the supervisor incharge
9. Agreements
- Documentation of the development process will be documented in a way that after finishing each required phase milestone [ref. ‘Phase plan’. Pg 13], the particially finished task will be presented by Group 10 to the supervisor untill the task has been fully accomplished.
- Training of users will not be included in developer’s task, but system maintenance service will be provided together by the contractor and developer if within warranty.