Hiyerarşik durum makinesi tasarım kalıbı ve durum tasarım kalıbı üzerine karşılaştırmalı bir çalışma
2015
0 views
0 downloads
Advisor: Yrd. Doç. Dr. Ahmet Cüneyd Tantuğ
Abstract (EN)
State machines are an indispensable element of our lives. People interact with these state machines in order to purchase products from vending machines, to enter a metro station through a turnstile, and so on. Large numbers of problems can be modeled by the help of FSMs. Communication protocol design, electronic design automation, language processing and other engineering applications are among these problems. FSMs are also important for implementing application behavior. FSM is a very compact way to represent a set of complex rules and conditions. FSMs define simple rules to manage complex behavior of the software. There are many techniques for FSM implementation. If the literature is reviewed, three implementation techniques draw attention; switch statement method, table method, and OO SP. In addition, another technique of implementing a FSM is HSM pattern. HSM pattern is different from other methods because it implements HSMs. All of these techniques have their own advantages and drawbacks. In this thesis study, we focused on SP and HSM pattern. The effects of applying these design concepts on software quality are investigated. SP is OO which is introduced by GoF, however HSM pattern is not. At first glance, OO solution may seem to be more effective than HSM pattern, however without a mathematically grounded comparison, it is open to doubt. In order to investigate the effect of these two design patterns on software quality in a sane way, a module of interlocking software simulator, which is responsible for route allocation for railway traffic management system, is picked up. Same module is designed and implemented three times with the same functionality. Two versions of the module is implemented using HSM pattern with and without inheritance. These implementations are named as Type-1(without inheritance), Type-2(with inheritance). Third version of the software is designed and implemented with SP and named as Type-3. In SP implementation, inheritance is used as long as it makes sense. In this study, we aim to compare SP and HSM pattern from the viewpoint of developers. Additionally, we also study the effect of inheritance in HSM pattern. Software has many characteristics defining software quality. ISO/IEC-25010:2011 standard is reviewed in order to find quality characteristic, which is most important concern of software developers. We found that maintainability, which is a software quality characteristic in the standard, is most related to software design. The next step of the study is to find a way for measuring maintainability of three implementations. Previous studies are reviewed and some metrics are found. These metrics are WMC, DIT, NOCS, CBO, LCOM, RFC, which are introduced by Chidamber and Kemerer, and NMA, NMO, NIM, SIX, which are introduced by Lorenz and Kidd. These metrics are well known for measuring the design of the software; however, they are only applicable to OO software designs. SP implementation can be measured with these CK and LK metrics; however, HSM pattern implementations of interlocking simulator cannot be measured because HSM pattern is not OO. Despite the fact that SP and HSM pattern belong to different software paradigms, they share a common property; both of them implement state machines. Starting from this point of view, new metric suit proposed for these patterns. New metrics are originated from CK and LK metrics. Proposed metrics are NHE, DSIT, NOCS, NEA, NEO CEH, CEnH, and CExH. NHE, CEH, CEnH, and CExH are complexity related metrics. DSIT and NOCS measure inheritance. NEA and NEO correspond to NMA and NMO in LK metrics respectively. Three versions of the interlocking software are measured with these state-oriented metrics. Comparisons are made as pairs; Type-1/Type-2 and Type-2/Type-3. First comparison showed that using inheritance effectively in HSM pattern increases software quality in terms of maintenance. Second comparison showed that SP version of interlocking simulator become more complex than HSM pattern version, thus increasing the effort required to maintain the software. Comparison results of the different designs applied to the interlocking software simulator, which is summarized above, discussed, and published in the related conference and publications.
Author
Dr. Özdemir Kavak
Institution
How to Cite
Özdemir Kavak (Master Thesis). Hiyerarşik durum makinesi tasarım kalıbı ve durum tasarım kalıbı üzerine karşılaştırmalı bir çalışma, 2015, Istanbul Technical University.
Keywords
License
Tüm Hakları Saklıdır
This work is shared under the specified license terms.
More theses from Istanbul Technical University
- Investigation Of Stretching Effect With Mixed Finite Element Formulations For Laminated Beams And Plates(2023)
- Classification of anemia using data mining methods: An application(2015)
- Removal and recovery of platinum group metals through anode slimes of moebius electrolysis(2015)
- A study of design approaches to Istanbul's city halls based on space syntax theory(2015)
- A II. German Empire project: From Kaiser Wilhelm Monument to German fountain(2015)
- Uzaktan algılama verilerinin yersel ölçümlerle entegrasyonu ile toprak tuzluluk haritalaması; Aşağı Seyhan Ovası, Adana, Türkiye(2015)
