Browsing by Author "Perera, I"
Now showing 1 - 20 of 148
- Results Per Page
- Sort Options
- item: Conference-Full-textAdapting general purpose platform-as-a- service for customized product deployment(Department of Computer Science and Engineering, University of Moratuwa., 2014-09) Senanayake, DA; Perera, I; Meedeniya, D; Perera, SThe web services industry has evolved to a point where a lot of services are provided for free or a free tier of services is offered, most of the times. An attempt of trying to exploit this situation is to try and implement a game server based on completely free and open-source technologies or at least not exceeding the free tiers of commercial technologies.
- item: Thesis-AbstractAn Analysis of gof software design patterns on software maintainability in micro services(2023) Rathnayake, RMHSB; Perera, IThe purpose of this paper is to identify how gang of four design patterns impact the maintainability of micro services-based systems. Design patterns were introduced as solutions to common problems that occur in programming. These are supposed to improve the maintainability of a system by improving the code quality. But with modern programming languages, frameworks, and integrated development environments, whether these patterns serve their purpose is a question that is not fully addressed. This paper proposes a tool that can be used to identify whether use of a specific design pattern by a specific developer for a particular micro service-based project can improve its maintainability or not. To do this a model has been created by analyzing enterprise micro service-based applications and gathering data from developers who were involved in the development of those projects. This data is used to create models for maintainability metrices coupling, lack of cohesion, duplication and cyclomatic complexity. This tool will help to decide whether the system is more maintainable with or without the use of selected design patterns. This helps better decision making in deciding how to write new code or refactoring existing code. Results of this research have shown that lack of cohesion is not affected by developer experience, design patterns or the language used in enterprise micro service-based applications. Cyclomatic complexity was only affected by the language used. Also, use of certain design patterns decreased the coupling in the system. But some of the design patterns caused duplications to be increased. So, the results showed that use of design patterns can have a negative and positive impact on the maintainability of a microservice depending on the design pattern used. This research also emphasizes the importance of code review process and code quality analysis automation. Keywords: GOF design patterns, micro services, software maintainability
- item: Thesis-Full-textAnalyzing source code identifiers for code reuse(2017) Pirapuraj, P; Perera, IToday a massive amount of source code is available on the Internet and open to serve as a means for code reuse. Developers can reduce the time cost and resource cost by reusing these external open source code in their own projects. Even though a number of Code Search Engines (CSE) are available, finding the most relevant source code is often challenging. In this research, we proposed a framework that can be used to overcome the problem faced by developers in code searching and reusing. The framework starts with the software architecture design in XML format (Class Diagram), extracts information from the XML file, and then based on the extracted information, fetches relevant projects using three types of crawler from GitHub, SourceForge, and GoogleCode. We will have a huge amount of projects by downloading process using the crawlers and need to find most relevant projects among them. In this research, we particularly focus on projects developed using Java language. Each project will have a number of .java files, and all files will be represented as Abstract Syntax Trees (AST) to extract identifiers (class names, method names, and attributes name) and comments from the .java files. Then, on one hand, we will have the identifiers which are extracted from the XML file (Class diagram), and the other hand the identifiers and the action words (verbs) extracted from downloaded projects. Action words are extracted from comments using Part of Speech technique (POS). These two group of identifiers need to be analyzed for matching, if the identifiers are matched, an amount of marks will be given to these identifiers, likewise marks will be added together and then if the total marks is greater than 50%, the .java file belongs to these identifier will be suggested as relevant code. Otherwise, synonyms of the identifiers will be discovered using WordNet, and the matching process will be repeated for the synonyms. For the composite identifiers, camel case splitter is used to separate these words. If the programmers do not follow camel case naming convention, N-gram technique is used to separate these word. The Stanford Spellchecker is used to identify abbreviated words. Evaluation of our developed framework resulted in 95.25% of average accuracy of four subsystem [project downloader (100%), identifier analyzer (94%), word finder (87%), and comments analyzer (100%)] accuracy.
- item:Analyzing source code identifiers for code reuse using NLP techniques and wordnet(2017) Pirapuraj, P; Perera, IMassive amount of source codes are available free and open. Reusing those open source codes in projects can reduce the project duration and cost. Even though several Code Search Engines (CSE) are available, finding the most relevant code can be challenging. In this paper we propose a framework that can be used to overcome the above said challenge. The proposed solution starts with a Software Architecture (Class Diagram) in XML format and extracts information from the XML file, and then, it fetches relevant projects using three types of crawlers from GitHub, SourceForge, and GoogleCode. Then it finds the most relevant projects among the vast amount of downloaded projects. This research considers only Java projects. All java files in every project will be represented in Abstract Syntax Tree (AST) to extract identifiers (class names, method names, and attributes name) and comments. Action words (verbs) are extracted from comments using Part of Speech technique (POS). Those identifiers and XML file information need to be analyzed for matching. If identifiers are matched, marks will be given to those identifiers, likewise marks will be added together and then if the total mark is greater than 50%, the .java file will be considered as a relevant code. Otherwise, WordNet will be used to get synonym of those identifiers and repeat the matching process using those synonyms. For connected word identifiers, camel case splitter and N-gram technique are used to separate those words. The Stanford Spellchecker is used to identify abbreviated words. The results indicate successful identification of relevant source codes.
- item: Conference-Full-textApplication based extension for windows network monitor widget(Department of Computer Science and Engineering, University of Moratuwa., 2014-09) Kumarasinghe, CU; Perera, I; Meedeniya, D; Perera, SThis paper was written to give an idea about the windows network monitor extension which was developed in order to improve system security and application accountability of windows processes and to help the user to be aware of how much bandwidth is used by each process.
- item: Conference-Full-textApplying agile practices to avoid chaos in user acceptance testing: a case study(IEEE, 2016-04) Padmini, KVJ; Perera, I; Bandara, HMND; Jayasekara, AGBP; Bandara, HMND; Amarasinghe, YWRAgile practices have gained increasing popularity in Information Technology (IT), Education, Marketing, and Advertising industry, as it brings quality products into the market faster. Scrum, Lean Development, and Extreme Programming are the most commonly considered processes under the Agile umbrella. Scrum or scrum variants form a high performance, collaborative team to handle projects that are more complex. We examine the applicability of the scrum framework to a large-scale revenue management system for User Acceptance Testing (UAT). Industry believes integration and acceptance testing is not easy to perform within the scrum framework. Nevertheless, very little is explored about the acceptance testing in Agile practices. We fill this gap by empirically evaluating UAT of a complex, large-scale system (in a public sector organization) to showcase the applicability of scrum framework. While the initial UAT team consisted of 100 domain experts, no process was defined for the UAT. This made it easier to streamline the UAT into the scrum framework. Once the scrum framework was introduced significant improvements in the UAT team was experienced with improved morale, productivity, efficiency, and time to market while having a smooth flow.
- item: Thesis-Full-textArchitectural helper tool to convert monolithic systems to microservicesBandara, BCK; Perera, IToday many of the developers and users expect systems to have dynamic user experience on a wide variety of clients including mobile devices. As well as expect to have high scalability and needs to roll out new updated in order to cope with the competitors, even for multiple times a day. But to gain such level of flexibility through the existing monolithic systems is quite tough and hard due to the dependability of the internal modules, components and the services. Recently researchers have discovered a new architecture called microservices architecture where it consists of independent set of services which are focused on one or small set of functionalities of the system and can be deployed as a separated service. By having isolated services, it increases the flexibility on scalability, independent deplorability, maintainability, and reusability. Recently microservice topic has gain lots of attention from the software industry. If we search on Google or Yahoo we would fine millions of articles, blogs, discussions on social media, and conference presentations. That is because microservices has huge advantage when it comes to development and the evolving of the system. If we are doing a green field project, then there would be not much risk than managing the lots of concurrent and distributed microservices. But if it is going to be a brown field project or trying to convert the existing monolithic systems into microservices there are exist several other risks associated with it, one of major risk is deciding which services to convert into microservices. In this research trying to find a solution to that problem and mainly focused on the OO Java based monolithic systems. In order to identify the services in the monolithic system`s legacy code we use hierarchical agglomerative clustering algorithm with customized fitness function which helps to identify the candidate microservices for the microservice based architecture, then those will be presented to the users based on the risk value. This tool is capable of providing insights about each of the services by showing risk levels of the obtained services. If the time permits those features will complete with this research in addition to microservices identification. So that people who use this architectural helper tool will get broad understanding of candidate services and they can be reordered by inputting business values to each of those services. Which reduces the risk of converting the existing monolithic system into the relevant microservices.
- item: Thesis-AbstractAn Architecture for EEG based mental state recognition and monitoring(2023) Chandreswaran, Y; Perera, IHumans invent technologies to make today's life easy. Every human expects a healthy long life. A healthy life includes good physical health and stable mental health. There are multiple causes such as busy lifestyle, stress, sadness, anger, fear, etc. can affect the mental health of Human life. There are several approaches to overcoming this mental illness but the challenge is to monitor and measure the efficiency of treatments followed by humans. Therefore, a solution is proposed as a real-time non-invasive BCI system, which helps to predict the mental state and provides progress of improvement. This research work aims to predict human brain states using EEG-based signals and classify the human brain states in real time. The features and classification methods help to categorize the patterns of the brainwave. EEG signals communicate with BCI through the NeuroSky Headset with four sensors inbuilt. We have generated sample data sets for training and testing using the NeuroSky Headset. Systems have been tested with multiple feature extraction methods and feature pattern classification modes to build the prediction solution. The final solution contains a human-facing mobile web app, which reads the EEG signals from the NeuroSky Headset. In addition, the system contains a prediction component, a backend API component, and system managing dashboard components.
- item: Conference-Full-textAskfedora ux/ui and functionality overhaul(Department of Computer Science and Engineering, University of Moratuwa., 2016-12) Welivita, KA; Perera, I; Meedeniya, DAskFedora is a well known community knowledge base and a support forum, which provides community support for Fedora users. It is powered by Askbot, a Python and DJango based web application. With time, the user interface and user experience of AskFedora had come to a point of having a comprehensive overhaul. This is to have some uniformity with the other Fedora websites and have improved usability features. The AskFedora redesign project was aimed at achieving the goal of providing better user experience for the users. The project was conducted in three main phases, which were user experience analysis and mock-ups development, coding and integration with Askbot. The designs done are mainly based on user experience research and the styles used follow concepts of responsiveness and cross browser compatibility.
- item: Conference-Extended-AbstractAssessing the impact of global outsourcing and global offshoring over the upstream supply chains of apparel industry: a Sri Lankan context(Sri Lanka Society for Transport and Logistics, 2016-06) Perera, I; Jayaratne, P; Gunaruwan, TL
- item:AugLAC - Generic framework for augmented location aware commerceGunatunge, EMP; Hewagama, HYM; Hewawalpita, SGS; Perera, I; Udara, YBNIn this paper we present AugLAC, a framework which integrates common features of location aware services, ecommerce and augmented reality into a single infrastructure for the development of location aware mobile applications. The research aim is to generalize the proposed framework to suit different business domains and to allow rapid development of applications using a component based architecture. Although this framework is mainly targeted for retail business domain it can be effectively used for other domains and use case scenarios where the basic principles apply.
- item: Conference-Full-textAutomated programming assignment grading system(Department of Computer Science and Engineering, University of Moratuwa., 2017-12) Subashith, SKTD; Perera, I; Meedeniya, DToday there are many e-learning systems that fulfill the thirst for education. Those e-learning systems have many courses in different fields. There are so many e-classes that teach how to program in many different programming languages. But in most of those e-classes instructors have to spend a lot of time to evaluate assignments submitted by students. If the grading process can be done automatically, it will save lots of time of instructors. There are many systems that use the functionality of evaluating programs automatically. They provide support for hosting online programming competitions, but most of them do not provide platforms for e-classes. Therefore Automated Programming Assignment Grading System (APAGS) is the solution which supports both e-class environment and programming competition environment. The APAGS is a web system which has developed using Symfony framework according to the model, control and view architecture to provide both e-class environment and competition hosting environment. Its main goal is to evaluate the programs and analyse results for both assignments and competitions.
- item: Conference-Full-textAutomator – location and battery level based profile changer, alarm and sms sender(Department of Computer Science and Engineering, University of Moratuwa., 2014-09) Kumarasiri, MKDS; Perera, I; Meedeniya, D; Perera, IThis paper discusses the project Automator which is a location and battery level based automatic profile changer, location based alarm and SMS sender. This is a third party software developed for Android operating system. The application takes the location of the device from GPS and changes settings of the device as the user has defined earlier. The main advantage of this software comparing to other similar software in the Android market is the customization in selecting the settings the user wanted to change.
- item: Conference-Full-textAutonomous event driven architectures upon service oriented architectures(Computer Science & Engineering Society c/o Department of Computer Science and Engineering, University of Moratuwa., 2009-07) Fernando, TSL; Gunetileke, WWMEP; Halgaswatta, H; Weerawarana, S; Fremantle, P; Perera, I; Nanayakkara, V; Gunasinghe, UPEvent Driven Architectures (EDA) and Service Oriented Architectures (SOA) are two technologies that have both gained much popularity among IT infrastructure in worldwide businesses. Although they do have their differences, businesses are discovering that the two actually complement each other, and SOA can be effectively utilized as a platform in implementing an EDA. This paper explores this concept and also highlights Project SCI-Flex; which is a venture towards integration of SOA and Complex Event Processing. Here we look at how the SCI-Flex middleware system may be used in implementing Autonomous and fully functional EDAs.
- item: Conference-Full-textBig data visualization(Department of Computer Science and Engineering, University of Moratuwa., 2016-12) Abeysekara, M; Perera, I; Meedeniya, DComputer based visualizations have been a popular approach that provides accurate and efficient visualization techniques to the users. There is an increasing growth in geographical data with the development of mobile devices. There is a trend to analyze the human behaviors and patterns with respect to the geographical locations in order to take decisions and predictions. This paper presents a Human Movement Visualizer tool to provide populating flow data between regions of a given map. The tool was designed to use with modern web browsers by implementing the complete functionality of the system using client-side JavaScript language. Also the tool can integrate with other visualization tools by introducing component based architecture to the system. Users of this tool can give a Shapefile as a base map and CSV (Comma Separated Values) based data to visualize the geographical data. The main goal of this tool is to provide visualizations for the transport planning in Sri Lanka.
- item: Conference-Full-textBlind quiz: android application for visually impaired people to access moodle quizzes(Department of Computer Science and Engineering, University of Moratuwa., 2015-10) Subasinghe, SP; Pemasiri, A; Bandara, M; Meedeniya, D; Perera, IAlthough the Moodle facilitates the Accessibility feature for visually impaired people it is not much user friendly for them. The requirement of third party software is the main limiting factor in the existing solution. But Android provides rich accessibility service for different able people. Therefore the application uses the Android platform to give access to Modular object oriented dynamic learning environment (Moodle). This application provides support to access quiz course material on Moodle. People who are visually impaired cannot access Moodle quizzes due to their disability as normal ones. Necessarily they need an external support from login to finish accessing Moodle. But they can access the mobile devices using Android Accessibility service. Thus the project is aimed to build Android Interface to Moodle quizzes for visually impaired people using Android Accessibility service.
- item: Conference-Full-textBlood bank management system(Department of Computer Science and Engineering, University of Moratuwa., 2016-12) Thirunavukkarasu, N; Perera, I; Meedeniya, D“BLOOD” is one of the most essential necessities of our lives. Mostly during accidents or most of the hospitals issues the need for blood is the common problem. In addition to emergency requirements, advances in medicine have increased the need for blood in many ongoing treatments and elective surgeries. This paper presents an android application blood bank management system that enables individuals who want to donate blood to help the needy. It also enables hospitals to send blood request to the donors who were already registered to the system. The system has developed by using java, PHP, and MySQL as a database system to manage and store the data. The Waterfall Methodology, which is the traditional version and the classic approach of a system development life cycle, is used to develop and build the android based blood bank system. The system targets three types of user: the public who wants to donate blood, the hospitals who need blood, and the admin who manage the system. In this application the system has utilized the Google distance API to find the distance between donors that are in favor of donating blood and hospitals. The android application is readily scalable, efficient and adaptable to meet the complex need of blood for the hospitals.
- item: Conference-Full-textBloodforall – android application for blood donors(Department of Computer Science and Engineering, University of Moratuwa., 2015-10) Uthayakumar, M; Pemasiri, A; Bandara, M; Meedeniya, D; Perera, IDay to day there are many blood donations happening all over the world to save many lives. The main problem in blood donation is finding the blood donors within a short period of time during an emergency. Currently there is no proper solution exist for this problem. Although there are some blood donor applications in Android market already, none of them solves this problem completely. Many blood donors are not interested in using those applications due to the privacy issues. This application aims to provide a solution to all the problems in the existing blood donor applications. This paper discusses about the BloodForAll Application.
- item: Conference-Full-textBook portal operations management system(Department of Computer Science and Engineering, University of Moratuwa., 2017-12) Dangalla, DADJS; Perera, I; Meedeniya, DThis paper discusses a system that provides an admin system and a public website for a book store with multiple branches. The admin system allows multiple user levels of the staff members to log in and perform separate duties within the system and the public website allows customers to view availability of items and purchase items online. The admin system generates monthly and annual reports, manages user notifications, incorporates role based access control, saves user logs and provides an invoice for physical bill issue in addition to controlling the items showcased in the website and managing the online purchase requests. The system is implemented using JSP and MySQL on MVC architecture and guest checkouts are integrated using PayPal.
- item: Article-Full-textA case study in user support for managing opensim based multi user learning environments(IEEE Education Society, 2017) Perera, IImmersive 3D Multi User Learning Environments (MULE) have shown sufficient success to warrant their consideration as a mainstream educational paradigm. These are based on 3D Multi User Virtual Environment platforms (MUVE), and although they have been used for various innovative educational projects their complex permission systems and large numbers of functions can make their management potentially challenging. It follows that an inadequately managed MULE can be ineffective with respect to intended learning outcomes. The purpose of this research was to determine how management challenges manifest themselves and how to support educators in learning and applying MULE management skills. We utilised the popular OpenSim platform for this study. Firstly, a survey of the need for user support (N=43) is described. Next, the design and evaluation of a guidance tool using graph topologic visualisation of OpenSim functions is presented (N=211). The tool is further evaluated in the delivery of a course module. The analysis and user feedback indicated that the tool provides accurate information and helpful support for MULE management. As the final phase of the research, training environments were developed for both basic and advanced OpenSim MULE management. Evaluations of their usability and perceived educational value were carried out with participants (N=68); the outcomes suggest that training for advanced MULE management is more useful for all users, without requiring more time or effort, regardless of the degree of complexity of the MULE being designed.