-
Safety Analysis in the NGAC Model
Authors:
Brian Tan,
Ewan S. D. Davies,
Indrakshi Ray,
Mahmoud A. Abdelgawad
Abstract:
We study the safety problem for the next-generation access control (NGAC) model. We show that under mild assumptions it is coNP-complete, and under further realistic assumptions we give an algorithm for the safety problem that significantly outperforms naive brute force search. We also show that real-world examples of mutually exclusive attributes lead to nearly worst-case behavior of our algorith…
▽ More
We study the safety problem for the next-generation access control (NGAC) model. We show that under mild assumptions it is coNP-complete, and under further realistic assumptions we give an algorithm for the safety problem that significantly outperforms naive brute force search. We also show that real-world examples of mutually exclusive attributes lead to nearly worst-case behavior of our algorithm.
△ Less
Submitted 9 May, 2025;
originally announced May 2025.
-
Closing the Intent-to-Behavior Gap via Fulfillment Priority Logic
Authors:
Bassel El Mabsout,
Abdelrahman AbdelGawad,
Renato Mancuso
Abstract:
Practitioners designing reinforcement learning policies face a fundamental challenge: translating intended behavioral objectives into representative reward functions. This challenge stems from behavioral intent requiring simultaneous achievement of multiple competing objectives, typically addressed through labor-intensive linear reward composition that yields brittle results. Consider the ubiquito…
▽ More
Practitioners designing reinforcement learning policies face a fundamental challenge: translating intended behavioral objectives into representative reward functions. This challenge stems from behavioral intent requiring simultaneous achievement of multiple competing objectives, typically addressed through labor-intensive linear reward composition that yields brittle results. Consider the ubiquitous robotics scenario where performance maximization directly conflicts with energy conservation. Such competitive dynamics are resistant to simple linear reward combinations. In this paper, we present the concept of objective fulfillment upon which we build Fulfillment Priority Logic (FPL). FPL allows practitioners to define logical formula representing their intentions and priorities within multi-objective reinforcement learning. Our novel Balanced Policy Gradient algorithm leverages FPL specifications to achieve up to 500\% better sample efficiency compared to Soft Actor Critic. Notably, this work constitutes the first implementation of non-linear utility scalarization design, specifically for continuous control problems.
△ Less
Submitted 22 March, 2025; v1 submitted 4 March, 2025;
originally announced March 2025.
-
Carbon Per Transistor (CPT): The Golden Formula for Green Computing Metrics
Authors:
Zag ElSayed,
Nelly Elsayed,
Ahmed Abdelgawad
Abstract:
As computing power advances, the environmental cost of semiconductor manufacturing and operation has become a critical concern. However, current sustainability metrics fail to quantify carbon emissions at the transistor level, the fundamental building block of modern processors. This paper introduces a Carbon Per Transistor (CPT) formula -- a novel approach and green implementation metric to measu…
▽ More
As computing power advances, the environmental cost of semiconductor manufacturing and operation has become a critical concern. However, current sustainability metrics fail to quantify carbon emissions at the transistor level, the fundamental building block of modern processors. This paper introduces a Carbon Per Transistor (CPT) formula -- a novel approach and green implementation metric to measuring the CO$_2$ footprint of semiconductor chips from fabrication to end-of-life. By integrating emissions from silicon crystal growth, wafer production, chip manufacturing, and operational power dissipation, the CPT formula provides a scientifically rigorous benchmark for evaluating the sustainability of computing hardware. Using real-world data from Intel Core i9-13900K, AMD Ryzen 9 7950X, and Apple M1/M2/M3 processors, we reveal a startling insight-manufacturing emissions dominate, contributing 60-125 kg CO$_2$ per CPU, far exceeding operational emissions over a typical device lifespan. Notably, Apple's high-transistor-count M-series chips, despite their energy efficiency, exhibit a significantly larger carbon footprint than traditional processors due to extensive fabrication impact. This research establishes a critical reference point for green computing initiatives, enabling industry leaders and researchers to make data-driven decisions in reducing semiconductor-related emissions and get correct estimates for the green factor of the information technology process. The proposed formula paves the way for carbon-aware chip design, regulatory standards, and future innovations in sustainable computing.
△ Less
Submitted 1 February, 2025;
originally announced February 2025.
-
CryptoDNA: A Machine Learning Paradigm for DDoS Detection in Healthcare IoT, Inspired by crypto jacking prevention Models
Authors:
Zag ElSayed,
Ahmed Abdelgawad,
Nelly Elsayed
Abstract:
The rapid integration of the Internet of Things (IoT) and Internet of Medical (IoM) devices in the healthcare industry has markedly improved patient care and hospital operations but has concurrently brought substantial risks. Distributed Denial-of-Service (DDoS) attacks present significant dangers, jeopardizing operational stability and patient safety. This study introduces CryptoDNA, an innovativ…
▽ More
The rapid integration of the Internet of Things (IoT) and Internet of Medical (IoM) devices in the healthcare industry has markedly improved patient care and hospital operations but has concurrently brought substantial risks. Distributed Denial-of-Service (DDoS) attacks present significant dangers, jeopardizing operational stability and patient safety. This study introduces CryptoDNA, an innovative machine learning detection framework influenced by cryptojacking detection methods, designed to identify and alleviate DDoS attacks in healthcare IoT settings. The proposed approach relies on behavioral analytics, including atypical resource usage and network activity patterns. Key features derived from cryptojacking-inspired methodologies include entropy-based analysis of traffic, time-series monitoring of device performance, and dynamic anomaly detection. A lightweight architecture ensures inter-compatibility with resource-constrained IoT devices while maintaining high detection accuracy. The proposed architecture and model were tested in real-world and synthetic datasets to demonstrate the model's superior performance, achieving over 96% accuracy with minimal computational overhead. Comparative analysis reveals its resilience against emerging attack vectors and scalability across diverse device ecosystems. By bridging principles from cryptojacking and DDoS detection, CryptoDNA offers a robust, innovative solution to fortify the healthcare IoT landscape against evolving cyber threats and highlights the potential of interdisciplinary approaches in adaptive cybersecurity defense mechanisms for critical healthcare infrastructures.
△ Less
Submitted 30 January, 2025;
originally announced January 2025.
-
Cybersecurity and Frequent Cyber Attacks on IoT Devices in Healthcare: Issues and Solutions
Authors:
Zag ElSayed,
Ahmed Abdelgawad,
Nelly Elsayed
Abstract:
Integrating Internet of Things (IoT) devices in healthcare has revolutionized patient care, offering improved monitoring, diagnostics, and treatment. However, the proliferation of these devices has also introduced significant cybersecurity challenges. This paper reviews the current landscape of cybersecurity threats targeting IoT devices in healthcare, discusses the underlying issues contributing…
▽ More
Integrating Internet of Things (IoT) devices in healthcare has revolutionized patient care, offering improved monitoring, diagnostics, and treatment. However, the proliferation of these devices has also introduced significant cybersecurity challenges. This paper reviews the current landscape of cybersecurity threats targeting IoT devices in healthcare, discusses the underlying issues contributing to these vulnerabilities, and explores potential solutions. Additionally, this study offers solutions and suggestions for researchers, agencies, and security specialists to overcome these IoT in healthcare cybersecurity vulnerabilities. A comprehensive literature survey highlights the nature and frequency of cyber attacks, their impact on healthcare systems, and emerging strategies to mitigate these risks.
△ Less
Submitted 19 January, 2025;
originally announced January 2025.
-
RO-SVD: A Reconfigurable Hardware Copyright Protection Framework for AIGC Applications
Authors:
Zhuoheng Ran,
Muhammad A. A. Abdelgawad,
Zekai Zhang,
Ray C. C. Cheung,
Hong Yan
Abstract:
The dramatic surge in the utilisation of generative artificial intelligence (GenAI) underscores the need for a secure and efficient mechanism to responsibly manage, use and disseminate multi-dimensional data generated by artificial intelligence (AI). In this paper, we propose a blockchain-based copyright traceability framework called ring oscillator-singular value decomposition (RO-SVD), which int…
▽ More
The dramatic surge in the utilisation of generative artificial intelligence (GenAI) underscores the need for a secure and efficient mechanism to responsibly manage, use and disseminate multi-dimensional data generated by artificial intelligence (AI). In this paper, we propose a blockchain-based copyright traceability framework called ring oscillator-singular value decomposition (RO-SVD), which introduces decomposition computing to approximate low-rank matrices generated from hardware entropy sources and establishes an AI-generated content (AIGC) copyright traceability mechanism at the device level. By leveraging the parallelism and reconfigurability of field-programmable gate arrays (FPGAs), our framework can be easily constructed on existing AI-accelerated devices and provide a low-cost solution to emerging copyright issues of AIGC. We developed a hardware-software (HW/SW) co-design prototype based on comprehensive analysis and on-board experiments with multiple AI-applicable FPGAs. Using AI-generated images as a case study, our framework demonstrated effectiveness and emphasised customisation, unpredictability, efficiency, management and reconfigurability. To the best of our knowledge, this is the first practical hardware study discussing and implementing copyright traceability specifically for AI-generated content.
△ Less
Submitted 2 December, 2024; v1 submitted 17 June, 2024;
originally announced June 2024.
-
Model- and Data-Based Control of Self-Balancing Robots: Practical Educational Approach with LabVIEW and Arduino
Authors:
Abdelrahman Abdelgawad,
Tarek Shohdy,
Ayman Nada
Abstract:
A two-wheeled self-balancing robot (TWSBR) is non-linear and unstable system. This study compares the performance of model-based and data-based control strategies for TWSBRs, with an explicit practical educational approach. Model-based control (MBC) algorithms such as Lead-Lag and PID control require a proficient dynamic modeling and mathematical manipulation to drive the linearized equations of m…
▽ More
A two-wheeled self-balancing robot (TWSBR) is non-linear and unstable system. This study compares the performance of model-based and data-based control strategies for TWSBRs, with an explicit practical educational approach. Model-based control (MBC) algorithms such as Lead-Lag and PID control require a proficient dynamic modeling and mathematical manipulation to drive the linearized equations of motions and develop the appropriate controller. On the other side, data-based control (DBC) methods, like fuzzy control, provide a simpler and quicker approach to designing effective controllers without needing in-depth understanding of the system model. In this paper, the advantages and disadvantages of both MBC and DBC using a TWSBR are illustrated. All controllers were implemented and tested on the OSOYOO self-balancing kit, including an Arduino microcontroller, MPU-6050 sensor, and DC motors. The control law and the user interface are constructed using the LabVIEW-LINX toolkit. A real-time hardware-in-loop experiment validates the results, highlighting controllers that can be implemented on a cost-effective platform.
△ Less
Submitted 6 May, 2024;
originally announced May 2024.
-
Big Data and Deep Learning in Smart Cities: A Comprehensive Dataset for AI-Driven Traffic Accident Detection and Computer Vision Systems
Authors:
Victor Adewopo,
Nelly Elsayed,
Zag Elsayed,
Murat Ozer,
Constantinos Zekios,
Ahmed Abdelgawad,
Magdy Bayoumi
Abstract:
In the dynamic urban landscape, where the interplay of vehicles and pedestrians defines the rhythm of life, integrating advanced technology for safety and efficiency is increasingly crucial. This study delves into the application of cutting-edge technological methods in smart cities, focusing on enhancing public safety through improved traffic accident detection. Action recognition plays a pivotal…
▽ More
In the dynamic urban landscape, where the interplay of vehicles and pedestrians defines the rhythm of life, integrating advanced technology for safety and efficiency is increasingly crucial. This study delves into the application of cutting-edge technological methods in smart cities, focusing on enhancing public safety through improved traffic accident detection. Action recognition plays a pivotal role in interpreting visual data and tracking object motion such as human pose estimation in video sequences. The challenges of action recognition include variability in rapid actions, limited dataset, and environmental factors such as (Weather, Illumination, and Occlusions). In this paper, we present a novel comprehensive dataset for traffic accident detection. This datasets is specifically designed to bolster computer vision and action recognition systems in predicting and detecting road traffic accidents. We integrated datasets from wide variety of data sources, road networks, weather conditions, and regions across the globe. This approach is underpinned by empirical studies, aiming to contribute to the discourse on how technology can enhance the quality of life in densely populated areas. This research aims to bridge existing research gaps by introducing benchmark datasets that leverage state-of-the-art algorithms tailored for traffic accident detection in smart cities. These dataset is expected to advance academic research and also enhance real-time accident detection applications, contributing significantly to the evolution of smart urban environments. Our study marks a pivotal step towards safer, more efficient smart cities, harnessing the power of AI and machine learning to transform urban living.
△ Less
Submitted 7 January, 2024;
originally announced January 2024.
-
Low-Cost Architecture for an Advanced Smart Shower System Using Internet of Things Platform
Authors:
Shadeeb Hossain,
Ahmed Abdelgawad
Abstract:
Wastage of water is a critical issue amongst the various global crises. This paper proposes an architecture model for a low-cost, energy efficient SMART Shower system that is ideal for efficient water management and be able to predict reliably any accidental fall in the shower space. The sensors in this prototype can document the surrounding temperature and humidity in real time and thereby circul…
▽ More
Wastage of water is a critical issue amongst the various global crises. This paper proposes an architecture model for a low-cost, energy efficient SMART Shower system that is ideal for efficient water management and be able to predict reliably any accidental fall in the shower space. The sensors in this prototype can document the surrounding temperature and humidity in real time and thereby circulate the ideal temperature of water for its patron, rather than its reliance on predictive values . Three different scenarios are discussed that can allow reliably predicting any accidental fall in the shower vicinity. Motion sensors, sound sensors and gesture sensors can be used to compliment prediction of possible injuries in the shower. The integration with the Internet of Things (IoT) platform will allow caretakers to monitor the activities in the shower space especially in the case of elderly individuals as there have been reported cases of casualties in the slippery shower space. The proposed proof-of-concept prototype is cost effective and can be incorporated into an existing system for the added precedence of safety and convenience. The intelligent system is conserving water by optimizing its flow temperature and the IoT platform allows real time monitoring for safety.
△ Less
Submitted 13 November, 2023;
originally announced November 2023.
-
AI on the Road: A Comprehensive Analysis of Traffic Accidents and Accident Detection System in Smart Cities
Authors:
Victor Adewopo,
Nelly Elsayed,
Zag Elsayed,
Murat Ozer,
Victoria Wangia-Anderson,
Ahmed Abdelgawad
Abstract:
Accident detection and traffic analysis is a critical component of smart city and autonomous transportation systems that can reduce accident frequency, severity and improve overall traffic management. This paper presents a comprehensive analysis of traffic accidents in different regions across the United States using data from the National Highway Traffic Safety Administration (NHTSA) Crash Report…
▽ More
Accident detection and traffic analysis is a critical component of smart city and autonomous transportation systems that can reduce accident frequency, severity and improve overall traffic management. This paper presents a comprehensive analysis of traffic accidents in different regions across the United States using data from the National Highway Traffic Safety Administration (NHTSA) Crash Report Sampling System (CRSS). To address the challenges of accident detection and traffic analysis, this paper proposes a framework that uses traffic surveillance cameras and action recognition systems to detect and respond to traffic accidents spontaneously. Integrating the proposed framework with emergency services will harness the power of traffic cameras and machine learning algorithms to create an efficient solution for responding to traffic accidents and reducing human errors. Advanced intelligence technologies, such as the proposed accident detection systems in smart cities, will improve traffic management and traffic accident severity. Overall, this study provides valuable insights into traffic accidents in the US and presents a practical solution to enhance the safety and efficiency of transportation systems.
△ Less
Submitted 22 July, 2023;
originally announced July 2023.
-
Machine Learning Based IoT Adaptive Architecture for Epilepsy Seizure Detection: Anatomy and Analysis
Authors:
Zag ElSayed,
Murat Ozer,
Nelly Elsayed,
Ahmed Abdelgawad
Abstract:
A seizure tracking system is crucial for monitoring and evaluating epilepsy treatments. Caretaker seizure diaries are used in epilepsy care today, but clinical seizure monitoring may miss seizures. Monitoring devices that can be worn may be better tolerated and more suitable for long-term ambulatory use. Many techniques and methods are proposed for seizure detection; However, simplicity and afford…
▽ More
A seizure tracking system is crucial for monitoring and evaluating epilepsy treatments. Caretaker seizure diaries are used in epilepsy care today, but clinical seizure monitoring may miss seizures. Monitoring devices that can be worn may be better tolerated and more suitable for long-term ambulatory use. Many techniques and methods are proposed for seizure detection; However, simplicity and affordability are key concepts for daily use while preserving the accuracy of the detection. In this study, we propose a versal, affordable noninvasive based on a simple real-time k-Nearest-Neighbors (kNN) machine learning that can be customized and adapted to individual users in less than four seconds of training time; the system was verified and validated using 500 subjects, with seizure detection data sampled at 178 Hz, the operated with a mean accuracy of (94.5%).
△ Less
Submitted 5 September, 2023; v1 submitted 30 May, 2023;
originally announced May 2023.
-
A Deep Analysis of Transfer Learning Based Breast Cancer Detection Using Histopathology Images
Authors:
Md Ishtyaq Mahmud,
Muntasir Mamun,
Ahmed Abdelgawad
Abstract:
Breast cancer is one of the most common and dangerous cancers in women, while it can also afflict men. Breast cancer treatment and detection are greatly aided by the use of histopathological images since they contain sufficient phenotypic data. A Deep Neural Network (DNN) is commonly employed to improve accuracy and breast cancer detection. In our research, we have analyzed pre-trained deep transf…
▽ More
Breast cancer is one of the most common and dangerous cancers in women, while it can also afflict men. Breast cancer treatment and detection are greatly aided by the use of histopathological images since they contain sufficient phenotypic data. A Deep Neural Network (DNN) is commonly employed to improve accuracy and breast cancer detection. In our research, we have analyzed pre-trained deep transfer learning models such as ResNet50, ResNet101, VGG16, and VGG19 for detecting breast cancer using the 2453 histopathology images dataset. Images in the dataset were separated into two categories: those with invasive ductal carcinoma (IDC) and those without IDC. After analyzing the transfer learning model, we found that ResNet50 outperformed other models, achieving accuracy rates of 90.2%, Area under Curve (AUC) rates of 90.0%, recall rates of 94.7%, and a marginal loss of 3.5%.
△ Less
Submitted 11 April, 2023;
originally announced April 2023.
-
LCDctCNN: Lung Cancer Diagnosis of CT scan Images Using CNN Based Model
Authors:
Muntasir Mamun,
Md Ishtyaq Mahmud,
Mahabuba Meherin,
Ahmed Abdelgawad
Abstract:
The most deadly and life-threatening disease in the world is lung cancer. Though early diagnosis and accurate treatment are necessary for lowering the lung cancer mortality rate. A computerized tomography (CT) scan-based image is one of the most effective imaging techniques for lung cancer detection using deep learning models. In this article, we proposed a deep learning model-based Convolutional…
▽ More
The most deadly and life-threatening disease in the world is lung cancer. Though early diagnosis and accurate treatment are necessary for lowering the lung cancer mortality rate. A computerized tomography (CT) scan-based image is one of the most effective imaging techniques for lung cancer detection using deep learning models. In this article, we proposed a deep learning model-based Convolutional Neural Network (CNN) framework for the early detection of lung cancer using CT scan images. We also have analyzed other models for instance Inception V3, Xception, and ResNet-50 models to compare with our proposed model. We compared our models with each other considering the metrics of accuracy, Area Under Curve (AUC), recall, and loss. After evaluating the model's performance, we observed that CNN outperformed other models and has been shown to be promising compared to traditional methods. It achieved an accuracy of 92%, AUC of 98.21%, recall of 91.72%, and loss of 0.328.
△ Less
Submitted 10 April, 2023;
originally announced April 2023.
-
A Deep Analysis of Hybrid-Multikey-PUF
Authors:
Md Ishtyaq Mahmud,
Ahmed Abdelgawad,
Venkata P. Yanambaka
Abstract:
Unique key generation is essential for encryption purposes between Internet of Things (IoT) devices. To produce a unique key for this encryption, Physical Unclonable Functions (PUFs) might be employed. Also, the Random Number Generator (RNG) is used in many different domains; nonetheless, security is one of the most important areas that require the best RNG. In this article, We investigate the qua…
▽ More
Unique key generation is essential for encryption purposes between Internet of Things (IoT) devices. To produce a unique key for this encryption, Physical Unclonable Functions (PUFs) might be employed. Also, the Random Number Generator (RNG) is used in many different domains; nonetheless, security is one of the most important areas that require the best RNG. In this article, We investigate the quality of random numbers generated by Physical Unclonable Functions (PUFs). We have analyzed three Figures of Merit (FoMs), Uniqueness, Randomness, and Reliability of PUFs implemented on different FPGAs. In our experiments, we have operated the test devices at different temperatures (20°F, 40°F, 60°F, 80°F, 120°F, 140°F). In the PUF that we have analyzed, the key is generated in 1 second on average. We also have analyzed and described the essential properties of random number generator that is most vital considering things to secure our Internet of Things(IoT) devices.
△ Less
Submitted 10 April, 2023;
originally announced April 2023.
-
Speech Emotion Recognition using Supervised Deep Recurrent System for Mental Health Monitoring
Authors:
Nelly Elsayed,
Zag ElSayed,
Navid Asadizanjani,
Murat Ozer,
Ahmed Abdelgawad,
Magdy Bayoumi
Abstract:
Understanding human behavior and monitoring mental health are essential to maintaining the community and society's safety. As there has been an increase in mental health problems during the COVID-19 pandemic due to uncontrolled mental health, early detection of mental issues is crucial. Nowadays, the usage of Intelligent Virtual Personal Assistants (IVA) has increased worldwide. Individuals use th…
▽ More
Understanding human behavior and monitoring mental health are essential to maintaining the community and society's safety. As there has been an increase in mental health problems during the COVID-19 pandemic due to uncontrolled mental health, early detection of mental issues is crucial. Nowadays, the usage of Intelligent Virtual Personal Assistants (IVA) has increased worldwide. Individuals use their voices to control these devices to fulfill requests and acquire different services. This paper proposes a novel deep learning model based on the gated recurrent neural network and convolution neural network to understand human emotion from speech to improve their IVA services and monitor their mental health.
△ Less
Submitted 26 October, 2022; v1 submitted 25 August, 2022;
originally announced August 2022.
-
A Study on Broadcast Networks for Music Genre Classification
Authors:
Ahmed Heakl,
Abdelrahman Abdelgawad,
Victor Parque
Abstract:
Due to the increased demand for music streaming/recommender services and the recent developments of music information retrieval frameworks, Music Genre Classification (MGC) has attracted the community's attention. However, convolutional-based approaches are known to lack the ability to efficiently encode and localize temporal features. In this paper, we study the broadcast-based neural networks ai…
▽ More
Due to the increased demand for music streaming/recommender services and the recent developments of music information retrieval frameworks, Music Genre Classification (MGC) has attracted the community's attention. However, convolutional-based approaches are known to lack the ability to efficiently encode and localize temporal features. In this paper, we study the broadcast-based neural networks aiming to improve the localization and generalizability under a small set of parameters (about 180k) and investigate twelve variants of broadcast networks discussing the effect of block configuration, pooling method, activation function, normalization mechanism, label smoothing, channel interdependency, LSTM block inclusion, and variants of inception schemes. Our computational experiments using relevant datasets such as GTZAN, Extended Ballroom, HOMBURG, and Free Music Archive (FMA) show state-of-the-art classification accuracies in Music Genre Classification. Our approach offers insights and the potential to enable compact and generalizable broadcast networks for music and audio classification.
△ Less
Submitted 25 August, 2022;
originally announced August 2022.
-
Review on Action Recognition for Accident Detection in Smart City Transportation Systems
Authors:
Victor Adewopo,
Nelly Elsayed,
Zag ElSayed,
Murat Ozer,
Ahmed Abdelgawad,
Magdy Bayoumi
Abstract:
Action detection and public traffic safety are crucial aspects of a safe community and a better society. Monitoring traffic flows in a smart city using different surveillance cameras can play a significant role in recognizing accidents and alerting first responders. The utilization of action recognition (AR) in computer vision tasks has contributed towards high-precision applications in video surv…
▽ More
Action detection and public traffic safety are crucial aspects of a safe community and a better society. Monitoring traffic flows in a smart city using different surveillance cameras can play a significant role in recognizing accidents and alerting first responders. The utilization of action recognition (AR) in computer vision tasks has contributed towards high-precision applications in video surveillance, medical imaging, and digital signal processing. This paper presents an intensive review focusing on action recognition in accident detection and autonomous transportation systems for a smart city. In this paper, we focused on AR systems that used diverse sources of traffic video capturing, such as static surveillance cameras on traffic intersections, highway monitoring cameras, drone cameras, and dash-cams. Through this review, we identified the primary techniques, taxonomies, and algorithms used in AR for autonomous transportation and accident detection. We also examined data sets utilized in the AR tasks, identifying the main sources of datasets and features of the datasets. This paper provides potential research direction to develop and integrate accident detection systems for autonomous cars and public traffic safety systems by alerting emergency personnel and law enforcement in the event of road accidents to minimize human error in accident reporting and provide a spontaneous response to victims
△ Less
Submitted 19 August, 2022;
originally announced August 2022.
-
Java Generics: An Order-Theoretic Approach (Abridged Outline)
Authors:
Moez A. AbdelGawad
Abstract:
The mathematical modeling of generics in Java and other similar nominally-typed object-oriented programming languages is a challenge. In this short paper we present the outline of a novel order-theoretic approach to modeling generics, in which we also elementarily use some concepts and tools from category theory. We believe a combined order-theoretic and category-theoretic approach to modeling gen…
▽ More
The mathematical modeling of generics in Java and other similar nominally-typed object-oriented programming languages is a challenge. In this short paper we present the outline of a novel order-theoretic approach to modeling generics, in which we also elementarily use some concepts and tools from category theory. We believe a combined order-theoretic and category-theoretic approach to modeling generics holds the keys to overcoming much of the adversity found when analyzing features of generic OO type systems.
△ Less
Submitted 20 June, 2019;
originally announced June 2019.
-
Using Category Theory in Modeling Generics in OOP (Outline)
Authors:
Moez A. AbdelGawad
Abstract:
Modeling generics in object-oriented programming languages such as Java and C# is a challenge. Recently we proposed a new order-theoretic approach to modeling generics. Given the strong relation between order theory and category theory, in this extended abstract we present how also some tools from category theory, such as adjunctions, monads and operads, are used in our approach to modeling generi…
▽ More
Modeling generics in object-oriented programming languages such as Java and C# is a challenge. Recently we proposed a new order-theoretic approach to modeling generics. Given the strong relation between order theory and category theory, in this extended abstract we present how also some tools from category theory, such as adjunctions, monads and operads, are used in our approach to modeling generics.
△ Less
Submitted 12 June, 2019;
originally announced June 2019.
-
Java Generics: An Order-Theoretic Approach (Detailed Outline)
Authors:
Moez A. AbdelGawad
Abstract:
Generics have been added to Java so as to increase the expressiveness of its type system. Generics in Java, however, include some features---such as Java wildcards, $F$-bounded generics, and Java erasure---that have been hard to analyze and reason about so far, reflecting the fact that the mathematical modeling of generics in Java and other similar nominally-typed object-oriented programming (OOP)…
▽ More
Generics have been added to Java so as to increase the expressiveness of its type system. Generics in Java, however, include some features---such as Java wildcards, $F$-bounded generics, and Java erasure---that have been hard to analyze and reason about so far, reflecting the fact that the mathematical modeling of generics in Java and other similar nominally-typed object-oriented programming (OOP) languages is a challenge. As a result, the type systems of mainstream nominally-typed OOP languages, which are built based on current models of generics, are overly complex, which hinders the progress of these type systems.
In this paper we present a detailed outline of a new approach to modeling Java generics that uses concepts and tools from order theory, and we report on our progress in developing this approach. Fundamentally, we use the nominal subclassing relation (as a partial order) together with some standard and novel order-theoretic tools to construct the generic nominal subtyping relation (as a partial order) and the containment relation between generic type arguments (a third partial order). We further analyze the relation between these three ordering relations---which lie at the heart of mainstream generic OO type systems---using order theoretic tools, and accordingly we explore extensions of OO type systems suggested by such analysis. In our approach we also make use of some concepts and tools from category theory. We believe a combined order-theoretic and category-theoretic approach to modeling generics holds the keys to overcoming much of the adversity found when analyzing features of generic OO type systems.
△ Less
Submitted 23 May, 2019;
originally announced June 2019.
-
Mutual Coinduction
Authors:
Moez A. AbdelGawad
Abstract:
In this paper we present mutual coinduction as a dual of mutual induction and also as a generalization of standard coinduction. In particular, we present a precise formal definition of mutual induction and mutual coinduction. In the process we present the associated mutual induction and mutual coinduction proof principles, and we present the conditions under which these principles hold.
In spite…
▽ More
In this paper we present mutual coinduction as a dual of mutual induction and also as a generalization of standard coinduction. In particular, we present a precise formal definition of mutual induction and mutual coinduction. In the process we present the associated mutual induction and mutual coinduction proof principles, and we present the conditions under which these principles hold.
In spite of some mention of mutual (co)induction in research literature, but the formal definition of mutual (co)induction and the proof of the mutual (co)induction proof principles we present here seem to be the first such definition and proof. As such, it seems our work is the first to point out that monotonicity of mutual generators seems not sufficient for guaranteeing the existence of least and greatest simultaneous fixed points in complete lattices, and that continuity on the other hand is sufficient for guaranteeing their existence. [The paper has been responsively updated so as to not require the continuity of generators but only require their monotonicity, and it now includes a proof of the sufficiency of monotonicity. A full revision of the paper to reflect the relaxed requirement is currently underway.]
In the course of our presentation of mutual coinduction we also discuss some concepts related to standard (also called direct) induction and standard coinduction, as well as ones related to mutual (also called simultaneous or indirect) induction. During the presentation we purposely discuss particular standard concepts so as to help motivate the definitions of their more general counterparts for mutual/ simultaneous/ indirect (co)induction. Greatest simultaneous post-fixed points, in particular, will be abstractions and models of mathematical objects (e.g., points, sets, types, predicates, etc.) that are defined mutually-coinductively.
△ Less
Submitted 29 July, 2019; v1 submitted 14 March, 2019;
originally announced March 2019.
-
Induction, Coinduction, and Fixed Points: Intuitions and Tutorial
Authors:
Moez A. AbdelGawad
Abstract:
Recently we presented a concise survey of the formulation of the induction and coinduction principles, and some concepts related to them, in five different fields mathematical fields, hence shedding some light on the precise relation between these fields. In this article we present few tutorial examples---from set theory, number theory and real analysis---that illustrate these concepts, and the in…
▽ More
Recently we presented a concise survey of the formulation of the induction and coinduction principles, and some concepts related to them, in five different fields mathematical fields, hence shedding some light on the precise relation between these fields. In this article we present few tutorial examples---from set theory, number theory and real analysis---that illustrate these concepts, and the intuitions behind them, more concretely.
△ Less
Submitted 26 February, 2019;
originally announced March 2019.
-
Induction, Coinduction, and Fixed Points in PL Type Theory
Authors:
Moez A. AbdelGawad
Abstract:
Recently we presented a concise survey of the formulation of the induction and coinduction principles, and some concepts related to them, in programming languages type theory and four other mathematical disciplines. The presentation in type theory involved the separate formulation of these concepts, first, in the theory of types of functional programming languages and, next, in the theory of types…
▽ More
Recently we presented a concise survey of the formulation of the induction and coinduction principles, and some concepts related to them, in programming languages type theory and four other mathematical disciplines. The presentation in type theory involved the separate formulation of these concepts, first, in the theory of types of functional programming languages and, next, in the theory of types of object-oriented programming languages. In this article we show that separating these two formulations helps demonstrate some of the fundamental differences between structural subtyping, predominant in functional programming languages, and nominal subtyping, predominant in object-oriented programming languages---including differences concerning type negation and concerning the existence of inductive types, of coinductive types, and of approximations thereof. In the article we also motivate mutual coinduction and mutual coinductive types, and their approximations, and we discuss in brief the potential relevance of these concepts to object-oriented programming (OOP) type theory.
△ Less
Submitted 26 February, 2019;
originally announced March 2019.
-
Induction, Coinduction, and Fixed Points: A Concise Comparative Survey
Authors:
Moez A. AbdelGawad
Abstract:
In this survey article (which hitherto is an ongoing work-in-progress) we present the formulation of the induction and coinduction principles using the language and conventions of each of order theory, set theory, programming languages' type theory, first-order logic, and category theory, for the purpose of examining some of the similarities and, more significantly, the dissimilarities between the…
▽ More
In this survey article (which hitherto is an ongoing work-in-progress) we present the formulation of the induction and coinduction principles using the language and conventions of each of order theory, set theory, programming languages' type theory, first-order logic, and category theory, for the purpose of examining some of the similarities and, more significantly, the dissimilarities between these various mathematical disciplines, and hence shed some light on the precise relation between these disciplines.
Towards that end, in this article we discuss plenty of related concepts, such as fixed points, pre-fixed points, post-fixed points, inductive sets and types, coinductive sets and types, algebras and coalgebras. We conclude the survey by hinting at the possibility of a more abstract and unified treatment that uses concepts from category theory such as monads and comonads.
△ Less
Submitted 27 February, 2019; v1 submitted 24 December, 2018;
originally announced December 2018.
-
Doubly F-Bounded Generics
Authors:
Moez A. AbdelGawad
Abstract:
In this paper we suggest how f-bounded generics in nominally-typed OOP can be extended to the more general notion we call `doubly f-bounded generics' and we suggest how doubly f-bounded generics can be reasoned about. We also (attempt to) prove, using a coinductive argument, that our reasoning method is mathematically sound.
In this paper we suggest how f-bounded generics in nominally-typed OOP can be extended to the more general notion we call `doubly f-bounded generics' and we suggest how doubly f-bounded generics can be reasoned about. We also (attempt to) prove, using a coinductive argument, that our reasoning method is mathematically sound.
△ Less
Submitted 6 September, 2018; v1 submitted 18 August, 2018;
originally announced August 2018.
-
Towards Taming Java Wildcards and Extending Java with Interval Types
Authors:
Moez A. AbdelGawad
Abstract:
Of the complex features of generic nominally-typed OO type systems, wildcard types and variance annotations are probably the hardest to fully grasp. As demonstrated when adding closures (a.k.a., lambdas) and when extending type inference in Java, wildcard types and variance annotations make the development and progress of OO programming languages, and of their type systems in particular, a challen…
▽ More
Of the complex features of generic nominally-typed OO type systems, wildcard types and variance annotations are probably the hardest to fully grasp. As demonstrated when adding closures (a.k.a., lambdas) and when extending type inference in Java, wildcard types and variance annotations make the development and progress of OO programming languages, and of their type systems in particular, a challenging and delicate task.
In this work we build on our concurrent work, in which we model Java subtyping using a partial graph product, to suggest how wildcard types in Java can be generalized, and simplified, to interval types. In particular, interval types correspond to endpoints of paths in the Java subtyping graph.
In addition to being a simple and more familiar notion, that is easier to grasp than wildcard types, interval types are strictly more expressive than wildcard types. As such, we believe interval types, when developed and analyzed in full, will be a welcome addition to Java and other similar generic nominally-typed OO programming languages.
△ Less
Submitted 15 July, 2018; v1 submitted 18 May, 2018;
originally announced May 2018.
-
Partial Cartesian Graph Product
Authors:
Moez A. AbdelGawad
Abstract:
In this paper we define a new product-like binary operation on directed graphs, and we discuss some of its properties. We also briefly discuss its application in constructing the subtyping relation in generic nominally-typed object-oriented programming languages.
In this paper we define a new product-like binary operation on directed graphs, and we discuss some of its properties. We also briefly discuss its application in constructing the subtyping relation in generic nominally-typed object-oriented programming languages.
△ Less
Submitted 15 July, 2018; v1 submitted 18 May, 2018;
originally announced May 2018.
-
Java Subtyping as an Infinite Self-Similar Partial Graph Product
Authors:
Moez A. AbdelGawad
Abstract:
Due to supporting variance annotations, such as wildcard types, the subtyping relation in Java and other generic nominally-typed OO programming languages is both interesting and intricate. In these languages, the subtyping relation between ground object types, i.e., ones with no type variables, is the basis for defining the full OO subtyping relation, i.e., that includes type variables.
As an or…
▽ More
Due to supporting variance annotations, such as wildcard types, the subtyping relation in Java and other generic nominally-typed OO programming languages is both interesting and intricate. In these languages, the subtyping relation between ground object types, i.e., ones with no type variables, is the basis for defining the full OO subtyping relation, i.e., that includes type variables.
As an ordering relation over the set of types, the subtyping relation in object-oriented programming languages can always be represented as a directed graph. In order to better understand some of the subtleties of the subtyping relation in Java, in this paper we present how the subtyping relation between ground Java types can be precisely constructed using two new operations (a binary operation and a unary one) on directed graphs. The binary operation we use, called a partial Cartesian graph product, is similar in its essence to standard graph products and group products. Its definition is based in particular on that of the standard Cartesian graph product.
We believe the use of graph operations in constructing the ground generic Java subtyping relation reveals some of the not-immediately-obvious structure of the subtyping relation not only in Java but, more generally, also in mainstream generic nominally-typed OO programming languages such as C#, Scala and Kotlin. Accordingly, we believe that describing precisely how graph operations can be used to explicitly construct the subtyping relation in these languages, as we do in this paper, may significantly improve our understanding of features of the type systems of these languages such as wildcard types and variance annotations, and of the dependency of these features on nominal subtyping in nominally-typed OOP.
△ Less
Submitted 15 July, 2018; v1 submitted 18 May, 2018;
originally announced May 2018.
-
Finitary-based Domain Theory in Coq: An Early Report
Authors:
Moez A. AbdelGawad
Abstract:
In domain theory every finite computable object can be represented by a single mathematical object instead of a set of objects, using the notion of finitary-basis. In this article we report on our effort to formalize domain theory in Coq in terms of finitary-basis.
In domain theory every finite computable object can be represented by a single mathematical object instead of a set of objects, using the notion of finitary-basis. In this article we report on our effort to formalize domain theory in Coq in terms of finitary-basis.
△ Less
Submitted 17 January, 2018;
originally announced January 2018.
-
Object-Oriented Theorem Proving (OOTP): First Thoughts
Authors:
Moez A. AbdelGawad
Abstract:
Automatic (i.e., computer-assisted) theorem proving (ATP) can come in many flavors. This document presents early steps in our effort towards defining object-oriented theorem proving (OOTP) as a new style of ATP.
Traditional theorem proving (TTP) is the only well-known flavor of ATP so far. OOTP is a generalization of TTP. While TTP is strongly based on functional programming (FP), OOTP is strong…
▽ More
Automatic (i.e., computer-assisted) theorem proving (ATP) can come in many flavors. This document presents early steps in our effort towards defining object-oriented theorem proving (OOTP) as a new style of ATP.
Traditional theorem proving (TTP) is the only well-known flavor of ATP so far. OOTP is a generalization of TTP. While TTP is strongly based on functional programming (FP), OOTP is strongly based on object-oriented programming (OOP) instead. We believe OOTP is a style of theorem proving that is no less powerful and no less natural than TTP and thus likely will be no less practically useful than TTP.
△ Less
Submitted 27 February, 2019; v1 submitted 28 December, 2017;
originally announced December 2017.
-
Novel Uses of Category Theory in Modeling OOP
Authors:
Moez A. AbdelGawad
Abstract:
An outline and summary of four new potential applications of category theory to OOP research are presented. These include (1) the use of operads to model Java subtyping, (2) the use of Yoneda's lemma and representable functors in the modeling of generic types in generic nominally-typed OOP, (3) using a combination of category presentations and cartesian closed categories to model structurally-type…
▽ More
An outline and summary of four new potential applications of category theory to OOP research are presented. These include (1) the use of operads to model Java subtyping, (2) the use of Yoneda's lemma and representable functors in the modeling of generic types in generic nominally-typed OOP, (3) using a combination of category presentations and cartesian closed categories to model structurally-typed OOP, and (4) the use of adjoint functors to model Java erasure.
△ Less
Submitted 29 December, 2017; v1 submitted 23 September, 2017;
originally announced September 2017.
-
Towards a Java Subtyping Operad
Authors:
Moez A. AbdelGawad
Abstract:
The subtyping relation in Java exhibits self-similarity. The self-similarity in Java subtyping is interesting and intricate due to the existence of wildcard types and, accordingly, the existence of three subtyping rules for generic types: covariant subtyping, contravariant subtyping and invariant subtyping. Supporting bounded type variables also adds to the complexity of the subtyping relation in…
▽ More
The subtyping relation in Java exhibits self-similarity. The self-similarity in Java subtyping is interesting and intricate due to the existence of wildcard types and, accordingly, the existence of three subtyping rules for generic types: covariant subtyping, contravariant subtyping and invariant subtyping. Supporting bounded type variables also adds to the complexity of the subtyping relation in Java and in other generic nominally-typed OO languages such as C# and Scala. In this paper we explore defining an operad to model the construction of the subtyping relation in Java and in similar generic nominally-typed OO programming languages. Operads, from category theory, are frequently used to model self-similar phenomena. The Java subtyping operad, we hope, will shed more light on understanding the type systems of generic nominally-typed OO languages.
△ Less
Submitted 29 December, 2017; v1 submitted 1 June, 2017;
originally announced June 2017.
-
Towards an Accurate Mathematical Model of Generic Nominally-Typed OOP
Authors:
Moez A. AbdelGawad
Abstract:
The construction of GNOOP as a domain-theoretic model of generic nominally-typed OOP is currently underway. This extended abstract presents the concepts of `nominal intervals' and `full generication' that are likely to help in building GNOOP as an accurate mathematical model of generic nominally-typed OOP. The abstract also presents few related category-theoretic suggestions. The presented concept…
▽ More
The construction of GNOOP as a domain-theoretic model of generic nominally-typed OOP is currently underway. This extended abstract presents the concepts of `nominal intervals' and `full generication' that are likely to help in building GNOOP as an accurate mathematical model of generic nominally-typed OOP. The abstract also presents few related category-theoretic suggestions. The presented concepts and suggestions are particularly geared towards enabling GNOOP to offer a precise and simple view of so-far-hard-to-analyze features of generic OOP such as variance annotations (e.g., Java wildcard types) and erased generics (e.g., Java type erasure).
△ Less
Submitted 30 October, 2016; v1 submitted 14 October, 2016;
originally announced October 2016.
-
Why Nominal-Typing Matters in OOP
Authors:
Moez A. AbdelGawad
Abstract:
The statements `inheritance is not subtyping' and `mainstream OO languages unnecessarily place restrictions over inheritance' have rippled as mantras through the PL research community for years. Many mainstream OO developers and OO language designers however do not accept these statements. In \emph{nominally-typed} OO languages that these developers and language designers are dearly familiar with,…
▽ More
The statements `inheritance is not subtyping' and `mainstream OO languages unnecessarily place restrictions over inheritance' have rippled as mantras through the PL research community for years. Many mainstream OO developers and OO language designers however do not accept these statements. In \emph{nominally-typed} OO languages that these developers and language designers are dearly familiar with, inheritance simply is subtyping; and they believe OO type inheritance is an inherently nominal notion not a structural one.
Nominally-typed OO languages are among the most used programming languages today. However, the value of nominal typing to mainstream OO developers, as a means for designing robust OO software, seems to be in wait for full appreciation among PL researchers--thereby perpetuating an unnecessary schism between many OO developers and language designers and many OO PL researchers, with each side discounting, if not even disregarding, the views of the other.
In this essay we strengthen earlier efforts to demonstrate the semantic value of nominal typing by presenting a technical comparison between nominal OO type systems and structural OO type systems. Recently, a domain-theoretic model of nominally-typed OOP was compared to well-known models of structurally-typed OOP. Combined, these comparisons provide a clear and deep account for the relation between nominal and structural OO type systems that has not been presented before, and they help demonstrate the key value of nominal typing and nominal subtyping to OO developers and language designers.
We believe a clearer understanding of the key semantic advantage of pure nominal OO typing over pure structural OO typing can help remedy the existing schism. We believe future foundational OO PL research, to further its relevance to mainstream OOP, should be based less on structural models of OOP and more on nominal ones instead.
△ Less
Submitted 29 December, 2017; v1 submitted 13 June, 2016;
originally announced June 2016.
-
Towards Understanding Generics in Mainstream OOP
Authors:
Moez A. AbdelGawad
Abstract:
This article reports on steps towards building a simple and accurate domain-theoretic model of generic nominally-typed OOP.
This article reports on steps towards building a simple and accurate domain-theoretic model of generic nominally-typed OOP.
△ Less
Submitted 29 December, 2017; v1 submitted 4 May, 2016;
originally announced May 2016.
-
A Comparison of NOOP to Structural Domain-Theoretic Models of OOP
Authors:
Moez A. AbdelGawad
Abstract:
Mainstream object-oriented programming languages such as Java, C#, C++ and Scala are all almost entirely nominally-typed. NOOP is a recently developed domain-theoretic model of OOP that was designed to include full nominal information found in nominally-typed OOP. This paper compares NOOP to the most widely known domain-theoretic models of OOP, namely, the models developed by Cardelli and Cook, wh…
▽ More
Mainstream object-oriented programming languages such as Java, C#, C++ and Scala are all almost entirely nominally-typed. NOOP is a recently developed domain-theoretic model of OOP that was designed to include full nominal information found in nominally-typed OOP. This paper compares NOOP to the most widely known domain-theoretic models of OOP, namely, the models developed by Cardelli and Cook, which were structurally-typed models. Leveraging the development of NOOP, the comparison presented in this paper provides a clear and precise mathematical account for the relation between nominal and structural OO type systems.
△ Less
Submitted 29 December, 2017; v1 submitted 29 March, 2016;
originally announced March 2016.
-
Subtyping in Java is a Fractal
Authors:
Moez A. AbdelGawad
Abstract:
While developing their software, professional object-oriented (OO) software developers keep in their minds an image of the subtyping relation between types in their software. The goal of this paper is to present an observation about the graph of the subtyping relation in Java, namely the observation that, after the addition of generics---and of wildcards, in particular---to Java, the graph of the…
▽ More
While developing their software, professional object-oriented (OO) software developers keep in their minds an image of the subtyping relation between types in their software. The goal of this paper is to present an observation about the graph of the subtyping relation in Java, namely the observation that, after the addition of generics---and of wildcards, in particular---to Java, the graph of the subtyping relation is no longer a simple directed-acyclic graph (DAG), as in pre-generics Java, but is rather a fractal. Further, this observation equally applies to other mainstream nominally-typed OO languages (such as C#, C++ and Scala) where generics and wildcards (or some other form of 'variance annotations') are standard features. Accordingly, the shape of the subtyping relation in these OO languages is more complex than a tree or a simple DAG, and indeed is also a fractal. Given the popularity of fractals, the fractal observation may help OO software developers keep a useful and intuitive mental image of their software's subtyping relation, even if it is a little more frightening, and more amazing one than before. With proper support from IDEs, the fractal observation can help OO developers in resolving type errors they may find in their code in lesser time, and with more confidence.
△ Less
Submitted 29 December, 2017; v1 submitted 19 November, 2014;
originally announced November 2014.
-
Domain Theory for Modeling OOP: A Summary
Authors:
Moez A. AbdelGawad
Abstract:
Domain theory is `a mathematical theory that serves as a foundation for the semantics of programming languages'. Domains form the basis of a theory of partial information, which extends the familiar notion of partial function to encompass a whole spectrum of "degrees of definedness", so as to model incremental higher-order computation (i.e., computing with infinite data values, such as functions d…
▽ More
Domain theory is `a mathematical theory that serves as a foundation for the semantics of programming languages'. Domains form the basis of a theory of partial information, which extends the familiar notion of partial function to encompass a whole spectrum of "degrees of definedness", so as to model incremental higher-order computation (i.e., computing with infinite data values, such as functions defined over an infinite domain like the domain of integers, infinite trees, and such as objects of object-oriented programming). General considerations from recursion theory dictate that partial functions are unavoidable in any discussion of computability. Domain theory provides an appropriately abstract setting in which the notion of a partial function can be lifted and used to give meaning to higher types, recursive types, etc. NOOP is a domain-theoretic model of nominally-typed OOP. NOOP was used to prove the identification of inheritance and subtyping in mainstream nominally-typed OO programming languages and the validity of this identification. In this report we first present the definitions of basic domain theoretic notions and domain constructors used in the construction of NOOP, then we present the construction of a simple structural model of OOP called COOP as a step towards the construction of NOOP. Like the construction of NOOP, the construction of COOP uses earlier presented domain constructors.
△ Less
Submitted 29 June, 2014;
originally announced June 2014.
-
An Overview of Nominal-Typing versus Structural-Typing in OOP
Authors:
Moez A. AbdelGawad
Abstract:
NOOP is a mathematical model of nominally-typed OOP that proves the identification of inheritance and subtyping in mainstream nominally-typed OO programming languages and the validity of this identification. This report gives an overview of the main notions in OOP relevant to constructing a mathematical model of OOP such as NOOP. The emphasis in this report is on defining nominality, nominal typin…
▽ More
NOOP is a mathematical model of nominally-typed OOP that proves the identification of inheritance and subtyping in mainstream nominally-typed OO programming languages and the validity of this identification. This report gives an overview of the main notions in OOP relevant to constructing a mathematical model of OOP such as NOOP. The emphasis in this report is on defining nominality, nominal typing and nominal subtyping of mainstream nominally-typed OO languages, and on contrasting the three notions with their counterparts in structurally-typed OO languages, i.e., with structurality, structural typing and structural subtyping, respectively. An additional appendix demonstrates these notions and other related notions, and the differences between them, using some simple code examples. A detailed, more technical comparison between nominal typing and structural typing in OOP is presented in other publications.
△ Less
Submitted 29 December, 2017; v1 submitted 9 September, 2013;
originally announced September 2013.