Improvement of the Modeling Airport Assignment Gate System Using Self-Adaptive Methodology Masoud Arabfard
∗
Mohamad Mehdi Morovati
Kashan University of Medical Sciences, kashan, Iran
University of Kashan, Kashan, Iran
[email protected]
Department of Computer Engineering
[email protected]
Masoud Karimian Ravandi Science and Research Branch , Islamic Azad University , Yazd , Iran Departemant Of Computer
[email protected]
Abstract: Nowadays, the influence of software on most of the fields such as industry, sciences, economy, etc is understood significantly. Success of software systems depends on its requirements coverage. Requirement Engineering explains that the system can do what work in what circumstances. Successful Requirement Engineering depends on exact knowledge of users, customers and beneficiaries’ requirements. Airport Assignment Gate System is a System Software which performs the Gate Assignment Management to aircrafts automatically. This system is used in order to reduce delays in airline system as well as reducing the delay time for planes which are waiting for landing or flying. In this paper, the Self-Adaptive Methodology has been used for modeling this system and with regard to this issue that this system should show different behavior in different conditions. Self-Adaptive System is a system which is able to change itself at the time of responding to the changing needs, system and environment. Using this Methodology, this paper attempts to support the uncertainty and accountability to the needs created in the runtime more than ever.
Keywords: Self-adaptive Software; Run-time Requirements Engineering; KAoS; Uncertainly Management; Goal Oriented; Airport Assignment Gate System.
1
Introduction
Nowadays, the software has been influenced most of the fields such as industry, sciences, economy, etc significantly. Success of software systems depends on its requirements coverage. Requirement Engineering explains that the system can do what work in what circumstances. Successful Requirement Engineering depends on exact knowledge of users, customers and beneficiaries’ requirements. Understanding the concept of system can be used anywhere in software development such as modeling, analysis, negotiation and documentation of beneficiaries’ requirements, evaluating the documents provided of requirements, and ∗ Corresponding
Author, T: (+98) 913 2649405
95
management of requirements evolution [1]. In this paper, a kind of Requirement Engineering named the Requirement Engineering based on the goal has been used. In the Goal-based Requirement Engineering, the main focus is on the goals of system. In fact, the goal is used in this technology for extracting the requirements, evaluation, structure, documentation, analysis, and system evolution. According to this viewpoint, the goal is an instructional explanation of the system concept and the system should achieve it by participating with the agents. The Agent is an active component of system and has a particular role in the system. In the other words, the agent is responsible for satisfying the needs. On the other hand, the agents in each system show the range of system. Therefore, the goal of
CICIS’12, IASBS, Zanjan, Iran, May 29-31, 2012
system should be shared as the phenomena among the agents in order that the agents satisfy them by doing their own tasks[2].We require a language of Requirement Engineering Modeling in order to accomplish the Requirement Engineering. In this Paper, we have used the KAoS language for modeling the requirements. The reason for using the KAoS is the superiority of this technology compared to other languages. The cause for this superiority is the definition of system concept as the hierarchy of objectives and using the concept ”Agent” [3]. Moreover, this technology was introduced in [4] with fully object-oriented agents and this caused that it was used more than before.
feedback circle in order to adapt itself with changes occurred in the runtime (Figure 1). These changes may have arisen from the system itself (Internal factors) or the concept of system (External factors). Thus, these kinds of systems required to scan themselves, detect the changes, decide to react against the change, and finally implement the decided action[6].
3
Airport Assignment Gate System
Gates are the final ports for passengers’ entry and exit at the airport. Airport Assignment Gate is the process of selecting and assigning the aircraft to the Gate, which is used for exact and scheduled assignment and is considered as one of the important tasks at an airport. This assignment is connected with a set of arrived and moved flights, the Gates, which are ready to be assigned, and a set of constraints, which are imposed by the airlines and airport. Thus, the Assignment Process may be different due to various circumstances. In order to create an efficient assignment, the assignment process must be able to cope with the sudden changes in the operating environment and provide a timely soluFigure 1: Self-Adaptive System Feed Back Loop tion for satisfying the proactive needs. Therefore, the Gate Assignment should be quite clear and explicit and has the ability to cope with the changes [7].By increasing the number of passengers and flight, the complexity of this process will be increased significantly and the 2 Self-Adaptive System optimal use of gates will be so important. Furthermore, as mentioned, due to the sudden changes, which may Self-Adaptive System is a kind of system which is able be occurred, the system should apply the optimal and to change itself in the runtime in respond to changing efficient assignment according to the new conditions needs, system and environment. These kinds of sys- and caused requirements. tems depend on a variety of aspects like user needs, features of system, features of environment, etc. The main feature of these systems is that it reduces partly Goal and Agent in Assignment the dependence on human management. In fact, the 4 Self-Adaptive Software assesses its own behavior and Gate System changes it if it becomes clear in the assessments that the system has not done the task, which is assigned to it, completely and not achieved the desired objec- System Goal is the system final aim which should tive, or the work can be done with greater efficiency achieve it. Goal can be connected with the life of sysand effectiveness [5].Before creation of Self-Adaptive tem or its scenario. Goal can be displayed as several Software, the reimplementation and reconfiguration quantities each of which is connected with different feaprocess of system, which was a time consuming and tures. In addition, this goal can be divided into several costly act, was done by human or his direct manage- sub goals each of which are associated with a feature. ment in order to respond the occurred changes. There- A Behavioral goal defines a maximum set of system fore, the research on software, which can automatically permissible behaviors. This kind of goal is divided into and without human interference adapt itself with the two groups including the Achieve Goal and Maintain occurred changes in the runtime, became important. Goal. Achieve goal is an objective which indicates the Self-Adaptive Software was developed as a system with ultimate destination of system and demonstrates the
96
The Third International Conference on Contemporary Issues in Computer and Information Sciences
behavior which finally should be existed in the system. The norm goal prioritizes among the alternative behaviors of system and determines that which alternative has much profits and advantages. In the other words, it is not necessary to have all of them implemented continuously in the system. This type of goal is usually considered as a criterion for selecting the options in the system. However, we cannot show whether the target goal can be satisfied with these conditions or dissatisfied with other conditions. In fact, unlike the behavioral goal, there is no clear understanding in this type of goal [8].An Agent is an active member of a system which plays a role in satisfying the goal. What is considered in the Agent Model is not the special features of agent and its features, but is the role of agent in satisfying the goal [9]. From a functional standpoint, an agent is a processor which performs a specific function under the transparent and clear conditions for satisfying the desired goals. These conditions depend on the certificates and tasks which are defined for each operator in the operator model. In order to analyze the responsibilities and guiding them to the permissions and tasks, we require dividing the multiple-agent responsibilities into the single-agent ones for the low level goals, so that each goal card is assigned to a software agent for the requirements and/or an environmental agent for the expectations. In order to assign a goal to an agent, the ability of that agent should be considered. These abilities, as the features of classes corresponding to the agent, are defined in the object model.
Figure 3: Goal Diagram of System
5
System Model Simulation
Figure 2 represents the Use Case chart of Airport System. KAoS charts are drawn using this chart and based on it. The players of this chart are in fact the agents of goal and responsibility model. Moreover, the cases of this chart help us in determining the existing methods in the object model and the operators of operator model. The goal chart of Airport Assignment Gate System is presented in Figure 3. This chart is designed based on the goal-based methodology. The numbers shown in figures 3 and 4 are described as follows. 1. Gate Is Requested 2. Achieve[Getting information If Pilot was requested] 3. Achieve[Checking, Assigning emergency flight If Information was given] 4. Achieve[Checking capacity, airline, area and making a decision If emergency was not true] 5. Achieve[Update1 database] 6. Achieve[Inform To pilot] 7. Achieve[Inform pilot to allocator for leaving gate] 8. Achieve[Assigning gate if flight was emergency] 9. Achieve[Assigning gate that is appropriate to other constraint if flight was not emergency]
Figure 2: Usecase Diagram of Assignement Gate System
97
10. Achieve[Update2 DataBase]
CICIS’12, IASBS, Zanjan, Iran, May 29-31, 2012
After extracting the system goal chart, the agent chart is extracted from the goal chart. Figure 4 shows the system agent chart. Then, the object model is extracted using the Use Case chart. Figure 5 represents this chart. Finally, the performance of system is displayed by developing the operator chart. This chart is obtained by connecting the extracted charts at the previous stages. Figure 6 shows the operator chart. The numbers shown in Figure 6 are described a follows. A. RequestGate B. AddInfo Figure 5: Object Diagram of System
C. GetInfo D. CheckEmergent E. AssignGateToEmergencyFlight F. CheckOtherConstraint G. AssignGateToOtherFlight H. AddQueue
6
Related Works
I. Update1Databese J. InformedPilot K. LeaveGate L. FindEmergencyWaitingFlight M. AssignToEmergencyWaitingFlight N. FindAppropriateFlight O. AssignAppropriateFlight P. Update2Database
In the runtime, the Requirement Engineering is considered as a subset of self-adaptive software engineering science which only has been studied seriously in recent years. [10] is one of the works which can solve the problem of Airport Assignment Gate System. In the method presented in [10] the ability of functions based on the past knowledge and experiences for the manual operation is used for solving this problem, but the algorithms used in this method had more analyzing and computing power than before. The major problem of this method was the manual section of operation. Furthermore, in order to optimize the Gate Assignment in [11], it has been focused on minimizing the distance passed by passenger between the terminal and gate assigned to the aircraft. Despite the fact that this subject is considered as a second-rate problem among the problems of gate assignment, generally solving this problem will affect the optimum gate assignment. Moreover, in order to solve the assignment problem in [12], the probable flight delay has been focused. In this method of problem solving, the probable gate assignment model and proactive assignment rules have been used.Since that this system should be changed according to various conditions, which may be occurred in the operational environment, and adapt itself with new circumstances, none of the existing systems have focused on much supporting of the uncertainty in designing this system. This aim has been achieved in the method presented in this paper using the self-adaptive methodology and the modeling language of KAoS requirements.
Figure 4: Agent Diagram
98
The Third International Conference on Contemporary Issues in Computer and Information Sciences
Figure 6: Operator Diagram of System
7
Conclusions and Future Work
This paper attempted to support the uncertainty more in designing and implementing the Airport Assignment Gate System by using the Self-Adaptive Methodology, and a system, which was much independent and had the most optimized performance, was designed. According to the charts presented for designing this system, it became obvious that this system adapts itself with different conditions and performs the best possible performance in any circumstances. Recently, a new technology named ”Techne” has been developed for modeling the requirements of Self-Adaptive Software Systems and the main focus in this technology is on the more Management of uncertainty in the Self-Adaptive Software [13]. Due to the shortcomings in this technology such as the lack of development environment of charts, etc it cannot be considered as a formally introduced technology yet. But, according to the research conducting in this field, this technology can be considered as a turning point in the Requirement Engineering and designing the Self-Adaptive Software Systems.
[3] A. Uszok, J.M. Bradshaw, and R. Jeffers, KAoS: A policy and domain services framework for grid computing and semantic web services, Trust Management (2004), 16-26. [4] J.M. Bradshaw, S. Dutfield, P. Benoit, and J.D. Woolley, KAoS: Toward an industrial-strength open agent architecture, Software Agents (1997), 375-418. [5] M. Salehie and L. Tahvildari, Self-adaptive software: Landscape and research challenges, ACM Transactions on Autonomous and Adaptive Systems (TAAS) 4 (2009), no. 2, 14. [6] B. Cheng, R. de Lemos, H. Giese, P. Inverardi, J. Magee, J. Andersson, B. Becker, N. Bencomo, Y. Brun, and B. Cukic, Software engineering for self-adaptive systems: A research roadmap, Software Engineering for Self-Adaptive Systems, LNCS (2009), 1-26. [7] H. Ding, A. Lim, B. Rodrigues, and Y. Zhu, The overconstrained airport gate assignment problem, Computers and operations research 32 (2005), no. 7, 1867-1880. [8] A. Dardenne, A. Van Lamsweerde, and S. Fickas, Goaldirected requirements acquisition, Science of computer programming 20 (1993), no. 1-2, 3-50. [9] P. Donzelli, A goal-driven and agent-based requirements engineering framework, Requirements Engineering 9 (2004), no. 1, 16-39. [10] Y. Cheng, A knowledge-based airport gate assignment system integrated with mathematical programming, Computers and industrial engineering 32 (1997), no. 4, 837-852. [11] A. Haghani and M.C. Chen, Optimizing gate assignments at airport terminals, Transportation Research Part A: Policy and Practice 32 (1998), no. 6, 437-454.
Refrences [1] M. Jackson, The meaning of requirements, Annals of Software Engineering 3 (2010), no. 1, 5-21. [2] A. Van Lamsweerde, Requirements engineering: from system goals to UML models to software specifications, Vol. 3, Wiley, 2009.
99
[12] S. Yan and C.H. Tang, A heuristic approach for airport gate assignments for stochastic flight delays, European journal of operational research 180 (2007), no. 2, 547-567. [13] I.J. Jureta, A. Borgida, N.A. Ernst, and J. Mylopoulos, Techne: Towards a new generation of requirements modeling languages with goals, preferences, and inconsistency handling, IEEE (2010), 115-124.