AJAX Chat Analysis and Design

Total Page:16

File Type:pdf, Size:1020Kb

AJAX Chat Analysis and Design UCCS CS5260 2012 SPRING AJAX Chat Analysis and Design Rui Zhao Index 1 Preface ....................................................................................................................................... 1 2 Introduction ............................................................................................................................... 2 2.1 Requirements ................................................................................................................ 2 2.1.1 Running Environments ...................................................................................... 2 2.1.2 Developing Environments ................................................................................. 2 2.2 Features ......................................................................................................................... 2 3 Architecture Analysis ................................................................................................................ 3 3.1 Architecture ................................................................................................................... 3 3.1.1 Definition .......................................................................................................... 3 3.1.2 Tables ................................................................................................................ 4 3.1.3 Client ................................................................................................................. 5 3.1.4 Server ................................................................................................................ 8 3.2 Techniques .................................................................................................................. 12 3.2.1 AJAX .............................................................................................................. 12 3.2.2 FLEX ............................................................................................................... 13 3.2.3 FABridge ......................................................................................................... 14 4 New Features .......................................................................................................................... 15 5 Solutions ................................................................................................................................. 16 5.1 Table Design ............................................................................................................... 17 5.1.1 User on-line Table ........................................................................................... 17 5.1.2 Message Table ................................................................................................. 18 5.1.3 Bans Table ....................................................................................................... 18 5.1.4 Invitations Table .............................................................................................. 18 5.2 Client Design............................................................................................................... 19 5.3 Server Design .............................................................................................................. 19 6 Suggestions ............................................................................................................................. 21 7 Reference ................................................................................................................................ 22 AJAX Chat Analysis and Design 1 Preface AJAX Chat is a free and fully customizable open source web chat software implemented in JavaScript, PHP and MySQL. Sound support is implemented using Flash, Socket support using Flash on client-side and Ruby on server-side. [1] AJAX Chat integrates nicely with phpBB, MyBB, PunBB, SMF, vBulletin and other PHP community software. [1] This paper starts with analyzing the chat system, and both server and client will be elaborated in four aspects (table design, infrastructure, collaboration and interface). The following chapters then discuss new features and how to add them to the system. At last, problems are proposed, especially those in design and codes, accompanied with suggestions about how to solve them. 1 AJAX Chat Analysis and Design 2 Introduction 2.1 Requirements 2.1.1 Running Environments 1. Server-Side [1] a) PHP >= 4 b) MySQL >= 4 c) Ruby >= 1.8 (optional) 2. Client-Side [1] a) Enabled JavaScript b) Enabled Cookies c) Flash Plugin >= 9 (optional) 2.1.2 Developing Environments 1. Zend Studio for Java and Php script development on both client and server; 2. FLEX for client flash development; 3. MySQL for server database development; 4. Ruby for server socket development. 2.2 Features Only main functions are listed in Table 2-1. Some of them are copied from AJAX Chat website. [1] Table 2-1 Main Features Main Feature Detail Private messaging - Multiple/Private channels - Ignore/Ban and revoke users - List online/ignored/banned users - Change username - Private channels - Such as BB Code, hyperlinks, line Custom setting breaks. Possibility to delete messages inside the chat - Developed with Security as integral part - Blink window title on new messages - Show each user’s IP - 2 AJAX Chat Analysis and Design 3 Architecture Analysis 3.1 Architecture System architecture will be analyzed in four parts: constant definitions, tables, client design and server design. Focus will be put on table design and infrastructures of client and server. 3.1.1 Definition 3.1.1.1 Role Definition AJAX chat system defined five roles as default, as Table 3-1 shown. Table 3-1 Role Definition Role Definition Chat Bot AJAX_CHAT_CHATBOT Administrator AJAX_CHAT_ADMIN Moderator AJAX_CHAT_MODERATOR User AJAX_CHAT_USER Guest AJAX_CHAT_GUEST 3.1.1.2 Channel Definition Table 3-2 Default Channel Definition Channel Definition Value Public Channel channels[0] Public Private Channel channels[1] Private 3.1.1.3 User Definition Each role can have several users. For users that were not defined as default user, their user id will be assigned with unused numbers in field ‘User ID’, as Table 3-3 shown. Table 3-3 User Definition User Name Password User Role User ID Channel NULL NULL Guest - Public admin admin Administrator 1 Public & Private moderator moderator Moderator 2 Public & Private user user User 3 Public & Private apple apple Administrator 4 Public & Private pear pear User 5 Public & Private 3 AJAX Chat Analysis and Design 3.1.2 Tables The chat system maintains four tables in database. Only ‘Field’ and ‘Type’ are copied from AJAX Chat website in each table. [2] 3.1.2.1 User on-line Table Table 3-4 Table: ajax_chat_online Field Type Notation The table records every user chatting on line. A new value will be assigned to each guest. userID INT (11) For a registered user, userID will not be changed. userName VARCHAR (64) - userRole INT (1) Refer to Table3-1. channel INT (11) Channel Id on which the user is chatting. dateTime DATETIME Time of last access. ip VARBINARY(16) Remote IP of last access. Chat bot’s userID always is ‘2147483647’; and its username always is ‘ChatBot’. Table 3-5 Example of ajax_chat_online userID userName userRole channel dateTime ip 1 admin 3 500000001 2010-09-09 16:07:11 7f000001 3 user 1 500000001 2010-09-09 16:07:14 7f000001 3.1.2.2 Message Table Table 3-6 Table: ajax_chat_messages Field Type Notation The table records all chat messages. Increased by 1 when a new message is id(PK) INT(11) inserted. userID INT(11) Refer to Table3-4. userName VARCHAR(64) - userRole INT(1) Refer to Table3-1. channel INT(11) Refer to Table3-4. dateTime DATETIME Time of message receipt. ip VARBINARY(16) Remote IP of message sender. text TEXT Message content. 4 AJAX Chat Analysis and Design Table 3-7 Example of ajax_chat_messages id(PK) userID userName userRole channel 1 2147483647 ChatBot 4 0 2 1 admin 3 500000001 dateTime ip text 2010-09-02 16:47:10 7f000001 … 2010-09-02 16:49:21 7f000001 … 3.1.2.3 Bans Table Table 3-8 Table: ajax_chat_bans Field Type Notation The table records all banned users. userID INT(11) Refer to Table3-4. userName VARCHAR(64) Banned user name. User will be banned from now to dateTime. dateTime DATETIME Default dataTime is five minutes later from now. ip VARBINARY (16) Banned remote IP. Table 3-9 Example of ajax_chat_bans userID userName dateTime ip 6 apple 2010-09-09 16:20:03 7f000001 3.1.2.4 Invitations Table Table 3-10 Table: ajax_chat_invitations Field Type Notation The table records all users and channels in invitations. userID INT(11) Refer to Table3-4. channel INT(11) Channel Id used in invited chat. dateTime DATETIME Time to join. Table 3-11 Example of ajax_chat_invitations userID channel dateTime 6 500000001 2010-09-09 16:20:03 3 500000001 2010-09-09 15:57:39 3.1.3 Client 5 AJAX Chat Analysis and Design 3.1.3.1 Infrastructure Client infrastructure is described as Figure 3-1. Comment B Comment A FLEX Comment D FABridge FABridge.js XML Stream AJAX Comment C FABridge.as Comment E JSP HTML Provide Style Config Setting Invoke Action SWF Processor User POST/GET Request Sender Comment G Comment F Comment A: AJAX receives XML stream. Comment B: Update client view. Comment C: Connection between FlEX and AJAX. Comment D: Responsible for parsing XML stream and navigating JS instances. Comment E: Responsible for updating SWF. Comment F: Process actions performed on HTML. Comment G: Send Http request to server. Figure 3-1 Client Infrastructure Client
Recommended publications
  • SEO Footprints
    SEO Footprints Brought to you by: Jason Rushton Copyright 2013 Online - M a r k e t i n g - T o o l s . c o m Page 1 Use these “Footprints” with your niche specific keywords to find Backlink sources. Some of the footprints below have already been formed into ready made search queries. TIP* If you find a footprint that returns the results you are looking for, there is no need to use the rest in that section. For example if I am looking for wordpress sites that allow comments and the search query “powered by wordpress” “YOUR YOUR KEYWORDS” returns lots of results there is no need to use all of the others that target wordpress sites as a lot of them will produce similar results. I would use one or two from each section. You can try them out and when you find one you like add it to your own list of favourites. Blogs “article directory powered by wordpress” “YOUR YOUR KEYWORDS” “blog powered by wordpress” “YOUR YOUR KEYWORDS” “blogs powered by typepad” “YOUR YOUR KEYWORDS” “YOURYOUR KEYWORDS” inurl:”trackback powered by wordpress” “powered by blogengine net 1.5.0.7” “YOUR YOUR KEYWORDS” “powered by blogengine.net” “YOUR YOUR KEYWORDS” “powered by blogengine.net add comment” “YOUR YOUR KEYWORDS” “powered by typepad” “YOUR YOUR KEYWORDS” “powered by wordpress” “YOUR YOUR KEYWORDS” “powered by wordpress review theme” “YOUR YOUR KEYWORDS” “proudly powered by wordpress” “YOUR YOUR KEYWORDS” “remove powered by wordpress” “YOUR YOUR KEYWORDS” Copyright 2013 Online - M a r k e t i n g - T o o l s .
    [Show full text]
  • Webové Diskusní Fórum
    MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨ AKULTA INFORMATIKY !"#$%&'()+,-./012345<yA| Webové diskusní fórum BAKALÁRSKÁˇ PRÁCE Martin Bana´s Brno, Jaro 2009 Prohlášení Prohlašuji, že tato bakaláˇrskápráce je mým p ˚uvodnímautorským dílem, které jsem vy- pracoval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování používal nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušný zdroj. V Brnˇe,dne . Podpis: . Vedoucí práce: prof. RNDr. JiˇríHˇrebíˇcek,CSc. ii Podˇekování Dˇekujivedoucímu prof. RNDr. JiˇrímuHˇrebíˇckovi,CSc. za správné vedení v pr ˚ubˇehucelé práce a trpˇelivostpˇrikonzutacích. Dále dˇekujicelému kolektivu podílejícímu se na reali- zaci projektu FEED za podnˇetnépˇripomínkya postˇrehy. iii Shrnutí Bakaláˇrskápráce se zabývá analýzou souˇcasnýchdiskusních fór typu open-source a vý- bˇerem nejvhodnˇejšíhodiskusního fóra pro projekt eParticipation FEED. Další ˇcástpráce je zamˇeˇrenána analýzu vybraného fóra, tvorbu ˇceskéhomanuálu, ˇceskélokalizace pro portál a rozšíˇrenípro anotaci pˇríspˇevk˚u. Poslední kapitola je vˇenovánanasazení systému do provozu a testování rozšíˇrení pro anotaci pˇríspˇevk˚u. iv Klíˇcováslova projekt FEED, eParticipation, diskusní fórum, portál, PHP, MySQL, HTML v Obsah 1 Úvod ...........................................3 2 Projekt eParticipation FEED .............................4 2.1 eGovernment ...................................4 2.2 Úˇcastníciprojektu FEED .............................4 2.3 Zamˇeˇreníprojektu FEED .............................5 2.4 Cíl
    [Show full text]
  • Phpbb 3.3 Proteus Documentation
    phpBB 3.3 Proteus Documentation Edited by Dominik Dröscher and Graham Eames phpBB 3.3 Proteus Documentation by Dominik Dröscher and Graham Eames Copyright © 2005 phpBB Group Abstract The detailed documentation for phpBB 3.3 Proteus. Table of Contents 1. Quick Start Guide ..................................................................................................... 1 1. Requirements ..................................................................................................... 1 2. Installation ......................................................................................................... 2 2.1. Introduction ............................................................................................ 3 2.2. Requirements .......................................................................................... 3 2.3. Administrator details .............................................................................. 3 2.4. Database settings .................................................................................... 3 2.5. Configuration file ................................................................................... 5 2.6. Advanced settings .................................................................................. 5 2.7. Final Steps .............................................................................................. 5 2.8. Supporting the phpBB organization ....................................................... 6 3. General settings ................................................................................................
    [Show full text]
  • Symbols Administrators
    Index ■Symbols administrators. See also administering $access_check variable, 209 admin user (Drupal), 11–12 & (ampersand) in path aliases, 84 approving comments in WordPress, 396 <br /> (break tag), 476 auditing, 296–297 <!—more—> tag, 475–477 Advanced Editing mode (WordPress) <!—noteaser—> tag, 476 Advanced options in, 405–406, 408–409 >> (breadcrumb links), 159 previewing posts in, 409 ? (question mark) in path aliases, 84 using Custom Fields, 409 / (slash) in path aliases, 84 Advanced Mode (phpBB) announcement forum permissions in, 304 ■A group permissions in, 307 paraccess setting permission in, 303–304 accessing database abstraction layer, user permissions in, 305 335–338 Aggregator module, 61–64 Drupal rules for, 36–38 adding feeds, 63 Image Assist module settings for, 111 categorizing feeds, 64 rights for database servers, 6 function of, 61–62 site, 8–9 identifying feeds for subscription, 62 activating setting permissions, 64 group blocks, 132 viewing options for feeds, 64 IImage Browser plug-in, 410–411 aggregators, 375 RSS Link List plug-in, 424 aliased domains, 191 WP-DB Backup plug-in, 490 aliases to Drupal paths, 84–85 Admin Configuration panel (phpBB 2.0), 235, ampersand (in path aliases), 84 236–237 animation in posts, 287 administering. See also administrators; announcement forums, 247, 304 Database Administration module announcements Administer Nodes permission, 135 global, 287 administrative password for WordPress, permissions for, 270–271 389–390 removing, 315 blocks, 39–40 Anonymous User role (Drupal), 34, 35 Drupal
    [Show full text]
  • Introduction Points
    Introduction Points Ahmia.fi - Clearnet search engine for Tor Hidden Services (allows you to add new sites to its database) TORLINKS Directory for .onion sites, moderated. Core.onion - Simple onion bootstrapping Deepsearch - Another search engine. DuckDuckGo - A Hidden Service that searches the clearnet. TORCH - Tor Search Engine. Claims to index around 1.1 Million pages. Welcome, We've been expecting you! - Links to basic encryption guides. Onion Mail - SMTP/IMAP/POP3. ***@onionmail.in address. URSSMail - Anonymous and, most important, SECURE! Located in 3 different servers from across the globe. Hidden Wiki Mirror - Good mirror of the Hidden Wiki, in the case of downtime. Where's pedophilia? I WANT IT! Keep calm and see this. Enter at your own risk. Site with gore content is well below. Discover it! Financial Services Currencies, banks, money markets, clearing houses, exchangers. The Green Machine Forum type marketplace for CCs, Paypals, etc.... Some very good vendors here!!!! Paypal-Coins - Buy a paypal account and receive the balance in your bitcoin wallet. Acrimonious2 - Oldest escrowprovider in onionland. BitBond - 5% return per week on Bitcoin Bonds. OnionBC Anonymous Bitcoin eWallet, mixing service and Escrow system. Nice site with many features. The PaypalDome Live Paypal accounts with good balances - buy some, and fix your financial situation for awhile. EasyCoin - Bitcoin Wallet with free Bitcoin Mixer. WeBuyBitcoins - Sell your Bitcoins for Cash (USD), ACH, WU/MG, LR, PayPal and more. Cheap Euros - 20€ Counterfeit bills. Unbeatable prices!! OnionWallet - Anonymous Bitcoin Wallet and Bitcoin Laundry. BestPal BestPal is your Best Pal, if you need money fast. Sells stolen PP accounts.
    [Show full text]
  • What the Floc?
    Security Now! Transcript of Episode #811 Page 1 of 30 Transcript of Episode #811 What the FLoC? Description: This week we briefly, I promise, catch up with ProxyLogon news regarding Windows Defender and the Black Kingdom. We look at Firefox's next release which will be changing its Referer header policy for the better. We look at this week's most recent RCE disaster, a critical vulnerability in the open source MyBB forum software, and China's new CAID (China Anonymization ID). We then conclude by taking a good look at Google's plan to replace tracking with explicit recent browsing history profiling, which is probably the best way to understand FLoC (Federated Learning of Cohorts). And as a special bonus we almost certainly figure out why they named it something so awful. High quality (64 kbps) mp3 audio file URL: http://media.GRC.com/sn/SN-811.mp3 Quarter size (16 kbps) mp3 audio file URL: http://media.GRC.com/sn/sn-811-lq.mp3 SHOW TEASE: It's time for Security Now!. Steve Gibson is here. We've got a new fix for the Microsoft Exchange Server flaw. This one's automatic, thanks to Microsoft. We'll also take a look at some nice new features in Firefox 87. You can get it right now. And then, what the FLoC? We'll take a look at Google's proposal for replacing third-party cookies. Is it better? It's all coming up next on Security Now!. Leo Laporte: This is Security Now! with Steve Gibson, Episode 811, recorded Tuesday, March 23rd, 2021: What the FLoC? It's time for Security Now!, the show where we cover your privacy, your security, your safety online with this guy right here, Steve Gibson from GRC.com.
    [Show full text]
  • Evaluation Metric Boardsearch Metrics: Recall - C/N, Precision C/E
    Overview • Forums provide a wealth of information • Semi structured data not taken advantage of by popular search software Board Search • Despite being crawled, many An Internet Forum Index information rich posts are lost in low page rank Forum Examples vBulletin •vBulletin • phpBB •UBB • Invision •YaBB • Phorum • WWWBoard phpBB UBB 1 gentoo evolutionM bayareaprelude warcraft Paw talk Current Solutions • Search engines • Forum’s internal search 2 Google lycos internal boardsearch Evaluation Metric boardsearch Metrics: Recall - C/N, Precision C/E Rival system: • Rival system is the search engine / forum internal search combination • Rival system lacks precision Evaluations: • How good our system is at finding forums • How good our system is at finding relevant posts/threads Problems: • Relevance is in the eye of the beholder • How many correct extractions exist? 3 Implementation • Lucene Improving Software Package • Mysql • Ted Grenager’s Crawler Source Search Quality • Jakarta HTTPClient Dan Fingal and Jamie Nicolson The Problem Sourceforge.org • Search engines for softare packages typically perform poorly • Tend to search project name an blurb only • For example… Gentoo.org Freshmeat.net 4 How can we improve this? Better Sources of Information • Better keyword matching • Every package is associated with a • Better ranking of the results website that contains much more detailed • Better source of information about the information about it package • Spidering these sites should give us a • Pulling in nearest neighbors of top richer representation
    [Show full text]
  • Appendix a the Ten Commandments for Websites
    Appendix A The Ten Commandments for Websites Welcome to the appendixes! At this stage in your learning, you should have all the basic skills you require to build a high-quality website with insightful consideration given to aspects such as accessibility, search engine optimization, usability, and all the other concepts that web designers and developers think about on a daily basis. Hopefully with all the different elements covered in this book, you now have a solid understanding as to what goes into building a website (much more than code!). The main thing you should take from this book is that you don’t need to be an expert at everything but ensuring that you take the time to notice what’s out there and deciding what will best help your site are among the most important elements of the process. As you leave this book and go on to updating your website over time and perhaps learning new skills, always remember to be brave, take risks (through trial and error), and never feel that things are getting too hard. If you choose to learn skills that were only briefly mentioned in this book, like scripting, or to get involved in using content management systems and web software, go at a pace that you feel comfortable with. With that in mind, let’s go over the 10 most important messages I would personally recommend. After that, I’ll give you some useful resources like important websites for people learning to create for the Internet and handy software. Advice is something many professional designers and developers give out in spades after learning some harsh lessons from what their own bitter experiences.
    [Show full text]
  • A Taxonomy of SQL Injection Defense Techniques
    Master’s Thesis Computer Science Thesis no: MCS-2011-46 June 2011 A Taxonomy of SQL Injection Defense Techniques Anup Shakya, Dhiraj Aryal School of Computing Blekinge Institute of Technology SE – 371 79 Karlskrona Sweden This thesis is submitted to the School of Computing at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Science in Computer Science. The thesis is equivalent to 20 weeks of full time studies. Contact Information: Author(s): Anup Shakya Address: Älgbacken 8, 372 34 Ronneby E-mail: [email protected] Author(s): Dhiraj Aryal Address: Lindblomsvågen 96, 372 33 Ronneby E-mail: [email protected] University advisor(s): Dr. Stefan Axelsson School of Computing Blekinge Institute of Technology School of Computing Internet : www.bth.se/com Blekinge Institute of Technology Phone : +46 455 38 50 00 SE – 371 79 Karlskrona Fax : +46 455 38 50 57 Sweden Abstract Context: SQL injection attack (SQLIA) poses a serious defense threat to web appli- cations by allowing attackers to gain unhindered access to the underlying databases containing potentially sensitive information. A lot of methods and techniques have been proposed by different researchers and practitioners to mitigate SQL injection problem. However, deploying those methods and techniques without a clear under- standing can induce a false sense of security. Classification of such techniques would provide a great assistance to get rid of such false sense of security. Objectives: This paper is focused on classification of such techniques by building taxonomy of SQL injection defense techniques. Methods: Systematic literature review (SLR) is conducted using five reputed and familiar e-databases; IEEE, ACM, Engineering Village (Inspec/Compendex), ISI web of science and Scopus.
    [Show full text]
  • Design and Implementation of a Gis-Enabled Online Discussion Forum for Participatory Planning
    DESIGN AND IMPLEMENTATION OF A GIS-ENABLED ONLINE DISCUSSION FORUM FOR PARTICIPATORY PLANNING MAN YEE (TERESA) TANG September 2006 TECHNICAL REREPORTPORT NO. 244217 DESIGN AND IMPLEMENTATION OF A GIS- ENABLED ONLINE DISCUSSION FORUM FOR PARTICIPATORY PLANNING Man Yee (Teresa) Tang Department of Geodesy and Geomatics Engineering University of New Brunswick P.O. Box 4400 Fredericton, N.B. Canada E3B 5A3 September 2006 © Man Yee (Teresa) Tang 2006 PREFACE This technical report is a reproduction of a thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Engineering in the Department of Geodesy and Geomatics Engineering, September 2006. The research was co-supervised by Dr. Y. C. Lee and Dr. David Coleman, and support was provided by the Natural Sciences and Engineering Research Council of Canada. As with any copyrighted material, permission to reprint or quote extensively from this report must be received from the author. The citation to this work should appear as follows: Tang, Man Yee (Teresa) (2006). Design and Implementation of a GIS-Enabled Online Discussion Forum for Participatory Planning. M.Sc.E. thesis, Department of Geodesy and Geomatics Engineering Technical Report No. 244, University of New Brunswick, Fredericton, New Brunswick, Canada, 151 pp. ABSTRACT Public participation is a process whose ultimate goal is to facilitate consensus building. To achieve this goal, there must be intensive communication and discussion among the participants who must have access to information about the matters being addressed. Recent efforts in Public Participation Geographic Information Systems (PPGIS), however, concentrate mainly on making GIS and other spatial decision-making tools available and accessible to the general public.
    [Show full text]
  • December 2008 Volume 12, Number 3 PHPBB3 Title PHPBB3 Publisher
    December 2008 Volume 12, Number 3 PHPBB3 Title PHPBB3 Publisher phpBB Group Contact http://www.phpbb.com information Type of Online discussion product forum Platform Any operating system Minimum • A web server or web hosting account running on any major operating hardware system with support for PHP requirements • PHP version 4.3.3 or higher • One of the following PHP-supported database servers: o MySQL 3.23 or above (MySQLi supported) o PostgreSQL 7.3 or above o SQLite 2.8.2 or above o Firebird 2.0 or above o MS SQL Server 2000 or above (directly or via ODBC) o Oracle User Manual User Manual Detailed documentation is available online on the phpBB3 Documentation site, and community support is available on the phpBB3 Support Forums site. Price Free under a GNU General Public License agreement. Overview Collaboration between teachers within the same department is undoubtedly one of the best ways to ensure that the education provided is as effective as possible. From the establishment and revision of curriculum goals and objectives, assessment measures, and grading policies to the sharing of teaching materials, ideas, approaches, and techniques, collaboration not only serves to reduce the workload of each individual TESL-EJ 12.3, December 2008 PHPBB3/McDonald Page 1 of 16 teacher, it can serve to enhance the quality of work produced. Unfortunately, the nature of the teaching profession as it stands today, with teachers spending a majority of their time either working with students in the classroom or performing administrative duties, often precludes real opportunities for instructors within the same department to collaborate.
    [Show full text]
  • Emulator for Complex Sensor- Based IT System
    Degree project Emulator for complex sensor- based IT system Author: Ruslan Gederin and Viktor Mazepa Supervisor: Rüdiger Lincke External Supervisor: Per-Olov Thorén Date: 2013-09-30 Course code: 5DV00E, 30 credits Level: Master Department of Computer Science Acknowledgments First of all we want to express gratitude to our supervisor, Dr. Rüdiger Lincke for an interesting master thesis topic and for great work experience with him and his company Softwerk. We would also like to thank to: • Per-Olov Thorén and Ingela Stålberg for interesting meetings and for the opportunity to work on a real commercial project. • Maksym Ponomarenko and Viktor Kostov for excellent management of our work at our remote period. • Oryna Podoba and Illia Klimov for good collaborations during development. • Our families, relatives and friends for their support during our studying in Sweden. ii Abstract Developing and testing complex information technology (IT) systems is a difficult task. This is even more difficult if parts of the system, no matter if hard- or software, are not available when needed due to delays or other reasons. The architecture and design cannot be evaluated and existing parts cannot be reliably tested. Thus the whole concept of the system cannot be validated before all parts are in place. To solve this problem in an industrial project, where the development of the server- side should be finished and tested (clear for production) while the hardware sensors where designed but not implemented, we developed an emulator (software) for the hardware sensors meeting the exact specification as well as parts of the server solution. This allowed proceeding with the server-side development, testing, and system validation without the hardware sensors in place.
    [Show full text]