Search results for: software engineering
7293 Using the Weakest Precondition to Achieve Self-Stabilization in Critical Networks
Authors: Antonio Pizzarello, Oris Friesen
Abstract:
Networks, such as the electric power grid, must demonstrate exemplary performance and integrity. Integrity depends on the quality of both the system design model and the deployed software. Integrity of the deployed software is key, for both the original versions and the many that occur throughout numerous maintenance activity. Current software engineering technology and practice do not produce adequate integrity. Distributed systems utilize networks where each node is an independent computer system. The connections between them is realized via a network that is normally redundantly connected to guarantee the presence of a path between two nodes in the case of failure of some branch. Furthermore, at each node, there is software which may fail. Self-stabilizing protocols are usually present that recognize failure in the network and perform a repair action that will bring the node back to a correct state. These protocols first introduced by E. W. Dijkstra are currently present in almost all Ethernets. Super stabilization protocols capable of reacting to a change in the network topology due to the removal or addition of a branch in the network are less common but are theoretically defined and available. This paper describes how to use the Software Integrity Assessment (SIA) methodology to analyze self-stabilizing software. SIA is based on the UNITY formalism for parallel and distributed programming, which allows the analysis of code for verifying the progress property p leads-to q that describes the progress of all computations starting in a state satisfying p to a state satisfying q via the execution of one or more system modules. As opposed to demonstrably inadequate test and evaluation methods SIA allows the analysis and verification of any network self-stabilizing software as well as any other software that is designed to recover from failure without external intervention of maintenance personnel. The model to be analyzed is obtained by automatic translation of the system code to a transition system that is based on the use of the weakest precondition.Keywords: network, power grid, self-stabilization, software integrity assessment, UNITY, weakest precondition
Procedia PDF Downloads 2237292 Analyzing Test Data Generation Techniques Using Evolutionary Algorithms
Authors: Arslan Ellahi, Syed Amjad Hussain
Abstract:
Software Testing is a vital process in software development life cycle. We can attain the quality of software after passing it through software testing phase. We have tried to find out automatic test data generation techniques that are a key research area of software testing to achieve test automation that can eventually decrease testing time. In this paper, we review some of the approaches presented in the literature which use evolutionary search based algorithms like Genetic Algorithm, Particle Swarm Optimization (PSO), etc. to validate the test data generation process. We also look into the quality of test data generation which increases or decreases the efficiency of testing. We have proposed test data generation techniques for model-based testing. We have worked on tuning and fitness function of PSO algorithm.Keywords: search based, evolutionary algorithm, particle swarm optimization, genetic algorithm, test data generation
Procedia PDF Downloads 1887291 Conflicts Identification Approach among Stakeholders in Goal-Oriented Requirements Analysis
Authors: Muhammad Suhaib
Abstract:
Requirements Analysis are the most important part of software Engineering for both system application development, and project requirements. Conflicts often arise during the requirements gathering and analysis phase. This research aims to identify conflicts during the requirements gathering phase in software development life cycle, Research, Development, and Technology converted the world into a global village. During requirements elicitation/gathering phase it’s very difficult to understand the main objective of stakeholders, after completion of requirements elicitation task final results are used for Software Requirements Specification (SRS), SRS is the highly important outcome of the requirements analysis phase. this is the foundation between the developers and stakeholders or customers, proposed methodology will be helpful to identify those conflicts in a very easy manner during the initial phase of the project.Keywords: goal oriented requirements analysis, conflicts identification model, requirements analysis, requirements engineering
Procedia PDF Downloads 1327290 Learning Made Right: Building World Class Engineers in Tunisia
Authors: Zayen Chagra
Abstract:
Several educational institutions are experimenting new approaches in learning in order to guarantee the success of its students. In Tunisia, and since 2011, the experience of making a new software engineering branch called mobile software engineering began at ESPRIT: Higher School of Engineering and Technology. The project was surprisingly a success since its creation, and even before the graduation of the first generation, partnerships were held with the biggest mobile technology manufacturers and several international awards were won by teams of students. This session presents this experience with details of the approaches made from idea stage to the actual stage where the project counts 32 graduated engineers, 90 graduate students and 120 new participants.Keywords: innovation, education, engineering education, mobile
Procedia PDF Downloads 4257289 A New Approach for Assertions Processing during Assertion-Based Software Testing
Authors: Ali M. Alakeel
Abstract:
Assertion-based software testing has been shown to be a promising tool for generating test cases that reveal program faults. Because the number of assertions may be very large for industry-size programs, one of the main concerns to the applicability of assertion-based testing is the amount of search time required to explore a large number of assertions. This paper presents a new approach for assertions exploration during the process of Assertion-Based software testing. Our initial exterminations with the proposed approach show that the performance of Assertion-Based testing may be improved, therefore, making this approach more efficient when applied on programs with large number of assertions.Keywords: software testing, assertion-based testing, program assertions, generating test
Procedia PDF Downloads 4567288 Empirical Exploration of Correlations between Software Design Measures: A Replication Study
Authors: Jehad Al Dallal
Abstract:
Software engineers apply different measures to quantify the quality of software design. These measures consider artifacts developed at low or high level software design phases. The results are used to point to design weaknesses and to indicate design points that have to be restructured. Understanding the relationship among the quality measures and among the design quality aspects considered by these measures is important to interpreting the impact of a measure for a quality aspect on other potentially related aspects. In addition, exploring the relationship between quality measures helps to explain the impact of different quality measures on external quality aspects, such as reliability and maintainability. In this paper, we report a replication study that empirically explores the correlation between six well known and commonly applied design quality measures. These measures consider several quality aspects, including complexity, cohesion, coupling, and inheritance. The results indicate that inheritance measures are weakly correlated to other measures, whereas complexity, coupling, and cohesion measures are mostly strongly correlated.Keywords: quality attribute, quality measure, software design quality, Spearman correlation
Procedia PDF Downloads 2967287 Optimization and Automation of Functional Testing with White-Box Testing Method
Authors: Reyhaneh Soltanshah, Hamid R. Zarandi
Abstract:
In order to be more efficient in industries that are related to computer systems, software testing is necessary despite spending time and money. In the embedded system software test, complete knowledge of the embedded system architecture is necessary to avoid significant costs and damages. Software tests increase the price of the final product. The aim of this article is to provide a method to reduce time and cost in tests based on program structure. First, a complete review of eleven white box test methods based on ISO/IEC/IEEE 29119 2015 and 2021 versions has been done. The proposed algorithm is designed using two versions of the 29119 standards, and some white-box testing methods that are expensive or have little coverage have been removed. On each of the functions, white box test methods were applied according to the 29119 standard and then the proposed algorithm was implemented on the functions. To speed up the implementation of the proposed method, the Unity framework has been used with some changes. Unity framework can be used in embedded software testing due to its open source and ability to implement white box test methods. The test items obtained from these two approaches were evaluated using a mathematical ratio, which in various software mining reduced between 50% and 80% of the test cost and reached the desired result with the minimum number of test items.Keywords: embedded software, reduce costs, software testing, white-box testing
Procedia PDF Downloads 527286 The Role of Knowledge Management in Global Software Engineering
Authors: Samina Khalid, Tehmina Khalil, Smeea Arshad
Abstract:
Knowledge management is essential ingredient of successful coordination in globally distributed software engineering. Various frameworks, KMSs, and tools have been proposed to foster coordination and communication between virtual teams but practical implementation of these solutions has not been found. Organizations have to face challenges to implement knowledge management system. For this purpose at first, a literature review is arranged to investigate about challenges that restrict organizations to implement KMS and then by taking in account these challenges a problem of need of integrated solution in the form of standardized KMS that can easily store tacit and explicit knowledge, has traced down to facilitate coordination and collaboration among virtual teams. Literature review has been already shown that knowledge is a complex perception with profound meanings, and one of the most important resources that contributes to the competitive advantage of an organization. In order to meet the different challenges caused by not properly managing knowledge related to projects among virtual teams in GSE, we suggest making use of the cloud computing model. In this research a distributed architecture to support KM storage is proposed called conceptual framework of KM as a service in cloud. Framework presented is enhanced and conceptual framework of KM is embedded into that framework to store projects related knowledge for future use.Keywords: management, Globsl software development, global software engineering
Procedia PDF Downloads 5227285 Finite Element Modelling and Analysis of Human Knee Joint
Authors: R. Ranjith Kumar
Abstract:
Computer modeling and simulation of human movement is playing an important role in sports and rehabilitation. Accurate modeling and analysis of human knee join is more complex because of complicated structure whose geometry is not easily to represent by a solid model. As part of this project, from the number of CT scan images of human knee join surface reconstruction is carried out using 3D slicer software, an open source software. From this surface reconstruction model, using mesh lab (another open source software) triangular meshes are created on reconstructed surface. This final triangular mesh model is imported to Solid Works, 3D mechanical CAD modeling software. Finally this CAD model is imported to ABAQUS, finite element analysis software for analyzing the knee joints. The results obtained are encouraging and provides an accurate way of modeling and analysis of biological parts without human intervention.Keywords: solid works, CATIA, Pro-e, CAD
Procedia PDF Downloads 1237284 Computer Assisted Learning Module (CALM) for Consumer Electronics Servicing
Authors: Edicio M. Faller
Abstract:
The use of technology in the delivery of teaching and learning is vital nowadays especially in education. Computer Assisted Learning Module (CALM) software is the use of computer in the delivery of instruction with a tailored fit program intended for a specific lesson or a set of topics. The CALM software developed in this study is intended to supplement the traditional teaching methods in technical-vocational (TECH-VOC) instruction specifically the Consumer Electronics Servicing course. There are three specific objectives of this study. First is to create a learning enhancement and review materials on the selected lessons. Second, is to computerize the end-of-chapter quizzes. Third, is to generate a computerized mock exam and summative assessment. In order to obtain the objectives of the study the researcher adopted the Agile Model where the development of the study undergoes iterative and incremental process of the Software Development Life Cycle. The study conducted an acceptance testing using a survey questionnaire to evaluate the CALM software. The results showed that CALM software was generally interpreted as very satisfactory. To further improve the CALM software it is recommended that the program be updated, enhanced and lastly, be converted from stand-alone to a client/server architecture.Keywords: computer assisted learning module, software development life cycle, computerized mock exam, consumer electronics servicing
Procedia PDF Downloads 3917283 Automatic MC/DC Test Data Generation from Software Module Description
Authors: Sekou Kangoye, Alexis Todoskoff, Mihaela Barreau
Abstract:
Modified Condition/Decision Coverage (MC/DC) is a structural coverage criterion that is highly recommended or required for safety-critical software coverage. Therefore, many testing standards include this criterion and require it to be satisfied at a particular level of testing (e.g. validation and unit levels). However, an important amount of time is needed to meet those requirements. In this paper we propose to automate MC/DC test data generation. Thus, we present an approach to automatically generate MC/DC test data, from software module description written over a dedicated language. We introduce a new merging approach that provides high MC/DC coverage for the description, with only a little number of test cases.Keywords: domain-specific language, MC/DC, test data generation, safety-critical software coverage
Procedia PDF Downloads 4417282 An Ontology Model for Systems Engineering Derived from ISO/IEC/IEEE 15288: 2015: Systems and Software Engineering - System Life Cycle Processes
Authors: Lan Yang, Kathryn Cormican, Ming Yu
Abstract:
ISO/IEC/IEEE 15288: 2015, Systems and Software Engineering - System Life Cycle Processes is an international standard that provides generic top-level process descriptions to support systems engineering (SE). However, the processes defined in the standard needs improvement to lift integrity and consistency. The goal of this research is to explore the way by building an ontology model for the SE standard to manage the knowledge of SE. The ontology model gives a whole picture of the SE knowledge domain by building connections between SE concepts. Moreover, it creates a hierarchical classification of the concepts to fulfil different requirements of displaying and analysing SE knowledge.Keywords: knowledge management, model-based systems engineering, ontology modelling, systems engineering ontology
Procedia PDF Downloads 4237281 Developing a Framework for Open Source Software Adoption in a Higher Education Institution in Uganda. A case of Kyambogo University
Authors: Kafeero Frank
Abstract:
This study aimed at developing a frame work for open source software adoption in an institution of higher learning in Uganda, with the case of KIU as a study area. There were mainly four research questions based on; individual staff interaction with open source software forum, perceived FOSS characteristics, organizational characteristics and external characteristics as factors that affect open source software adoption. The researcher used causal-correlation research design to study effects of these variables on open source software adoption. A quantitative approach was used in this study with self-administered questionnaire on a purposively and randomly sampled sample of university ICT staff. Resultant data was analyzed using means, correlation coefficients and multivariate multiple regression analysis as statistical tools. The study reveals that individual staff interaction with open source software forum and perceived FOSS characteristics were the primary factors that significantly affect FOSS adoption while organizational and external factors were secondary with no significant effect but significant correlation to open source software adoption. It was concluded that for effective open source software adoption to occur there must be more effort on primary factors with subsequent reinforcement of secondary factors to fulfill the primary factors and adoption of open source software. Lastly recommendations were made in line with conclusions for coming up with Kyambogo University frame work for open source software adoption in institutions of higher learning. Areas of further research recommended include; Stakeholders’ analysis of open source software adoption in Uganda; Challenges and way forward. Evaluation of Kyambogo University frame work for open source software adoption in institutions of higher learning. Framework development for cloud computing adoption in Ugandan universities. Framework for FOSS development in Uganda IT industryKeywords: open source software., organisational characteristics, external characteristics, cloud computing adoption
Procedia PDF Downloads 707280 Electronic Payment Recording with Payment History Retrieval Module: A System Software
Authors: Adrian Forca, Simeon Cainday III
Abstract:
The Electronic Payment Recording with Payment History Retrieval Module is developed intendedly for the College of Science and Technology. This system software innovates the manual process of recording the payments done in the department through the development of electronic payment recording system software shifting from the slow and time-consuming procedure to quick yet reliable and accurate way of recording payments because it immediately generates receipts for every transaction. As an added feature to its software process, generation of recorded payment report is integrated eliminating the manual reporting to a more easy and consolidated report. As an added feature to the system, all recorded payments of the students can be retrieved immediately making the system transparent and reliable payment recording software. Viewing the whole process, the system software will shift from the manual process to an organized software technology because the information will be stored in a logically correct and normalized database. Further, the software will be developed using the modern programming language and implement strict programming methods to validate all users accessing the system, evaluate all data passed into the system and information retrieved to ensure data accuracy and reliability. In addition, the system will identify the user and limit its access privilege to establish boundaries of the specific access to information allowed for the store, modify, and update making the information secure against unauthorized data manipulation. As a result, the System software will eliminate the manual procedure and replace with an innovative modern information technology resulting to the improvement of the whole process of payment recording fast, secure, accurate and reliable software innovations.Keywords: collection, information system, manual procedure, payment
Procedia PDF Downloads 1627279 Perception-Oriented Model Driven Development for Designing Data Acquisition Process in Wireless Sensor Networks
Authors: K. Indra Gandhi
Abstract:
Wireless Sensor Networks (WSNs) have always been characterized for application-specific sensing, relaying and collection of information for further analysis. However, software development was not considered as a separate entity in this process of data collection which has posed severe limitations on the software development for WSN. Software development for WSN is a complex process since the components involved are data-driven, network-driven and application-driven in nature. This implies that there is a tremendous need for the separation of concern from the software development perspective. A layered approach for developing data acquisition design based on Model Driven Development (MDD) has been proposed as the sensed data collection process itself varies depending upon the application taken into consideration. This work focuses on the layered view of the data acquisition process so as to ease the software point of development. A metamodel has been proposed that enables reusability and realization of the software development as an adaptable component for WSN systems. Further, observing users perception indicates that proposed model helps in improving the programmer's productivity by realizing the collaborative system involved.Keywords: data acquisition, model-driven development, separation of concern, wireless sensor networks
Procedia PDF Downloads 4347278 Application of the Global Optimization Techniques to the Optical Thin Film Design
Authors: D. Li
Abstract:
Optical thin films are used in a wide variety of optical components and there are many software tools programmed for advancing multilayer thin film design. The available software packages for designing the thin film structure may not provide optimum designs. Normally, almost all current software programs obtain their final designs either from optimizing a starting guess or by technique, which may or may not involve a pseudorandom process, that give different answers every time, depending upon the initial conditions. With the increasing power of personal computers, functional methods in optimization and synthesis of optical multilayer systems have been developed such as DGL Optimization, Simulated Annealing, Genetic Algorithms, Needle Optimization, Inductive Optimization and Flip-Flop Optimization. Among these, DGL Optimization has proved its efficiency in optical thin film designs. The application of the DGL optimization technique to the design of optical coating is presented. A DGL optimization technique is provided, and its main features are discussed. Guidelines on the application of the DGL optimization technique to various types of design problems are given. The innovative global optimization strategies used in a software tool, OnlyFilm, to optimize multilayer thin film designs through different filter designs are outlined. OnlyFilm is a powerful, versatile, and user-friendly thin film software on the market, which combines optimization and synthesis design capabilities with powerful analytical tools for optical thin film designers. It is also the only thin film design software that offers a true global optimization function.Keywords: optical coatings, optimization, design software, thin film design
Procedia PDF Downloads 3147277 Considering Partially Developed Artifacts in Change Impact Analysis Implementation
Authors: Nazri Kama, Sufyan Basri, Roslina Ibrahim
Abstract:
It is important to manage the changes in the software to meet the evolving needs of the customer. Accepting too many changes causes delay in the completion and it incurs additional cost. One type of information that helps to make the decision is through change impact analysis. Current impact analysis approaches assume that all classes in the class artifact are completely developed and the class artifact is used as a source of analysis. However, these assumptions are impractical for impact analysis in the software development phase as some classes in the class artifact are still under development or partially developed that leads to inaccuracy. This paper presents a novel impact analysis approach to be used in the software development phase. The significant achievements of the approach are demonstrated through an extensive experimental validation using three case studies.Keywords: software development, impact analysis, traceability, static analysis.
Procedia PDF Downloads 6067276 To Handle Data-Driven Software Development Projects Effectively
Authors: Shahnewaz Khan
Abstract:
Machine learning (ML) techniques are often used in projects for creating data-driven applications. These tasks typically demand additional research and analysis. The proper technique and strategy must be chosen to ensure the success of data-driven projects. Otherwise, even exerting a lot of effort, the necessary development might not always be possible. In this post, an effort to examine the workflow of data-driven software development projects and its implementation process in order to describe how to manage a project successfully. Which will assist in minimizing the added workload.Keywords: data, data-driven projects, data science, NLP, software project
Procedia PDF Downloads 817275 Evaluation of Energy Upgrade Measures and Connection of Renewable Energy Sources Using Software Tools: Case Study of an Academic Library Building in Larissa, Greece
Authors: Giwrgos S. Gkarmpounis, Aikaterini G. Rokkou, Marios N. Moschakis
Abstract:
Increased energy consumption in the academic buildings, creates the need to implement energy saving measures and to take advantage of the renewable energy sources to cover the electrical needs of those buildings. An Academic Library will be used as a case study. With the aid of RETScreen software that takes into account the energy consumptions and characteristics of the Library Building, it is proved that measures such as the replacement of fluorescent lights with led lights, the installation of outdoor shading, the replacement of the openings and Building Management System installation, provide a high level of energy savings. Moreover, given the available space of the building and the climatic data, the installation of a photovoltaic system of 100 kW can also cover a serious amount of the building energy consumption, unlike a wind system that seems uncompromising. Lastly, HOMER software is used to compare the use of a photovoltaic system against a wind system in order to verify the results that came up from the RETScreen software concerning the renewable energy sources.Keywords: building sector, energy saving measures, energy upgrading, homer software, renewable energy sources, RETScreen software
Procedia PDF Downloads 2267274 Factors of Influence in Software Process Improvement: An ISO/IEC 29110 for Very-Small Entities
Authors: N. Wongsai, R. Wetprasit, V. Siddoo
Abstract:
The recently introduced ISO/IEC 29110 standard Lifecycle profile for Very Small Entities (VSE) has been adopted and practiced in many small and medium software companies, including in Thailand’s software industry. Many Thai companies complete their software process improvement (SPI) initiative program and have been certified. There are, however, a number of participants fail to success. This study was concerned with the factors that influence the accomplishment of the standard implementation in various VSE characteristics. In order to achieve this goal, exploring and extracting critical factors from prior studies were carried out and then the obtained factors were validated by the standard experts. Data analysis of comments and recommendations was performed using a qualitative content analysis method. This paper presents the initial set of influence factors in both positive and negative impact the ISO/IEC 29110 implementation with an aim at helping such SPI practitioners with some considerations to manage appropriate adoption approach in order to achieve its implementation.Keywords: barriers, critical success factors, ISO/IEC 29110, Software Process Improvement, SPI, Very-Small Entity, VSE
Procedia PDF Downloads 3147273 An Approach to Specify Software Requirements in Semantic Form
Authors: Deepa Vijay, Chellammal Surianarayanan, Gopinath Ganapathy
Abstract:
Requirements of a software project serve as a guideline for the entire project team which enable the team towards producing the right outcome. As requirements are the key in deciding the success of the project, it should be specified in an unambiguous manner. Also, the requirements should be complete and consistent. It should be interpreted in the same way by the entire software project team as the customer interprets. Specifying requirements in textual manner is common in software development. This leads to poor understanding of the requirements which results in more errors and degraded quality. There are some literatures which focus on semantic way of specifying functional requirement which ensure the consistency and completeness of requirements. Alternately in the work, a method is proposed to map the syntactic requirements with corresponding semantics in the form of ontologies. This improves the understanding of requirements, prevents errors and improves quality.Keywords: functional requirement, ontology, requirements management, semantics
Procedia PDF Downloads 3637272 Applying Failure Modes and Effect Analysis Concept in a Global Software Development Process
Authors: Camilo Souza, Lidia Melo, Fernanda Terra, Francisco Caio, Marcelo Reis
Abstract:
SIDIA is a research and development (R&D) institute that belongs to Samsung’s global software development process. The SIDIA’s Model Team (MT) is a part of Samsung’s Mobile Division Area, which is responsible for the development of Android releases embedded in Samsung mobile devices. Basically, in this software development process, the kickoff occurs in some strategic countries (e.g., South Korea) where some software requirements are applied and the initial software tests are performed. When the software achieves a more mature level, a new branch is derived, and the development continues in subsidiaries from other strategic countries (e.g., SIDIA-Brazil). However, even in the newly created branches, there are several interactions between developers from different nationalities in order to fix bugs reported during test activities, apply some specific requirements from partners and develop new features as well. Despite the GSD strategy contributes to improving software development, some challenges are also introduced as well. In this paper, we share the initial results about the application of the failure modes and effect analysis (FMEA) concept in the software development process followed by the SIDIA’s model team. The main goal was to identify and mitigate the process potential failures through the application of recommended actions. The initial results show that the application of the FMEA concept allows us to identify the potential failures in our GSD process as well as to propose corrective actions to mitigate them. Finally, FMEA encouraged members of different teams to take actions that contribute to improving our GSD process.Keywords: global software development, potential failures, FMEA, recommended actions
Procedia PDF Downloads 2237271 Application of Axiomatic Design in Industrial Control and Automation Software
Authors: Aydin Homay, Mario de Sousa, Martin Wollschlaeger
Abstract:
Axiomatic design is a system design methodology that systematically analyses the transformation of customer needs into functional requirements, design parameters, and process variables. This approach aims to create high-quality product or system designs by adhering to specific design principles or axioms, namely, the independence and information axiom. The application of axiomatic design in the design of industrial control and automation software systems could be challenging due to the high flexibility exposed by the software system and the coupling enforced by the hardware part. This paper aims to present how to use axiomatic design for designing industrial control and automation software systems and how to satisfy the independence axiom within these tightly coupled systems.Keywords: axiomatic design, decoupling, uncoupling, automation
Procedia PDF Downloads 467270 Open Source Software in Higher Education: Oman SQU Case Study
Authors: Amal S. Al-Badi, Ali H. Al-Badi
Abstract:
Many organizations are opting to adopt Open Source Software (OSS) as it is the current trend to rely on each other rather than on companies (Software vendors). It is a clear shift from organizations to individuals, the concept being to rely on collective participation rather than companies/vendors. The main objectives of this research are 1) to identify the current level of OSS usage in Sultan Qaboos University; 2) to identify the potential benefits of using OSS in educational institutes; 3) to identify the OSS applications that are most likely to be used within an educational institute; 4) to identify the existing and potential barriers to the successful adoption of OSS in education. To achieve these objectives a two-stage research method was conducted. First a rigorous literature review of previously published material was performed (interpretive/descriptive approach), and then a set of interviews were conducted with the IT professionals at Sultan Qaboos University in Oman in order to explore the extent and nature of their usage of OSS.Keywords: open source software, social software, e-learning 2.0, Web 2.0, connectivism, personal learning environment (PLE), OpenCourseWare
Procedia PDF Downloads 3027269 Improving the Run Times of Existing and Historical Demand Models Using Simple Python Scripting
Authors: Abhijeet Ostawal, Parmjit Lall
Abstract:
The run times for a large strategic model that we were managing had become too long leading to delays in project delivery, increased costs and loss in productivity. Software developers are continuously working towards developing more efficient tools by changing their algorithms and processes. The issue faced by our team was how do you apply the latest technologies on validated existing models which are based on much older versions of software that do not have the latest software capabilities. The multi-model transport model that we had could only be run in sequential assignment order. Recent upgrades to the software now allowed the assignment to be run in parallel, a concept called parallelization. Parallelization is a Python script working only within the latest version of the software. A full model transfer to the latest version was not possible due to time, budget and the potential changes in trip assignment. This article is to show the method to adapt and update the Python script in such a way that it can be used in older software versions by calling the latest version and then recalling the old version for assignment model without affecting the results. Through a process of trial-and-error run time savings of up to 30-40% have been achieved. Assignment results were maintained within the older version and through this learning process we’ve applied this methodology to other even older versions of the software resulting in huge time savings, more productivity and efficiency for both client and consultant.Keywords: model run time, demand model, parallelisation, python scripting
Procedia PDF Downloads 1167268 SVID: Structured Vulnerability Intelligence for Building Deliberated Vulnerable Environment
Authors: Wenqing Fan, Yixuan Cheng, Wei Huang
Abstract:
The diversity and complexity of modern IT systems make it almost impossible for internal teams to find vulnerabilities in all software before the software is officially released. The emergence of threat intelligence and vulnerability reporting policy has greatly reduced the burden on software vendors and organizations to find vulnerabilities. However, to prove the existence of the reported vulnerability, it is necessary but difficult for security incident response team to build a deliberated vulnerable environment from the vulnerability report with limited and incomplete information. This paper presents a structured, standardized, machine-oriented vulnerability intelligence format, that can be used to automate the orchestration of Deliberated Vulnerable Environment (DVE). This paper highlights the important role of software configuration and proof of vulnerable specifications in vulnerability intelligence, and proposes a triad model, which is called DIR (Dependency Configuration, Installation Configuration, Runtime Configuration), to define software configuration. Finally, this paper has also implemented a prototype system to demonstrate that the orchestration of DVE can be automated with the intelligence.Keywords: DIR triad model, DVE, vulnerability intelligence, vulnerability recurrence
Procedia PDF Downloads 1197267 Software-Defined Networks in Utility Power Networks
Authors: Ava Salmanpour, Hanieh Saeedi, Payam Rouhi, Elahe Hamzeil, Shima Alimohammadi, Siamak Hossein Khalaj, Mohammad Asadian
Abstract:
Software-defined network (SDN) is a network architecture designed to control network using software application in a central manner. This ability enables remote control of the whole network regardless of the network technology. In fact, in this architecture network intelligence is separated from physical infrastructure, it means that required network components can be implemented virtually using software applications. Today, power networks are characterized by a high range of complexity with a large number of intelligent devices, processing both huge amounts of data and important information. Therefore, reliable and secure communication networks are required. SDNs are the best choice to meet this issue. In this paper, SDN networks capabilities and characteristics will be reviewed and different basic controllers will be compared. The importance of using SDNs to escalate efficiency and reliability in utility power networks is going to be discussed and the comparison between the SDN-based power networks and traditional networks will be explained.Keywords: software-defined network, SDNs, utility network, open flow, communication, gas and electricity, controller
Procedia PDF Downloads 1127266 Software Architecture Implications on Development Productivity: A Case of Malawi Point of Care Electronic Medical Records
Authors: Emmanuel Mkambankhani, Tiwonge Manda
Abstract:
Software platform architecture includes system components, their relationships, and design, as well as evolution principles. Software architecture and documentation affect a platform's customizability and openness to external innovators, thus affecting developer productivity. Malawi Point of Care (POC) Electronic Medical Records System (EMRS) follows some architectural design standards, but it lacks third-party innovators and is difficult to customize as compared to CommCare and District Health Information System 2 (DHIS2). Improving software architecture and documentation for the Malawi POC will increase productivity and third-party contributions. A conceptual framework based on Generativity and Boundary Resource Model (BRM) was used to compare the three platforms. Interviews, observations, and document analysis were used to collect primary and secondary data. Themes were found by analyzing qualitative and quantitative data, which led to the following results. Configurable, flexible, and cross-platform software platforms and the availability of interfaces (Boundary Resources) that let internal and external developers interact with the platform's core functionality, hence boosting developer productivity. Furthermore, documentation increases developer productivity, while its absence inhibits the use of resources. The study suggests that the architecture and openness of the Malawi POC EMR software platform will be improved by standardizing web application program interfaces (APIs) and making interfaces that can be changed by the user. In addition, increasing the availability of documentation and training will improve the use of boundary resources, thus improving internal and third-party development productivity.Keywords: health systems, configurable platforms, software architecture, software documentation, software development productivity
Procedia PDF Downloads 877265 Talent Sourcing Practices in Sri Lankan Software Industry
Authors: Malmi Amadoru, Chandana Gamage
Abstract:
Sri Lanka is emerging as a global IT-BPO hub topping up among the 20 global outsourcing destinations. When setting up a new venture in Sri Lanka, talent sourcing plays one of the key functions due to the rapid growth of workforce. Getting competent people with right skills for right positions leads organizations achieving its vision, mission and objectives. It also drives in earning competitive advantage over industry competitors. Thus it is crucial to scan and recruit the best employees to an organization. However there is no published information available on recruitment methods utilized in Sri Lankan software industry, as a study of this nature had not being conducted previously in Sri Lanka. The main objective of this study was to explore various talent sourcing practices exploited in Sri Lankan software industry. Also this study analyses the extent which Sri Lanka has adopted different recruitment strategies utilized in worldwide and its deviations. The research outcome is beneficial for HR professionals to identify the current trends in recruitment practices. Moreover investors who are interested in IT-BPO engagements can gain a thorough knowledge about talent sourcing techniques in Sri Lankan software industry. Finally, this research clues trending areas which can be further investigated in future.Keywords: IT-BPO, recruitment, Sri Lanka, software industry, talent
Procedia PDF Downloads 4857264 Socio-Technical Systems: Transforming Theory into Practice
Authors: L. Ngowi, N. H. Mvungi
Abstract:
This paper critically examines the evolution of socio-technical systems theory, its practices, and challenges in system design and development. It examines concepts put forward by researchers focusing on the application of the theory in software engineering. There are various methods developed that use socio-technical concepts based on systems engineering without remarkable success. The main constraint is the large amount of data and inefficient techniques used in the application of the concepts in system engineering for developing time-bound systems and within a limited/controlled budget. This paper critically examines each of the methods, highlight bottlenecks and suggest the way forward. Since socio-technical systems theory only explains what to do, but not how doing it, hence engineers are not using the concept to save time, costs and reduce risks associated with new frameworks. Hence, a new framework, which can be considered as a practical approach is proposed that borrows concepts from soft systems method, agile systems development and object-oriented analysis and design to bridge the gap between theory and practice. The approach will enable the development of systems using socio-technical systems theory to attract/enable the system engineers/software developers to use socio-technical systems theory in building worthwhile information systems to avoid fragilities and hostilities in the work environment.Keywords: socio-technical systems, human centered design, software engineering, cognitive engineering, soft systems, systems engineering
Procedia PDF Downloads 284