This study introduces EksPy Python framework, a novel framework
designed for developing graphical user interface (GUI) applications in
Python. EksPy framework is built on PyQt5, which is a collection of Python
bindings for the Qt libraries, and it provides a user-friendly and intuitive
interface. The comparative analysis of EksPy framework with existing
frameworks such as Tkinter and PyQt highlights its notable features,
including ease of use, rapid development, enhanced performance, effective
database management, and the model-view-controller (MVC) concept. The
experimental results illustrate that EksPy framework requires less code and
enhances code readability, thereby facilitating better understanding and
efficient development. Additionally, EksPy framework offers a modern and
customizable appearance, surpassing Tkinter’s capabilities. Furthermore, it
incorporates a built-in object-relational mapping (ORM) feature to simplify
database interactions and adheres to the MVC architectural pattern. In
conclusion, EksPy Python framework emerges as a powerful, user-friendly,
and efficient framework for GUI application development in Python.
This document discusses the development of a mobile application called PCE Connect for students at Priyadarshini College of Engineering (PCE). PCE Connect aims to be a companion app for students that contains several useful modules. It also aims to support emerging developers at PCE by providing them with a user-friendly interface and environment to develop applications. The app features an attractive interface and is designed to be intuitive and seamless for users. It includes modules like the college website, question papers, notes, aptitude tests, and more. Developing the app provides students access to important information and resources in one place through their mobile devices.
IRJET- Plug-In based System for Data VisualizationIRJET Journal
This document describes a plug-in based system for data visualization. The system allows users to upload different file types like Excel, HTML, CSV and visualize the data through interactive visualizations. The system uses a plug-in architecture that allows new plug-ins to be added to support additional file formats. Each plug-in implements a reader interface to extract data from its file type and output it as JSON. The system then hosts the JSON and provides various visualization patterns for users to analyze and report on the data. The plug-in based design makes the system flexible and adaptable to future changes and additions of new plug-in types.
Supermarket Management System Project Report.pdfKamal Acharya
Supermarket management is a stand-alone J2EE using Eclipse Juno program.
This project contains all the necessary required information about maintaining
the supermarket billing system.
The core idea of this project to minimize the paper work and centralize the
data. Here all the communication is taken in secure manner. That is, in this
application the information will be stored in client itself. For further security the
data base is stored in the back-end oracle and so no intruders can access it.
The Architecture Of Software Defined Radios EssayDivya Watson
This project aims to build a smart assistant to help users purchase books online by integrating
multiple sources of information about books and the purchasing process into a single system. By
consolidating data from sources about books, reviews, prices and retailers, the assistant can provide
users all the necessary information to make an informed purchase decision in one place. The goal is
to streamline the online book buying experience for users by eliminating the need to search across
multiple websites during the purchase process.
This document provides an overview of an Institute Management System project developed using Java and Eclipse. It includes an introduction to the project, objectives to automate an institute's operations and make information retrieval faster and more efficient. It describes the technologies used - Java for the programming language, Eclipse as the IDE, and Notepad for text editing. Finally, it outlines the modules to be developed like student, teacher, course management and fee payment.
Analyzing Optimal Practises for Web FrameworksIRJET Journal
This document analyzes optimal practices for web frameworks and compares PHP frameworks. It discusses how PHP frameworks like CodeIgniter aid in web development by cutting down development time and enforcing code standards. The document presents a model for evaluating major PHP frameworks based on factors like durability, technical flexibility, and performance. It finds that evaluating frameworks on these factors allows developers to quickly identify the framework best suited to their needs.
IQP is an end-to-end solution for developing, managing, and delivering IoT and mobile apps without programming. It provides both a development environment and execution environment using a web browser. Apps in IQP consist of pages made up of UI elements connected to entities, queries, and device functions. Properties define elements' appearance and actions. Logic is set through conditions and formulas. Device data and control are integrated through predefined functions connected to UI elements via drag-and-drop.
This document describes a project to develop an Institute Management System using Java. It includes:
1. An overview of the objectives to automate operations like student, teacher, course and fee management currently done manually.
2. A description of the technologies used - Notepad for text editing, Java for programming, Eclipse IDE for development.
3. An outline of the modules to be developed including student information, teacher information, course management, fees management, and admin functionality.
This document discusses the development of a mobile application called PCE Connect for students at Priyadarshini College of Engineering (PCE). PCE Connect aims to be a companion app for students that contains several useful modules. It also aims to support emerging developers at PCE by providing them with a user-friendly interface and environment to develop applications. The app features an attractive interface and is designed to be intuitive and seamless for users. It includes modules like the college website, question papers, notes, aptitude tests, and more. Developing the app provides students access to important information and resources in one place through their mobile devices.
IRJET- Plug-In based System for Data VisualizationIRJET Journal
This document describes a plug-in based system for data visualization. The system allows users to upload different file types like Excel, HTML, CSV and visualize the data through interactive visualizations. The system uses a plug-in architecture that allows new plug-ins to be added to support additional file formats. Each plug-in implements a reader interface to extract data from its file type and output it as JSON. The system then hosts the JSON and provides various visualization patterns for users to analyze and report on the data. The plug-in based design makes the system flexible and adaptable to future changes and additions of new plug-in types.
Supermarket Management System Project Report.pdfKamal Acharya
Supermarket management is a stand-alone J2EE using Eclipse Juno program.
This project contains all the necessary required information about maintaining
the supermarket billing system.
The core idea of this project to minimize the paper work and centralize the
data. Here all the communication is taken in secure manner. That is, in this
application the information will be stored in client itself. For further security the
data base is stored in the back-end oracle and so no intruders can access it.
The Architecture Of Software Defined Radios EssayDivya Watson
This project aims to build a smart assistant to help users purchase books online by integrating
multiple sources of information about books and the purchasing process into a single system. By
consolidating data from sources about books, reviews, prices and retailers, the assistant can provide
users all the necessary information to make an informed purchase decision in one place. The goal is
to streamline the online book buying experience for users by eliminating the need to search across
multiple websites during the purchase process.
This document provides an overview of an Institute Management System project developed using Java and Eclipse. It includes an introduction to the project, objectives to automate an institute's operations and make information retrieval faster and more efficient. It describes the technologies used - Java for the programming language, Eclipse as the IDE, and Notepad for text editing. Finally, it outlines the modules to be developed like student, teacher, course management and fee payment.
Analyzing Optimal Practises for Web FrameworksIRJET Journal
This document analyzes optimal practices for web frameworks and compares PHP frameworks. It discusses how PHP frameworks like CodeIgniter aid in web development by cutting down development time and enforcing code standards. The document presents a model for evaluating major PHP frameworks based on factors like durability, technical flexibility, and performance. It finds that evaluating frameworks on these factors allows developers to quickly identify the framework best suited to their needs.
IQP is an end-to-end solution for developing, managing, and delivering IoT and mobile apps without programming. It provides both a development environment and execution environment using a web browser. Apps in IQP consist of pages made up of UI elements connected to entities, queries, and device functions. Properties define elements' appearance and actions. Logic is set through conditions and formulas. Device data and control are integrated through predefined functions connected to UI elements via drag-and-drop.
This document describes a project to develop an Institute Management System using Java. It includes:
1. An overview of the objectives to automate operations like student, teacher, course and fee management currently done manually.
2. A description of the technologies used - Notepad for text editing, Java for programming, Eclipse IDE for development.
3. An outline of the modules to be developed including student information, teacher information, course management, fees management, and admin functionality.
Comparing the performance of a business process: using Excel & PythonIRJET Journal
This document compares using Excel versus Python for business process performance and data analysis. It finds that Python offers advantages for handling large datasets, easily performing complex analysis tasks like filtering, merging datasets, and detecting duplicates. Python also allows for easier creation of dashboards, maintains data integrity by storing it securely in databases, and enables real-time sharing. The conclusion is that Python is a superior automated method for data-driven business analysis and decision-making compared to Excel.
1. The document describes an automatic graphical design generator system that takes a program file as input and generates a graphical design of the program without requiring the user to have knowledge of the program.
2. It aims to reduce the time and effort required to manually create graphical designs by dragging and dropping symbols. The proposed system can generate designs for programs written in languages like Java as long as the program is logically and syntactically correct.
3. Graphical designs provide an easy way to understand complex programs for students and software testers. The automatic generation of designs from code can also assist with reverse engineering programs where the code is available but a design is needed.
Design and Monitoring Performance of Digital PropertiesIRJET Journal
This document discusses the design and monitoring of digital properties such as web applications and APIs. It proposes using the Django framework to develop a web application and integrate APIs. It describes using cron jobs to perform backend tasks and external libraries for the frontend. An Elastic agent would be installed to monitor application performance on Kibana dashboards. This provides an end-to-end solution for developing, integrating, and monitoring digital properties using open source tools.
This document provides a summary of Bhanu Shankar Pottipareddy's professional experience and qualifications. Some key points:
1. He has over 9 years of experience in IT projects involving multi-tier applications, business process reengineering, and client/server development, primarily with Oracle E-Business Suite Project Accounting.
2. He has managed teams that designed and implemented functionality like the Schedule of Values and Cost Breakdown Structure for Oracle EBS Project Accounting.
3. His technical skills include Java, J2EE, PL/SQL, Oracle Forms, ADF, mobile development, web services, and various application servers and IDEs.
4. He has
This document summarizes a presentation from the JiveWorld conference about integrating systems with Jive. It discusses:
1. Different integration patterns for Jive like adding new capabilities, displaying information, and aggregating streams.
2. Accenture's experience building a workflow tool as Jive plugins and lessons learned in moving to the tile model in Jive 7.
3. Tips for developers in using the Jive SDK like focusing tile content and interactions, managing activity stream data, and leveraging new Jive extension points.
This document summarizes a student project to develop a supermarket billing system. The system was created using C++ and Code::Blocks as an IDE. It aims to automate the billing process for customers by calculating totals, generating receipts, and maintaining a product database. The objectives are to increase efficiency, reduce errors and paperwork, and provide a better experience for customers and store employees. A data flow diagram is included, and the system offers advantages like faster calculations, reduced material costs, and a more user-friendly shopping process.
The document provides information about a Python programming lecture. It covers topics like introduction to Python, input/output, decision making, loops, functions, files, classes and objects, and GUI programming. It also discusses using Python for web development and popular frameworks like Flask and Django. Flask is a micro framework that requires building more from scratch, while Django is full-stack and includes common features out of the box.
IRJET-Towards a Methodology for the Development of Plug-InIRJET Journal
This document proposes a methodology for developing plug-ins for Microsoft Word using the software development life cycle (SDLC) approach. It outlines the key phases of plug-in development: 1) requirements and planning to determine goals and tasks, 2) design and architecture to layout the system, and 3) construction through coding and integrating modules. It also discusses testing integrated modules and software functionality, and provides an example of a content improvement plug-in that checks spelling, grammar, and tone in documents. The methodology aims to make plug-in development easier through a structured process.
Arunkumar is a highly motivated senior software engineer with over 7 years of experience developing Java applications. He has extensive experience with technologies like Java, Swing, Spring MVC, Hibernate, JavaScript, and databases like MySQL and PostgreSQL. Some of his projects include developing an oil and gas application, an embedded device monitoring application using OSGI and Felix, and several reporting and data analysis tools. He is proficient in agile methodologies and a good communicator.
1. The document describes a Students Club web-based chat application that allows students to communicate with text messaging in private chats or groups.
2. The application aims to help students easily discuss assignments, projects, and activities with their peers. It provides utilities to reduce distractions and make group discussions more productive.
3. The proposed system would create a centralized repository for user profiles and chat histories. It would allow students to easily access chat rooms and search for others in their department or field of study.
Hi There, This Synopsis report is Implemented by Umang Saxena,Sakshi Sharma and Ronit Shrivastava of IT Branch,SVVV Indore.This will help for those students who wants to make a good and effective report regarding to any topic.
Thank you
Warm regards
This document describes a six-week industrial training report submitted by Gaurav Gopal Gupta at the Indian Institute of Science. The report focuses on implementing a system for the real-time graphical representation of data from IoT devices. The data is transmitted wirelessly and stored on a server, where it is processed and used to continuously update line graphs. Users can access a website to monitor their data, compare it to historical records, and better understand the information captured by their devices. The system was created using technologies like XAMPP, MySQL, PHP, FusionCharts, and frameworks like MVC and Bootstrap. Devices like Raspberry Pi and Arduino were also used to capture and transmit sensor data.
Vade Meccum_Book reading and publishing software NetBeans.docxGeetaShreeprabha
This document provides a summary of the code and forms used in an online book reading and publishing software project created in Java NetBeans IDE using MySQL database. The project contains forms like homepage, registration, books, authors, publish etc. Each form has code for buttons, text fields and other components. The forms are interconnected and allow users to read books, publish stories and view their profile. The project aims to automate functions of an online book store using a GUI based application.
Technologies are improving day by day that aims at catering to the needs of individuals and businesses. However, software companies require some tools when they want to improve productivity.
https://www.tycoonstory.com/resource/best-devops-tools-to-master-in-2022/
An Enhanced Wiki For Requirements EngineeringJim Jimenez
This document presents a rationale and design for an enhanced Wiki system to support requirements engineering activities. It aims to address issues with current approaches by fostering collaboration, enforcing best practices, and integrating with other project management tools. The key aspects of the proposed Wiki system include: a conceptual model with concepts like namespaces, pages, and relations; dynamic attributes to capture metadata about requirements; fine-grained access control; and templates to promote reuse and best practices. The system is designed to integrate tightly with the existing ProjectIT tools and platform to provide a collaborative requirements engineering solution.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
More Related Content
Similar to EksPy: a new Python framework for developing graphical user interface based PyQt5
Comparing the performance of a business process: using Excel & PythonIRJET Journal
This document compares using Excel versus Python for business process performance and data analysis. It finds that Python offers advantages for handling large datasets, easily performing complex analysis tasks like filtering, merging datasets, and detecting duplicates. Python also allows for easier creation of dashboards, maintains data integrity by storing it securely in databases, and enables real-time sharing. The conclusion is that Python is a superior automated method for data-driven business analysis and decision-making compared to Excel.
1. The document describes an automatic graphical design generator system that takes a program file as input and generates a graphical design of the program without requiring the user to have knowledge of the program.
2. It aims to reduce the time and effort required to manually create graphical designs by dragging and dropping symbols. The proposed system can generate designs for programs written in languages like Java as long as the program is logically and syntactically correct.
3. Graphical designs provide an easy way to understand complex programs for students and software testers. The automatic generation of designs from code can also assist with reverse engineering programs where the code is available but a design is needed.
Design and Monitoring Performance of Digital PropertiesIRJET Journal
This document discusses the design and monitoring of digital properties such as web applications and APIs. It proposes using the Django framework to develop a web application and integrate APIs. It describes using cron jobs to perform backend tasks and external libraries for the frontend. An Elastic agent would be installed to monitor application performance on Kibana dashboards. This provides an end-to-end solution for developing, integrating, and monitoring digital properties using open source tools.
This document provides a summary of Bhanu Shankar Pottipareddy's professional experience and qualifications. Some key points:
1. He has over 9 years of experience in IT projects involving multi-tier applications, business process reengineering, and client/server development, primarily with Oracle E-Business Suite Project Accounting.
2. He has managed teams that designed and implemented functionality like the Schedule of Values and Cost Breakdown Structure for Oracle EBS Project Accounting.
3. His technical skills include Java, J2EE, PL/SQL, Oracle Forms, ADF, mobile development, web services, and various application servers and IDEs.
4. He has
This document summarizes a presentation from the JiveWorld conference about integrating systems with Jive. It discusses:
1. Different integration patterns for Jive like adding new capabilities, displaying information, and aggregating streams.
2. Accenture's experience building a workflow tool as Jive plugins and lessons learned in moving to the tile model in Jive 7.
3. Tips for developers in using the Jive SDK like focusing tile content and interactions, managing activity stream data, and leveraging new Jive extension points.
This document summarizes a student project to develop a supermarket billing system. The system was created using C++ and Code::Blocks as an IDE. It aims to automate the billing process for customers by calculating totals, generating receipts, and maintaining a product database. The objectives are to increase efficiency, reduce errors and paperwork, and provide a better experience for customers and store employees. A data flow diagram is included, and the system offers advantages like faster calculations, reduced material costs, and a more user-friendly shopping process.
The document provides information about a Python programming lecture. It covers topics like introduction to Python, input/output, decision making, loops, functions, files, classes and objects, and GUI programming. It also discusses using Python for web development and popular frameworks like Flask and Django. Flask is a micro framework that requires building more from scratch, while Django is full-stack and includes common features out of the box.
IRJET-Towards a Methodology for the Development of Plug-InIRJET Journal
This document proposes a methodology for developing plug-ins for Microsoft Word using the software development life cycle (SDLC) approach. It outlines the key phases of plug-in development: 1) requirements and planning to determine goals and tasks, 2) design and architecture to layout the system, and 3) construction through coding and integrating modules. It also discusses testing integrated modules and software functionality, and provides an example of a content improvement plug-in that checks spelling, grammar, and tone in documents. The methodology aims to make plug-in development easier through a structured process.
Arunkumar is a highly motivated senior software engineer with over 7 years of experience developing Java applications. He has extensive experience with technologies like Java, Swing, Spring MVC, Hibernate, JavaScript, and databases like MySQL and PostgreSQL. Some of his projects include developing an oil and gas application, an embedded device monitoring application using OSGI and Felix, and several reporting and data analysis tools. He is proficient in agile methodologies and a good communicator.
1. The document describes a Students Club web-based chat application that allows students to communicate with text messaging in private chats or groups.
2. The application aims to help students easily discuss assignments, projects, and activities with their peers. It provides utilities to reduce distractions and make group discussions more productive.
3. The proposed system would create a centralized repository for user profiles and chat histories. It would allow students to easily access chat rooms and search for others in their department or field of study.
Hi There, This Synopsis report is Implemented by Umang Saxena,Sakshi Sharma and Ronit Shrivastava of IT Branch,SVVV Indore.This will help for those students who wants to make a good and effective report regarding to any topic.
Thank you
Warm regards
This document describes a six-week industrial training report submitted by Gaurav Gopal Gupta at the Indian Institute of Science. The report focuses on implementing a system for the real-time graphical representation of data from IoT devices. The data is transmitted wirelessly and stored on a server, where it is processed and used to continuously update line graphs. Users can access a website to monitor their data, compare it to historical records, and better understand the information captured by their devices. The system was created using technologies like XAMPP, MySQL, PHP, FusionCharts, and frameworks like MVC and Bootstrap. Devices like Raspberry Pi and Arduino were also used to capture and transmit sensor data.
Vade Meccum_Book reading and publishing software NetBeans.docxGeetaShreeprabha
This document provides a summary of the code and forms used in an online book reading and publishing software project created in Java NetBeans IDE using MySQL database. The project contains forms like homepage, registration, books, authors, publish etc. Each form has code for buttons, text fields and other components. The forms are interconnected and allow users to read books, publish stories and view their profile. The project aims to automate functions of an online book store using a GUI based application.
Technologies are improving day by day that aims at catering to the needs of individuals and businesses. However, software companies require some tools when they want to improve productivity.
https://www.tycoonstory.com/resource/best-devops-tools-to-master-in-2022/
An Enhanced Wiki For Requirements EngineeringJim Jimenez
This document presents a rationale and design for an enhanced Wiki system to support requirements engineering activities. It aims to address issues with current approaches by fostering collaboration, enforcing best practices, and integrating with other project management tools. The key aspects of the proposed Wiki system include: a conceptual model with concepts like namespaces, pages, and relations; dynamic attributes to capture metadata about requirements; fine-grained access control; and templates to promote reuse and best practices. The system is designed to integrate tightly with the existing ProjectIT tools and platform to provide a collaborative requirements engineering solution.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
Similar to EksPy: a new Python framework for developing graphical user interface based PyQt5 (20)
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Neural network optimizer of proportional-integral-differential controller par...IJECEIAES
Wide application of proportional-integral-differential (PID)-regulator in industry requires constant improvement of methods of its parameters adjustment. The paper deals with the issues of optimization of PID-regulator parameters with the use of neural network technology methods. A methodology for choosing the architecture (structure) of neural network optimizer is proposed, which consists in determining the number of layers, the number of neurons in each layer, as well as the form and type of activation function. Algorithms of neural network training based on the application of the method of minimizing the mismatch between the regulated value and the target value are developed. The method of back propagation of gradients is proposed to select the optimal training rate of neurons of the neural network. The neural network optimizer, which is a superstructure of the linear PID controller, allows increasing the regulation accuracy from 0.23 to 0.09, thus reducing the power consumption from 65% to 53%. The results of the conducted experiments allow us to conclude that the created neural superstructure may well become a prototype of an automatic voltage regulator (AVR)-type industrial controller for tuning the parameters of the PID controller.
An improved modulation technique suitable for a three level flying capacitor ...IJECEIAES
This research paper introduces an innovative modulation technique for controlling a 3-level flying capacitor multilevel inverter (FCMLI), aiming to streamline the modulation process in contrast to conventional methods. The proposed
simplified modulation technique paves the way for more straightforward and
efficient control of multilevel inverters, enabling their widespread adoption and
integration into modern power electronic systems. Through the amalgamation of
sinusoidal pulse width modulation (SPWM) with a high-frequency square wave
pulse, this controlling technique attains energy equilibrium across the coupling
capacitor. The modulation scheme incorporates a simplified switching pattern
and a decreased count of voltage references, thereby simplifying the control
algorithm.
A review on features and methods of potential fishing zoneIJECEIAES
This review focuses on the importance of identifying potential fishing zones in seawater for sustainable fishing practices. It explores features like sea surface temperature (SST) and sea surface height (SSH), along with classification methods such as classifiers. The features like SST, SSH, and different classifiers used to classify the data, have been figured out in this review study. This study underscores the importance of examining potential fishing zones using advanced analytical techniques. It thoroughly explores the methodologies employed by researchers, covering both past and current approaches. The examination centers on data characteristics and the application of classification algorithms for classification of potential fishing zones. Furthermore, the prediction of potential fishing zones relies significantly on the effectiveness of classification algorithms. Previous research has assessed the performance of models like support vector machines, naïve Bayes, and artificial neural networks (ANN). In the previous result, the results of support vector machine (SVM) were 97.6% more accurate than naive Bayes's 94.2% to classify test data for fisheries classification. By considering the recent works in this area, several recommendations for future works are presented to further improve the performance of the potential fishing zone models, which is important to the fisheries community.
Electrical signal interference minimization using appropriate core material f...IJECEIAES
As demand for smaller, quicker, and more powerful devices rises, Moore's law is strictly followed. The industry has worked hard to make little devices that boost productivity. The goal is to optimize device density. Scientists are reducing connection delays to improve circuit performance. This helped them understand three-dimensional integrated circuit (3D IC) concepts, which stack active devices and create vertical connections to diminish latency and lower interconnects. Electrical involvement is a big worry with 3D integrates circuits. Researchers have developed and tested through silicon via (TSV) and substrates to decrease electrical wave involvement. This study illustrates a novel noise coupling reduction method using several electrical involvement models. A 22% drop in electrical involvement from wave-carrying to victim TSVs introduces this new paradigm and improves system performance even at higher THz frequencies.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Bibliometric analysis highlighting the role of women in addressing climate ch...IJECEIAES
Fossil fuel consumption increased quickly, contributing to climate change
that is evident in unusual flooding and draughts, and global warming. Over
the past ten years, women's involvement in society has grown dramatically,
and they succeeded in playing a noticeable role in reducing climate change.
A bibliometric analysis of data from the last ten years has been carried out to
examine the role of women in addressing the climate change. The analysis's
findings discussed the relevant to the sustainable development goals (SDGs),
particularly SDG 7 and SDG 13. The results considered contributions made
by women in the various sectors while taking geographic dispersion into
account. The bibliometric analysis delves into topics including women's
leadership in environmental groups, their involvement in policymaking, their
contributions to sustainable development projects, and the influence of
gender diversity on attempts to mitigate climate change. This study's results
highlight how women have influenced policies and actions related to climate
change, point out areas of research deficiency and recommendations on how
to increase role of the women in addressing the climate change and
achieving sustainability. To achieve more successful results, this initiative
aims to highlight the significance of gender equality and encourage
inclusivity in climate change decision-making processes.
Voltage and frequency control of microgrid in presence of micro-turbine inter...IJECEIAES
The active and reactive load changes have a significant impact on voltage
and frequency. In this paper, in order to stabilize the microgrid (MG) against
load variations in islanding mode, the active and reactive power of all
distributed generators (DGs), including energy storage (battery), diesel
generator, and micro-turbine, are controlled. The micro-turbine generator is
connected to MG through a three-phase to three-phase matrix converter, and
the droop control method is applied for controlling the voltage and
frequency of MG. In addition, a method is introduced for voltage and
frequency control of micro-turbines in the transition state from gridconnected mode to islanding mode. A novel switching strategy of the matrix
converter is used for converting the high-frequency output voltage of the
micro-turbine to the grid-side frequency of the utility system. Moreover,
using the switching strategy, the low-order harmonics in the output current
and voltage are not produced, and consequently, the size of the output filter
would be reduced. In fact, the suggested control strategy is load-independent
and has no frequency conversion restrictions. The proposed approach for
voltage and frequency regulation demonstrates exceptional performance and
favorable response across various load alteration scenarios. The suggested
strategy is examined in several scenarios in the MG test systems, and the
simulation results are addressed.
Enhancing battery system identification: nonlinear autoregressive modeling fo...IJECEIAES
Precisely characterizing Li-ion batteries is essential for optimizing their
performance, enhancing safety, and prolonging their lifespan across various
applications, such as electric vehicles and renewable energy systems. This
article introduces an innovative nonlinear methodology for system
identification of a Li-ion battery, employing a nonlinear autoregressive with
exogenous inputs (NARX) model. The proposed approach integrates the
benefits of nonlinear modeling with the adaptability of the NARX structure,
facilitating a more comprehensive representation of the intricate
electrochemical processes within the battery. Experimental data collected
from a Li-ion battery operating under diverse scenarios are employed to
validate the effectiveness of the proposed methodology. The identified
NARX model exhibits superior accuracy in predicting the battery's behavior
compared to traditional linear models. This study underscores the
importance of accounting for nonlinearities in battery modeling, providing
insights into the intricate relationships between state-of-charge, voltage, and
current under dynamic conditions.
Smart grid deployment: from a bibliometric analysis to a surveyIJECEIAES
Smart grids are one of the last decades' innovations in electrical energy.
They bring relevant advantages compared to the traditional grid and
significant interest from the research community. Assessing the field's
evolution is essential to propose guidelines for facing new and future smart
grid challenges. In addition, knowing the main technologies involved in the
deployment of smart grids (SGs) is important to highlight possible
shortcomings that can be mitigated by developing new tools. This paper
contributes to the research trends mentioned above by focusing on two
objectives. First, a bibliometric analysis is presented to give an overview of
the current research level about smart grid deployment. Second, a survey of
the main technological approaches used for smart grid implementation and
their contributions are highlighted. To that effect, we searched the Web of
Science (WoS), and the Scopus databases. We obtained 5,663 documents
from WoS and 7,215 from Scopus on smart grid implementation or
deployment. With the extraction limitation in the Scopus database, 5,872 of
the 7,215 documents were extracted using a multi-step process. These two
datasets have been analyzed using a bibliometric tool called bibliometrix.
The main outputs are presented with some recommendations for future
research.
Use of analytical hierarchy process for selecting and prioritizing islanding ...IJECEIAES
One of the problems that are associated to power systems is islanding
condition, which must be rapidly and properly detected to prevent any
negative consequences on the system's protection, stability, and security.
This paper offers a thorough overview of several islanding detection
strategies, which are divided into two categories: classic approaches,
including local and remote approaches, and modern techniques, including
techniques based on signal processing and computational intelligence.
Additionally, each approach is compared and assessed based on several
factors, including implementation costs, non-detected zones, declining
power quality, and response times using the analytical hierarchy process
(AHP). The multi-criteria decision-making analysis shows that the overall
weight of passive methods (24.7%), active methods (7.8%), hybrid methods
(5.6%), remote methods (14.5%), signal processing-based methods (26.6%),
and computational intelligent-based methods (20.8%) based on the
comparison of all criteria together. Thus, it can be seen from the total weight
that hybrid approaches are the least suitable to be chosen, while signal
processing-based methods are the most appropriate islanding detection
method to be selected and implemented in power system with respect to the
aforementioned factors. Using Expert Choice software, the proposed
hierarchy model is studied and examined.
Enhancing of single-stage grid-connected photovoltaic system using fuzzy logi...IJECEIAES
The power generated by photovoltaic (PV) systems is influenced by
environmental factors. This variability hampers the control and utilization of
solar cells' peak output. In this study, a single-stage grid-connected PV
system is designed to enhance power quality. Our approach employs fuzzy
logic in the direct power control (DPC) of a three-phase voltage source
inverter (VSI), enabling seamless integration of the PV connected to the
grid. Additionally, a fuzzy logic-based maximum power point tracking
(MPPT) controller is adopted, which outperforms traditional methods like
incremental conductance (INC) in enhancing solar cell efficiency and
minimizing the response time. Moreover, the inverter's real-time active and
reactive power is directly managed to achieve a unity power factor (UPF).
The system's performance is assessed through MATLAB/Simulink
implementation, showing marked improvement over conventional methods,
particularly in steady-state and varying weather conditions. For solar
irradiances of 500 and 1,000 W/m2
, the results show that the proposed
method reduces the total harmonic distortion (THD) of the injected current
to the grid by approximately 46% and 38% compared to conventional
methods, respectively. Furthermore, we compare the simulation results with
IEEE standards to evaluate the system's grid compatibility.
Enhancing photovoltaic system maximum power point tracking with fuzzy logic-b...IJECEIAES
Photovoltaic systems have emerged as a promising energy resource that
caters to the future needs of society, owing to their renewable, inexhaustible,
and cost-free nature. The power output of these systems relies on solar cell
radiation and temperature. In order to mitigate the dependence on
atmospheric conditions and enhance power tracking, a conventional
approach has been improved by integrating various methods. To optimize
the generation of electricity from solar systems, the maximum power point
tracking (MPPT) technique is employed. To overcome limitations such as
steady-state voltage oscillations and improve transient response, two
traditional MPPT methods, namely fuzzy logic controller (FLC) and perturb
and observe (P&O), have been modified. This research paper aims to
simulate and validate the step size of the proposed modified P&O and FLC
techniques within the MPPT algorithm using MATLAB/Simulink for
efficient power tracking in photovoltaic systems.
Adaptive synchronous sliding control for a robot manipulator based on neural ...IJECEIAES
Robot manipulators have become important equipment in production lines, medical fields, and transportation. Improving the quality of trajectory tracking for
robot hands is always an attractive topic in the research community. This is a
challenging problem because robot manipulators are complex nonlinear systems
and are often subject to fluctuations in loads and external disturbances. This
article proposes an adaptive synchronous sliding control scheme to improve trajectory tracking performance for a robot manipulator. The proposed controller
ensures that the positions of the joints track the desired trajectory, synchronize
the errors, and significantly reduces chattering. First, the synchronous tracking
errors and synchronous sliding surfaces are presented. Second, the synchronous
tracking error dynamics are determined. Third, a robust adaptive control law is
designed,the unknown components of the model are estimated online by the neural network, and the parameters of the switching elements are selected by fuzzy
logic. The built algorithm ensures that the tracking and approximation errors
are ultimately uniformly bounded (UUB). Finally, the effectiveness of the constructed algorithm is demonstrated through simulation and experimental results.
Simulation and experimental results show that the proposed controller is effective with small synchronous tracking errors, and the chattering phenomenon is
significantly reduced.
Remote field-programmable gate array laboratory for signal acquisition and de...IJECEIAES
A remote laboratory utilizing field-programmable gate array (FPGA) technologies enhances students’ learning experience anywhere and anytime in embedded system design. Existing remote laboratories prioritize hardware access and visual feedback for observing board behavior after programming, neglecting comprehensive debugging tools to resolve errors that require internal signal acquisition. This paper proposes a novel remote embeddedsystem design approach targeting FPGA technologies that are fully interactive via a web-based platform. Our solution provides FPGA board access and debugging capabilities beyond the visual feedback provided by existing remote laboratories. We implemented a lab module that allows users to seamlessly incorporate into their FPGA design. The module minimizes hardware resource utilization while enabling the acquisition of a large number of data samples from the signal during the experiments by adaptively compressing the signal prior to data transmission. The results demonstrate an average compression ratio of 2.90 across three benchmark signals, indicating efficient signal acquisition and effective debugging and analysis. This method allows users to acquire more data samples than conventional methods. The proposed lab allows students to remotely test and debug their designs, bridging the gap between theory and practice in embedded system design.
Detecting and resolving feature envy through automated machine learning and m...IJECEIAES
Efficiently identifying and resolving code smells enhances software project quality. This paper presents a novel solution, utilizing automated machine learning (AutoML) techniques, to detect code smells and apply move method refactoring. By evaluating code metrics before and after refactoring, we assessed its impact on coupling, complexity, and cohesion. Key contributions of this research include a unique dataset for code smell classification and the development of models using AutoGluon for optimal performance. Furthermore, the study identifies the top 20 influential features in classifying feature envy, a well-known code smell, stemming from excessive reliance on external classes. We also explored how move method refactoring addresses feature envy, revealing reduced coupling and complexity, and improved cohesion, ultimately enhancing code quality. In summary, this research offers an empirical, data-driven approach, integrating AutoML and move method refactoring to optimize software project quality. Insights gained shed light on the benefits of refactoring on code quality and the significance of specific features in detecting feature envy. Future research can expand to explore additional refactoring techniques and a broader range of code metrics, advancing software engineering practices and standards.
Smart monitoring technique for solar cell systems using internet of things ba...IJECEIAES
Rapidly and remotely monitoring and receiving the solar cell systems status parameters, solar irradiance, temperature, and humidity, are critical issues in enhancement their efficiency. Hence, in the present article an improved smart prototype of internet of things (IoT) technique based on embedded system through NodeMCU ESP8266 (ESP-12E) was carried out experimentally. Three different regions at Egypt; Luxor, Cairo, and El-Beheira cities were chosen to study their solar irradiance profile, temperature, and humidity by the proposed IoT system. The monitoring data of solar irradiance, temperature, and humidity were live visualized directly by Ubidots through hypertext transfer protocol (HTTP) protocol. The measured solar power radiation in Luxor, Cairo, and El-Beheira ranged between 216-1000, 245-958, and 187-692 W/m 2 respectively during the solar day. The accuracy and rapidity of obtaining monitoring results using the proposed IoT system made it a strong candidate for application in monitoring solar cell systems. On the other hand, the obtained solar power radiation results of the three considered regions strongly candidate Luxor and Cairo as suitable places to build up a solar cells system station rather than El-Beheira.
An efficient security framework for intrusion detection and prevention in int...IJECEIAES
Over the past few years, the internet of things (IoT) has advanced to connect billions of smart devices to improve quality of life. However, anomalies or malicious intrusions pose several security loopholes, leading to performance degradation and threat to data security in IoT operations. Thereby, IoT security systems must keep an eye on and restrict unwanted events from occurring in the IoT network. Recently, various technical solutions based on machine learning (ML) models have been derived towards identifying and restricting unwanted events in IoT. However, most ML-based approaches are prone to miss-classification due to inappropriate feature selection. Additionally, most ML approaches applied to intrusion detection and prevention consider supervised learning, which requires a large amount of labeled data to be trained. Consequently, such complex datasets are impossible to source in a large network like IoT. To address this problem, this proposed study introduces an efficient learning mechanism to strengthen the IoT security aspects. The proposed algorithm incorporates supervised and unsupervised approaches to improve the learning models for intrusion detection and mitigation. Compared with the related works, the experimental outcome shows that the model performs well in a benchmark dataset. It accomplishes an improved detection accuracy of approximately 99.21%.
Digital Twins Computer Networking Paper Presentation.pptxaryanpankaj78
A Digital Twin in computer networking is a virtual representation of a physical network, used to simulate, analyze, and optimize network performance and reliability. It leverages real-time data to enhance network management, predict issues, and improve decision-making processes.
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...shadow0702a
This document serves as a comprehensive step-by-step guide on how to effectively use PyCharm for remote debugging of the Windows Subsystem for Linux (WSL) on a local Windows machine. It meticulously outlines several critical steps in the process, starting with the crucial task of enabling permissions, followed by the installation and configuration of WSL.
The guide then proceeds to explain how to set up the SSH service within the WSL environment, an integral part of the process. Alongside this, it also provides detailed instructions on how to modify the inbound rules of the Windows firewall to facilitate the process, ensuring that there are no connectivity issues that could potentially hinder the debugging process.
The document further emphasizes on the importance of checking the connection between the Windows and WSL environments, providing instructions on how to ensure that the connection is optimal and ready for remote debugging.
It also offers an in-depth guide on how to configure the WSL interpreter and files within the PyCharm environment. This is essential for ensuring that the debugging process is set up correctly and that the program can be run effectively within the WSL terminal.
Additionally, the document provides guidance on how to set up breakpoints for debugging, a fundamental aspect of the debugging process which allows the developer to stop the execution of their code at certain points and inspect their program at those stages.
Finally, the document concludes by providing a link to a reference blog. This blog offers additional information and guidance on configuring the remote Python interpreter in PyCharm, providing the reader with a well-rounded understanding of the process.
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
Software Engineering and Project Management - Software Testing + Agile Method...Prakhyath Rai
Software Testing: A Strategic Approach to Software Testing, Strategic Issues, Test Strategies for Conventional Software, Test Strategies for Object -Oriented Software, Validation Testing, System Testing, The Art of Debugging.
Agile Methodology: Before Agile – Waterfall, Agile Development.
Design and optimization of ion propulsion dronebjmsejournal
Electric propulsion technology is widely used in many kinds of vehicles in recent years, and aircrafts are no exception. Technically, UAVs are electrically propelled but tend to produce a significant amount of noise and vibrations. Ion propulsion technology for drones is a potential solution to this problem. Ion propulsion technology is proven to be feasible in the earth’s atmosphere. The study presented in this article shows the design of EHD thrusters and power supply for ion propulsion drones along with performance optimization of high-voltage power supply for endurance in earth’s atmosphere.
EksPy: a new Python framework for developing graphical user interface based PyQt5
1. International Journal of Electrical and Computer Engineering (IJECE)
Vol. 14, No. 1, February 2024, pp. 520~531
ISSN: 2088-8708, DOI: 10.11591/ijece.v14i1.pp520-531 520
Journal homepage: http://ijece.iaescore.com
EksPy: a new Python framework for developing graphical user
interface based PyQt5
Aidil Saputra Kirsan1
, Kosuke Takano2
, Sallie Trixie Zebada Mansurina1
1
Department of Information Systems, Faculty of Mathematics and Information Technology, Institut Teknologi Kalimantan,
Balikpapan, Indonesia
2
Department of Information and Computer Sciences, Faculty of Information Technology, Kanagawa Institute of Technology,
Atsugi, Japan
Article Info ABSTRACT
Article history:
Received Mar 29, 2023
Revised Jul 16, 2023
Accepted Jul 17, 2023
This study introduces EksPy Python framework, a novel framework
designed for developing graphical user interface (GUI) applications in
Python. EksPy framework is built on PyQt5, which is a collection of Python
bindings for the Qt libraries, and it provides a user-friendly and intuitive
interface. The comparative analysis of EksPy framework with existing
frameworks such as Tkinter and PyQt highlights its notable features,
including ease of use, rapid development, enhanced performance, effective
database management, and the model-view-controller (MVC) concept. The
experimental results illustrate that EksPy framework requires less code and
enhances code readability, thereby facilitating better understanding and
efficient development. Additionally, EksPy framework offers a modern and
customizable appearance, surpassing Tkinter’s capabilities. Furthermore, it
incorporates a built-in object-relational mapping (ORM) feature to simplify
database interactions and adheres to the MVC architectural pattern. In
conclusion, EksPy Python framework emerges as a powerful, user-friendly,
and efficient framework for GUI application development in Python.
Keywords:
EksPy framework
Framework development
Model-view-controller
architecture
PyQt5
Python graphical user interface
This is an open access article under the CC BY-SA license.
Corresponding Author:
Aidil Saputra Kirsan
Department of Information Systems, Faculty of Mathematics and Information Technology, Institut Teknologi
Kalimantan
Soekarno Hatta No. KM 15, Karang Joang, Balikpapan Utara, Balikpapan, East Kalimantan, 76127, Indonesia
Email: aidil@lecturer.itk.ac.id
1. INTRODUCTION
Graphical user interface (GUI) is a crucial component in software development. However,
developing GUI can be a complex and time-consuming process, especially compared to developing the logic
of the application itself. Therefore, GUI frameworks are useful tools to speed up the development process
and simplify the creation of commonly used components. In this study, we propose EksPy, which is a new
Python framework developed for creating GUI based on PyQt5. This framework is designed to simplify the
GUI development process by providing ready-to-use components that can be easily customized to fit the
needs. Additionally, EksPy also provides features that can accelerate the development process of GUI
applications, allowing developers to focus on the logic of the application and not waste time creating basic
components. EksPy also has comprehensive documentation and active community support, making it suitable
for developing complex and advanced GUI applications created using other GUI frameworks [1]–[10].
In this research, we will further explain about EksPy, starting from the framework’s architecture to
the features offered. We will also show an experiment of applying EksPy in developing a simple GUI
application and evaluate the performance of this framework compared to other GUI frameworks. The
2. Int J Elec & Comp Eng ISSN: 2088-8708
EksPy: a new Python framework for developing graphical user interface based PyQt5 (Aidil Saputra Kirsan)
521
purpose of this paper is to show the advantages of EksPy for efficient GUI development and to provide
guidance for developers who want to use EksPy in their projects. Furthermore, this paper will also discuss the
additional features that EksPy offers such as database management, and the implementation of the model-
view-controller (MVC) concept. Overall, EksPy is a comprehensive framework that can help Python
developers create responsive, user-friendly, and visually appealing GUI applications, as well as ease the
management of data and the implementation of the MVC concept that helps developers manage the
application well [10]–[19].
In addition to the previously mentioned features, EksPy also provides a database management
feature that allows developers to easily access and manage data. This feature uses the object-relational
mapping (ORM) concept, which allows developers to work with Python objects as representations of data in
the database. This makes the process of retrieving and inserting data more efficient and easy to understand
compared to writing structured query language (SQL) commands manually [20]–[25].
EksPy also implements the MVC concept, which helps developers to separate the logic of the
application from the view and control. This allows developers to manage and change the appearance of the
application without having to make changes to the logic of the application more easily. This concept also
makes the application more scalable and easier to develop by larger teams.
Overall, EksPy is a comprehensive framework that can assist Python developers in creating
responsive, user-friendly, and visually appealing GUI applications, as well as facilitate data management and
the implementation of the MVC concept for effective application management. The article will also elaborate
more on how to use EksPy to manage databases and how the MVC concept is implemented in EksPy. With
EksPy, developers can save time and effort in creating GUI applications and can focus on the design and
implementation of the logic and functionality of their application.
2. PROPOSED FRAMEWORK
The proposed framework, EksPy, is designed to simplify the GUI development process for Python
developers by providing ready-to-use components that can be easily customized to fit their needs. The
framework is built on top of PyQt5, which is a powerful and flexible GUI framework. The EksPy framework
is integrated with PyQt5 as its underlying technology. The Core Library, GUI elements, and layout
management components of EksPy are leveraging the capabilities of PyQt5 to provide a more robust and
efficient framework. EksPy provides features that can accelerate the development process of GUI
applications, allowing developers to focus on the logic of the application and not waste time creating basic
components. Figure 1 depicts the proposed framework comprising several key components.
Figure 1. Architecture of EksPy framework
Figure 1 presents the architecture of the proposed EksPy framework, which aims to simplify the
GUI development process for Python programmers. The framework is built on PyQt5 and comprises
essential components such as the Core Library, GUI elements, layout management, event management, and
database management, and follows the MVC concept. The Core Library provides foundational
functionalities, while GUI Elements offer pre-built user interface elements for easy integration. Layout
management assists in organizing GUI elements, and event management handles user interactions effectively.
Database management ensures seamless integration with databases. By following the MVC concept, EksPy
3. ISSN: 2088-8708
Int J Elec & Comp Eng, Vol. 14, No. 1, February 2024: 520-531
522
promotes code modularity and enhances the maintainability and extensibility of GUI applications. This
architecture empowers developers by providing a robust and efficient framework for GUI application
development.
2.1. Core library
This component provides the base classes and functions that are used to create the GUI elements,
such as buttons, labels, and input fields. The Core library is the core component of the EksPy framework that
contains all the basic features and core functions in application development. It is responsible for providing
access to all the resources and features required by other components such as GUI elements, layout
management, event management, and database management.
The Core Library also ensures the integrity and consistency of data throughout the application.
Unique and custom features of applications built using EksPy can also be developed and added through the
Core Library. This component is the most important part of the framework that ensures the performance and
efficiency of the built application.
2.2. GUI elements
This component provides ready-to-use GUI elements that can be easily customized to fit the needs.
GUI elements are components in the EksPy framework responsible for providing an interface between the
application and the user. They include all display elements such as buttons, forms, and labels that allow the
user to interact with the application.
The GUI elements are designed to provide an intuitive and user-friendly display, making the user
experience of running the application easier. This component works in conjunction with the Core Library and
layout management to ensure a consistent and efficient display of the application. The GUI Elements also
allow developers to create custom displays and additional features as needed by the application. In EksPy,
GUI elements can be easily implemented and developed, making it easier to develop applications with an
attractive and user-friendly display.
2.3. Layout management
This component provides tools for managing the layout of the GUI elements. Layout management is
a component within the EksPy framework responsible for organizing and arranging the visual elements
within an application. It determines the placement, size, and spacing of GUI Elements such as buttons, forms,
labels, and others.
The layout management component works in conjunction with the Core Library and GUI elements
to ensure a consistent and efficient appearance of the application. This component provides the ability to
easily adjust and modify the layout of the application, even as its content changes. This can include dynamic
resizing, support for different screen sizes, and the ability to display different layouts for different devices.
Layout management in EksPy also enables developers to create custom layouts and add additional features to
meet the specific needs of the application.
2.4. Event management
This component provides tools for managing the events that occur in the application. Examples of
event management tools include signal, slot, and event filters. Event management is a component of the
EksPy framework that ensures the application can react to events such as mouse clicks, key presses, and
others. It ensures that the application can respond accurately and efficiently when the user interacts with the
application interface through GUI elements. Event management makes sure that every event is recognized
and processed correctly so that the application can provide an appropriate and satisfactory response to the
user.
This component also ensures that the events can be passed to other components such as the Core
Library or database management for further processing such as updating the database or processing other
data. With event management, developers can create more interactive applications with features that can be
customized to meet the needs of the application. In EksPy, event management is designed to facilitate the
development of applications with efficient and accurate user interaction.
2.5. Database management
This component provides tools for managing data. Using the ORM concept, it allows developers to
work with Python objects as representations of data in the database. The ORM concepts are illustrated in
Figure 2. Figure 2 depicts the relationship between the database and the ORM, as well as the relationship
between the ORM and the Python code. ORM is a component that enables accessing and manipulating
data in the database through objects in a programming language like Python. On the right side of the
4. Int J Elec & Comp Eng ISSN: 2088-8708
EksPy: a new Python framework for developing graphical user interface based PyQt5 (Aidil Saputra Kirsan)
523
figure, tables in the database are represented by objects in the ORM, making it easier for developers to
access and manipulate data in the database. Then, on the left side of the figure, there is Python code that
uses objects from the ORM to access and manipulate data in the database, without having to write complex
SQL code. By using ORM, developers can easily access and manipulate data in the database because ORM
facilitates communication between the programming language and the database. ORM also helps reduce the
complexity of writing SQL code, making it easier to develop applications that interact with the database.
Figure 2. Object-relational mapping (ORM) concept
2.6. MVC concept
This component implements the MVC concept, which helps developers to separate the logic of the
application from the view and control. This allows developers to manage and change the appearance of the
application without having to make changes to the logic of the application more easily. The MVC concept is
illustrated in Figure 3.
Figure 3. Implementation with MVC architecture
Figure 3 illustrates the concept of the MVC architecture, with an added representation of the
relationships between view and user, user, and controller, and Pyqt5 and view. The figure presents a
representation of the model, containing the data and business logic of the application. Furthermore, it depicts
a representation of the view, responsible for displaying the data from the model to the user. Additionally, it
shows a representation of the controller, which receives user input and updates the model and view
accordingly. The image also illustrates the relationship between the view and the user, where the view
5. ISSN: 2088-8708
Int J Elec & Comp Eng, Vol. 14, No. 1, February 2024: 520-531
524
displays information to the user and receives input from the user. The user interacts with the interface
provided by the view. Additionally, the image illustrates the relationship between Pyqt5 and the view. Pyqt5
is a framework used to create a graphical user interface. The view uses Pyqt5 to create the interface displayed
to the user.
The MVC architecture is a design pattern that separates an application into three components:
model, view, and controller. The model contains the data and business logic of the application. The view is
responsible for displaying the data from the model to the user, and it uses Pyqt5 framework to create the
graphical user interface. The user interacts with the interface provided by the view. The controller receives
user input and updates the model and view accordingly.
In Figure 3, the relationships between these components are depicted. The view communicates with
the user by displaying information to them and receiving input. The controller receives input from the user
and updates both the model and the view. The model contains the data and business logic, and it is updated
by the controller based on the user input. This architecture helps to organize the code and make it easier to
maintain and scale the application.
The proposed framework also provides comprehensive documentation and active community
support, making it suitable for developing complex and advanced GUI applications. With EksPy, developers
can save time and effort in creating GUI applications and can focus on the logic and functionality of their
applications.
3. EXPERIMENTS
In order to comprehensively evaluate the performance of the proposed EksPy framework, a series of
experiments will be conducted. These experiments will strategically target several fundamental aspects of the
framework, including its ease of use, development speed, and the resulting application's performance. This
rigorous assessment aims to provide a comprehensive understanding of the capabilities and advantages
offered by EksPy for GUI application development.
a. Ease of use: In this experiment, we will create a simple GUI application using EksPy and compare the
process to creating the same application using other GUI frameworks such as Tkinter and wxPython. The
experiment will focus on the ease of use of the framework, the readability of the code, and the time
required to complete the development.
b. Speed of development: In this experiment, we will create a more complex GUI application using EksPy
and compare the process to creating the same application using other GUI frameworks such as PyGTK
and PyQt. The experiment will focus on the speed of development, the number of lines of code required,
and the time required to complete the development.
c. Performance: In this experiment, we will measure the performance of the resulting application in terms of
responsiveness, memory usage, and CPU usage. The experiment will compare the performance of the
application created using EksPy to the performance of the same application created using other GUI
frameworks such as PySide and PyQt.
d. Database management: In this experiment, we will evaluate the performance of EksPy in terms of data
management. We will create a simple application that uses EksPy's ORM feature to insert, update, and
retrieve data from a database. Then we will measure the time required for each action and compare the
results to other ORM libraries such as SQLAlchemy.
e. MVC concept: In this experiment, we will evaluate the performance of EksPy in terms of MVC concept.
We will create a simple application that uses EksPy’s MVC implementation to separate the logic, view,
and control. Then we will measure the time required for each part and evaluate the maintainability of the
application.
All experiments will be conducted on a computer with the following specifications: Intel Core
i7-8700K CPU, 16 GB DDR4 RAM, and NVIDIA GeForce GTX 1080 graphics card. The experiments will
be conducted using Python version 3.11. The results will be recorded and analyzed to determine the
performance of the proposed framework compared to other GUI frameworks. Pseudocode is a simple
representation of a program code written in natural language or a programming language processed by
humans, not machines. In this research, pseudocode has several advantages compared to actual code:
Readability, Flexibility, Simplicity, and a focus on the algorithm.
Figure 4 is a pseudocode for the ease of use, speed of development, and performance experiment,
where we create a more complex GUI application that displays a list of items and allows the user to add items
from the list, using EksPy, Tkinter or PyQT: This experiment demonstrates that Tkinter or PyQt provides
more advanced features compared to Tkinter, it has a more modern look and feel, and is more flexible in
terms of layout management. PyQt also provides more extensive documentation and a large community
support which can aid in the development process. This means that with PyQt, developers can create more
6. Int J Elec & Comp Eng ISSN: 2088-8708
EksPy: a new Python framework for developing graphical user interface based PyQt5 (Aidil Saputra Kirsan)
525
complex and advanced GUI applications with less effort and time. Figure 5 shows the GUI output of the
pseudocode of Figure 4. The GUI contains a list box, an input field for adding an item, an “Add Item” button,
and a “Remove Item” button. When the user enters an item in the input field and clicks the “Add Item”
button or presses the “Enter” key, the item will be added to the list box. If the user selects an item in the list
box and clicks the “Remove Item” button, the selected item will be removed from the list box. Figure 6 is a
pseudocode of code for the database management and MVC concept experiment, where we use EksPy’s
ORM feature to insert, update, and retrieve data from an SQLite database and implement a simple text editor
application using EksPy’s MVC architecture.
Figure 4. Comparison of EksPy and Tkinter or PyQT pseudocode in ease of use, speed of development, and
performance
Using EksPy:
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QListWidget, QLineEdit, QPushButton,
QVBoxLayout, QWidget
from pages.page import Page
class MyApp(Page):
def init(self):
super().init()
self.list_widget=QListWidget()
self.add_button=QPushButton("Add Item")
self.add_button.clicked.connect(self.on_add_button_clicked)
def on_add_button_clicked(self):
item=self.line_edit.text()
self.list_widget.addItem(item)
def on_remove_button_clicked(self):
selected_item=self.list_widget.currentItem()
if selected_item:
self.list_widget.takeItem(self.list_widget.row(selected_item))
Using tkinter or PyQT:
import sys
import tkinter as tk//optional
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QListWidget, QLineEdit, QPushButton,
QVBoxLayout, QWidget
class MyApp(QWidget):
def _init_(self):
super()._init_()
self.list_widget=QListWidget()
self.add_button=QPushButton("Add Item")
self.add_button.clicked.connect(self.on_add_button_clicked)
def on_add_button_clicked(self):
item=self.line_edit.text()
self.list_widget.addItem(item)
def on_remove_button_clicked(self):
selected_item=self.list_widget.currentItem()
if selected_item:
self.list_widget.takeItem(self.list_widget.row(selected_item))
if _name_=="_main_":
app=QApplication(sys.argv)
window=MyApp()
window.show()
sys.exit(app.exec_())
7. ISSN: 2088-8708
Int J Elec & Comp Eng, Vol. 14, No. 1, February 2024: 520-531
526
Figure 5. GUI output of the pseudocode
Figure 6. Pseudocode of EksPy for database management and MVC concept experiment
Database Management
from models.User import User
class UserController:
def getUser(self, data):
user=User.all()
return user
def insertUser(self, data):
user=User()
user.create({
"username": "test",
"email":
"test@gmail.com",
})
return True
def updateUser(self, data):
user=User()
user.update(1, {
"username":
"updatetest",
"email":
"updatetest@gmail.com",
})
return True
def deleteUser(self, data):
user=User()
user.delete(1)
return True
MVC Concept
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from controllers import controller
from pages.page import Page
class HomePage(Page):
def _init_(self, data={}):
super()._init_()
self.data=data
self.user=get_data()
self.initUi()
def initUi(self):
self.label=QLabel(self)
self.label.setText('Page Home')
self.label.move(0, 0)
self.label.setStyleSheet("QLabel{font-
size: 36px;}")
self.label.setStyleSheet(
"QLabel {font-size: 36px;
font-weight: bold; color: #04045C; font-
family: Arial; }")
self.label=QLabel(self)
self.label.setText('Username: '
+ self.user["username"])
self.label.move(0, 60)
self.label.setStyleSheet(
"QLabel {font-size: 12px;
font-weight: bold; color: #04045C; font-
family: Arial; }")
self.label=QLabel(self)
self.label.setText('Email: ' +
self.user["email"])
self.label.move(0, 80)
self.label.setStyleSheet(
"QLabel {font-size: 12px;
color: #04045C; font-family: Arial; }")
def get_data(self):
result=
controller("TestController","getUser",
{})
return result
8. Int J Elec & Comp Eng ISSN: 2088-8708
EksPy: a new Python framework for developing graphical user interface based PyQt5 (Aidil Saputra Kirsan)
527
This experiment demonstrates how easy it is to use EksPy’s ORM feature to interact with an
SQLite database. We can define our models by inheriting the model class and declaring the columns in it.
Then, we can use the provided methods like save(), get(), and create() to interact with the database. This
way, the model and view are decoupled, and the controller acts as a mediator between the two. This
demonstrates the use of MVC architecture in EksPy, which makes the code more organized, maintainable,
and easier to scale.
Figure 7 shows the output of the pseudocode for the database management and MVC concept
experiment, which involves using EksPy’s ORM feature to interact with an SQLite database and
implementing a simple text editor application using EksPy’s MVC architecture. The figure displays the
Page Home title, followed by the user’s username and email information. This experiment demonstrates the
ease of using EksPy’s ORM feature to interact with an SQLite database, by defining models that inherit the
model class and using methods like save(), get(), and create(). to interact with the database. The MVC
architecture used in EksPy decouples the model and view, making the code more organized, maintainable,
and scalable.
Figure 7. GUI output of the pseudocode for the database management and MVC concept
4. RESULT AND DISCUSSION
Table 1 provides a comparison of the features of EksPy, Tkinter, and PyQt. The features include
ease of use, speed of development, performance, database management, and MVC concept. The results are
based on the experiments conducted in this study. The table provides an overview of the strengths and
weaknesses of each framework and helps developers make an informed decision when choosing a framework
for their GUI development projects.
Table 1. Comparison of Feature between EksPy, Tkinter, and PyQt
Feature EksPy Tkinter PyQt
Ease of Use High Low Medium
Speed of Development High Low Medium
Performance High Medium High
Database Management Yes No No
MVC Concept Yes No No
4.1. Ease of use
EksPy is rated as high in terms of ease of use. This means that the framework requires less code, and
the code is more readable, making it easier for developers to understand and write. On the other hand, Tkinter
is rated as low in terms of ease of use. The EksPy framework utilizes an intuitive structure and intuitive
syntax, which allows developers to write the code in a more straightforward and concise manner. This leads
to a reduction in the amount of code needed to accomplish a given task, and in turn, makes it easier for
developers to understand and maintain the code. Additionally, EksPy provides several convenient libraries
and tools that automate various tasks, reducing the need for manual coding.
When developing using the MVC concept in EksPy, the developer will be more focused on
managing the algorithms or logic in processing data without having to initially configure connecting the
database and making queries. For example, without using EksPy, querying data in the database would require
the creation of code like the one shown in Figure 8, which consists of 923 characters spread across 34 lines.
If the MVC concept is implemented within the EksPy framework, the workflow can be simplified without the
need for extensive configuration. Consequently, utilizing EksPy enables the usage of more concise code, as
shown in Figure 9, comprising 501 characters in 17 lines.
9. ISSN: 2088-8708
Int J Elec & Comp Eng, Vol. 14, No. 1, February 2024: 520-531
528
Implementation without EksPy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import sys
from PyQt5.QtWidgets import QApplication, QmainWindow, QpushButton
import sys
import pymysql
host=“localhost”
user=“root”
passwd=“”
database=“tespbo”
try:
db=pymysql.connect(host=host, user=user,
passwd=passwd, db=database)
cursor=db.cursor()
except:
print(“FAILED TO CONNECT TO DATABASE”)
print(”Create database {database} first”)
sys.exit()
class MainPage(QmainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle(“My App”)
button=QpushButton(“Press Me!”)
button.clicked.connect(self.getAllData)
self.setCentralWidget(button)
def getAllData(self):
cursor.execute(“SELECT * FROM user”)
result=cursor.fetchall()
print(result)
app=Qapplication(sys.argv)
window=MainPage()
window.show()
app.exec()
Figure 8. Implementation without EksPy
Implementation with EksPy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from PyQt5.QtWidgets import *
from models.User import User
from pages.page import Page
class MainPage(Page):
def __init__(self, data={}):
super().__init__()
self.data=data
self.initUI()
self.getAllData()
def initUI(self):
self.button=QPushButton("Press Me!")
self.button.clicked.connect(self.getAllData)
self.button.move(20, 20)
def getAllData(self):
result=User().all()
print(result)
Figure 9. Implementation with EksPy
4.2. Speed of development
EksPy is rated as high in terms of speed of development. This means that the framework allows
developers to create a GUI application with less code and less time. Tkinter is rated as low in terms of speed
of development. Table 2 shows the comparison between the development time using EksPy and Tkinter or
PyQT.
Speed of development: EksPy demonstrates a high level of speed in the development process,
enabling developers to create GUI applications with reduced code and time requirements. In contrast, Tkinter
exhibits a comparatively lower speed of development. Table 2 provides a comprehensive comparison of the
10. Int J Elec & Comp Eng ISSN: 2088-8708
EksPy: a new Python framework for developing graphical user interface based PyQt5 (Aidil Saputra Kirsan)
529
development time between EksPy and Tkinter or PyQt, specifically focusing on three distinct tasks: user
interface development (Task 1), database integration (Task 2), and advanced features implementation
(Task 3). The table showcases the time taken by each framework to complete these tasks, with EksPy
accomplishing the user interface task in 10 minutes compared to Tkinter’s 15 minutes, resulting in a 33.33%
reduction in time. Similarly, EksPy completes the database integration task in 20 minutes compared to
Tkinter’s 30 minutes, representing another 33.33%-time reduction. For the advanced features task, EksPy
outperforms Tkinter by completing it in 30 minutes compared to Tkinter’s 40 minutes, resulting in a 25%
reduction in time. Considering the average time taken across all tasks, EksPy demonstrates a 29.74%
reduction in development time compared to Tkinter. These findings highlight the superior speed and
efficiency of EksPy in GUI application development, emphasizing its advantages over Tkinter in terms of
development time.
Table 2. Comparison between the development time using EksPy and Tkinter or PyQT
Task EksPy (minutes) Tkinter or PyQT (minutes) Reduction Time (%)
Task 1: User Interface 10 15 33.33%
Task 2: Database Integration 20 30 33.33%
Task 3: Advanced Features 30 40 25%
Average 20 28.33 29.74%
4.3. Performance
EksPy is rated as high in terms of performance. The implementation process for each framework can
greatly impact the overall performance of the software being developed. EksPy has been optimized to
provide developers with a more streamlined experience, resulting in faster performance and shorter code
compared to Tkinter and PyQT. The use of MVC design patterns in EksPy allows developers to focus on the
algorithms and logic behind processing data, without having to handle the initial setup and configuration of
connecting to a database and querying data. In comparison, Tkinter and PyQT may require longer code and
more setup time to achieve the same results. Table 3 shows the performance results of the EksPy and Tkinter
or PyQt frameworks in terms of execution speed.
Table 3. The performance results of the EksPy and Tkinter or PyQt frameworks
Framework Execution time (ms)
EksPy 1774.87683
Tkinter/PyQt 2135.57791
As shown in the table, Tkinter or PyQt has an execution time of 2135.57791 ms, while EksPy has an
execution time of 1774.87683 ms. This indicates that EksPy is faster in running code compared to Tkinter or
PyQt. Execution speed measures how fast the code runs, including the time taken to process and execute
commands. The faster the execution time, the more efficient and productive the application created using the
framework will be. For the performance evaluation, experiments were conducted on a computer system with
specific specifications to ensure repeatability and accuracy of the results. The computer used for the
evaluation was equipped with an Intel Core i7-8700K processor, 16 GB DDR4 RAM, and an NVIDIA
GeForce GTX 1080 graphics card. These specifications were selected to maintain consistency and eliminate
potential variations that could affect the performance comparison between EksPy and Tkinter/PyQt
frameworks. Throughout the experiments, the computer settings and configurations remained constant. This
approach guarantees a fair and objective evaluation of the execution speed.
a. Database management
EksPy is the only framework that has a built-in ORM feature. It makes it easy to interact with a
database. Tkinter and PyQt do not have this feature.
b. MVC concept
EksPy is the only framework that follows MVC architecture. It makes it easy to separate the logic
of the application and improve the maintainability of the code. Tkinter and PyQt do not follow this
concept.
This study introduces EksPy, a new Python framework developed for GUI applications using PyQt5.
The research demonstrates that EksPy is a powerful, user-friendly, and easy-to-use framework that offers
numerous advantages over existing frameworks like Tkinter and PyQt. The experiments conducted in this
study emphasize EksPy’s key features, including ease of use, speed of development, performance, database
management, and the MVC concept.
11. ISSN: 2088-8708
Int J Elec & Comp Eng, Vol. 14, No. 1, February 2024: 520-531
530
5. CONCLUSION
In conclusion, EksPy is a powerful, user-friendly, and easy-to-use framework for developing GUI
applications in Python. It provides many advantages over other existing frameworks such as Tkinter and
PyQt. The experiments performed in the study have highlighted the key features of EksPy: ease of use, speed
of development, performance, database management, and MVC concept. EksPy’s ease of use makes it an
ideal choice for developers of all skill levels, from beginners to experienced professionals. The framework
requires less code, and the code is more readable, making it easier to understand and write. EksPy also
provides a more modern and customizable look and feel compared to Tkinter.
The speed of development is another major advantage of EksPy. The framework provides a set of
pre-defined UI elements and layout management, which makes the development process much faster and
more efficient than other libraries like PyQt or Tkinter. This means that developers can create more complex
and advanced GUI applications with less effort and time. EksPy’s performance is good, as it is built on top of
PyQt which is a powerful library, and it has good performance. This makes EksPy suitable for developing
high-performance GUI applications. EksPy also has a built-in ORM feature which makes it easy to interact
with a database and it follows MVC architecture.
In summary, EksPy has several advantages for creating powerful and professional-looking GUI
applications in Python. The repository of EksPy can be accessed on GitHub at https://github.com/sallieeky/pbo-
framework. The repository contains source code, documentation, and more examples that can aid in using
EksPy.
REFERENCES
[1] A. D. Moore, Python GUI programming with Tkinter: Develop responsive and powerful GUI applications with Tkinter. Packt
Publishing Ltd, 2018.
[2] D. I. Chitalov, “Development of an application with a graphical user interface (GUI) to compute in parallel in the OpenFOAM
environment,” Journal of Physics: Conference Series, vol. 1399, no. 3, Dec. 2019, doi: 10.1088/1742-6596/1399/3/033001.
[3] D. P. Pasca, A. Aloisio, M. M. Rosso, and S. Sotiropoulos, “PyOMA and PyOMA_GUI: A Python module and software for
operational modal analysis,” SoftwareX, vol. 20, Dec. 2022, doi: 10.1016/j.softx.2022.101216.
[4] S. Saabith, T. Vinothraj, and M. Fareez, “A review on python libraries and ides for data science,” International Journal of
Research in Engineering and Science (IJRES), vol. 9, no. 11, pp. 36–53, 2021.
[5] S. H. Haji and A. B. Sallow, “IoT for smart environment monitoring based on python: a review,” Asian Journal of Research in
Computer Science, pp. 57–70, May 2021, doi: 10.9734/ajrcos/2021/v9i130215.
[6] A. Saabith, M. Fareez, and T. Vinothraj, “Python current trend applications-an overview,” International Journal of Advance
Engineering and Research Development, vol. 6, no. 10, 2019.
[7] I. Grout, “Electronic circuit and system design using python and VHDL,” in 2018 15th International Conference on Electrical
Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON), Jul. 2018, pp. 13–16, doi:
10.1109/ECTICon.2018.8620048.
[8] G. Peiming et al., “A PyQt5-based GUI for operational verification of wave forcasting system,” in 2020 International Conference on
Information Science, Parallel and Distributed Systems (ISPDS), Aug. 2020, pp. 204–211, doi: 10.1109/ISPDS51347.2020.00049.
[9] V. Cutting and N. Stephen, “A review on using python as a preferred programming language for beginners,” International
Research Journal of Engineering and Technology (IRJET), vol. 8, no. 8, pp. 4258–4263, 2021.
[10] Y. G. Doyoro et al., “A review of open software resources in python for electrical resistivity modelling,” Geoscience Letters,
vol. 9, no. 1, Dec. 2022, doi: 10.1186/s40562-022-00214-1.
[11] B. D. D. Arianti, H. Kuswanto, H. A. Januari, and J. Jamaluddin, “The design of a letter archiving application using the model
view controller (MVC) concept,” Journal of Physics: Conference Series, vol. 1869, no. 1, Apr. 2021, doi: 10.1088/1742-
6596/1869/1/012083.
[12] P. Gupta and M. C. Govil, “MVC design pattern for the multi framework distributed applications using XML, spring and struts
framework,” International Journal on Computer Science and Engineering, vol. 2, no. 4, pp. 1047–1051, 2010.
[13] Z. Syahputra, “Website based sales information system with the concept of Mvc (model view controller),” Jurnal Mantik, vol. 4,
no. 2, pp. 1133–1137, 2020.
[14] D. P. Voorhees, Guide to efficient software design: An MVC approach to concepts, structures, and models. Springer Nature,
2020.
[15] A. Subari, S. Manan, and E. Ariyanto, “Implementation of MVC (model-view-controller) architecture in online submission and
reporting process at official travel warrant information system based on web application,” Journal of Physics: Conference Series,
vol. 1918, no. 4, Jun. 2021, doi: 10.1088/1742-6596/1918/4/042145.
[16] M. R. Mufid, A. Basofi, M. U. H. Al Rasyid, I. F. Rochimansyah, and A. Rokhim, “Design an MVC model using python for flask
framework development,” in 2019 International Electronics Symposium (IES), Sep. 2019, pp. 214–219, doi:
10.1109/ELECSYM.2019.8901656.
[17] R. Ratcliff, P. L. Smith, S. D. Brown, and G. McKoon, “Diffusion decision model: current issues and history,” Trends in
Cognitive Sciences, vol. 20, no. 4, pp. 260–281, Apr. 2016, doi: 10.1016/j.tics.2016.01.007.
[18] G. Pezzulo and P. Cisek, “Navigating the affordance landscape: feedback control as a process model of behavior and cognition,”
Trends in Cognitive Sciences, vol. 20, no. 6, pp. 414–424, Jun. 2016, doi: 10.1016/j.tics.2016.03.013.
[19] S. Tamboli, P. Raut, L. Sategaonkar, A. Atram, S. Kawane, and P. V. K. Barbudhe, “A review paper on text-to-speech convertor,”
International Journal of Research Publication and Reviews, vol. 3, no. 5, pp. 3807–3810, 2022.
[20] O. W. Purbo, “A systematic analysis: website development using CodeIgniter and Laravel framework,” Enrichment: Journal of
Management, vol. 12, no. 1, pp. 1008–1014, 2021.
[21] M. Baldoni, C. Baroglio, K. M. May, R. Micalizio, and S. Tedeschi, “MOCA: An ORM model for computational accountability,”
Intelligenza Artificiale, vol. 13, no. 1, pp. 5–20, Aug. 2019, doi: 10.3233/IA-180014.
12. Int J Elec & Comp Eng ISSN: 2088-8708
EksPy: a new Python framework for developing graphical user interface based PyQt5 (Aidil Saputra Kirsan)
531
[22] A. J. Rafsanjani and S.-H. Mirian-Hosseinabadi, “AZ approach to formalization and validation of ORM models,” in
Communications in Computer and Information Science, Springer Berlin Heidelberg, 2011, pp. 513–526. doi: 10.1007/978-3-642-
22603-8_45.
[23] J. F. Clarkin, E. Caligor, and J. F. Sowislo, “An object relations model perspective on the alternative model for personality
disorders (DSM-5),” Psychopathology, vol. 53, no. 3–4, pp. 141–148, 2020, doi: 10.1159/000508353.
[24] W. Khan, T. Kumar, C. Zhang, K. Raj, A. M. Roy, and B. Luo, “SQL and NoSQL database software architecture performance
analysis and assessments-a systematic literature review,” Big Data and Cognitive Computing, vol. 7, no. 2, May 2023, doi:
10.3390/bdcc7020097.
[25] K. Ahkouk and M. Machkour, “Towards an interface for translating natural language questions to SQL: a conceptual framework
from a systematic review,” International Journal of Reasoning-based Intelligent Systems, vol. 12, no. 4, 2020, doi:
10.1504/IJRIS.2020.111786.
BIOGRAPHIES OF AUTHORS
Aidil Saputra Kirsan holds a bachelor’s degree in computer and network
engineering from the Ujung Pandang State Polytechnic and a master’s degree in computer
and information technology engineering from the Surabaya State Electronics Polytechnic. He
is currently a researcher at the Department of Information Systems, Faculty of Mathematics
and Information Technology, Institut Teknologi Kalimantan, Balikpapan, Indonesia. His
research interests include software development and programming, with a particular focus on
wireless sensor networks and their applications in fields such as environmental monitoring,
agriculture, and healthcare. He has contributed to several research projects related to wireless
sensor networks as both a team member and a project leader and has published several papers
in international journals and conferences in this area. He can be contacted at email:
aidil@lecturer.itk.ac.id.
Kosuke Takano received a B.A. degree in environment and information Studies
from Keio University, Japan, in 1998, and a master’s degree and Ph.D. in Media and
Governance from Keio University in 2003 and 2007. He is a Professor of Information and
Computer Sciences at Kanagawa Institute of Technology, Japan. His main research interests
are in the design and implementation of media search and management systems with the
human-like capability of interpreting, interacting with, and generating media content such as
text, audio, and images. He can be contacted at email: takano@ic.kanagawa-it.ac.jp.
Sallie Trixie Zebada Mansurina is a researcher from the Department of
Information Systems, Faculty of Mathematics and Information Technology, Institut Teknologi
Kalimantan, Balikpapan, Indonesia. He is a recent graduate of Bachelor of Computer Science
from the Institute of Technology Kalimantan. The researcher has an interest in software
system development, including website, mobile, and desktop GUI, and possesses skills in
several programming languages such as Python, PHP, JavaScript, Java, and DBMS, namely
MySQL and PostgreSQL. He can be contacted at email: sallieeky@gmail.com.