Dr. Bhavani Thuraisingham

My Work

Software Development Projects

1. Introduction

I have 40+ years of large-scale software design and development experience. I have actively developed software for around 15+ years and subsequently supervised the software development efforts for around 25+ years while conducting some software development. In particular, my experience includes developing software for (i) commercial products involving mainframe systems, databases, and distributed control systems while in the commercial industry and (ii) for operational systems that involves the development of secure distributed database systems, integration of heterogeneous database systems, real-time object systems (e.g., middleware, databases, and applications) and data analytics systems while at MITRE. While in academia for the past 15 years I have managed and supervised the software development for large scale open source and other software systems involving cloud platforms, No-SQL databases, data analytics and web services standards for the Department of Defense and the Intelligence Community as well as for NASA. I have been intimately involved with providing scalable solutions to complex software development efforts for the US Government and have led software design and development efforts that included professional software developers while at MITRE and academia. More recently I have begun developing software in Python for artificial intelligence systems.

2. My Software Development Activities

2.1 Software development as a student

Initially while at undergraduate and graduate schools I took programming languages courses and wrote programs in FORTRAN, Algol, and Pascal. I also taught FORTRAN programming numerous times at the University of Minnesota. I developed software for operating systems, database systems, networks, compilers, and expert systems while in graduate school.

2.2 Software Development at Control Data Corporation

My work on large scale software development started at Control Data Corporation where I was a senior developer (at that time it was called senior programmer analyst) for the CDCNET commercial product. We started developing software in C and then switched to Cybil a Control Data proprietary language (this also meant we were sent for training in Cybil). I was responsible for several modules of the CDCNET. In particular, I designed and developed two transport layers. One was the Xerox transport layer and on top of that a generic transport layer. This involved designing the layers from scratch and participating in design and development meetings. I was also given the Network layer to maintain and develop the X.25 gateway to X.25 networks. Subsequently I was given the responsibility to design and develop from scratch the initial version of the Session layer. In addition, I also developed the Memory management unit for the entire CDCNET product. Finally I was also responsible for testing CDCNET which was running on the Cyber 170 mainframe to ensure that it worked with the Cyber 180 mainframe. I also wrote the design documents for all of the software layers I was responsible for. I played a key role in the release of the first version of the product including unit testing and integration testing as well as got an award for fixing a substantial number of bugs on time. This gave me first-hand experience of being involved in the product development from the beginning until the product was released and deployed initially manly to universities. University of Wyoming was one of the first Beta sites that we focused on in releasing this product.

2.3 Software Development a Honeywell Inc

My next software development experience was at Honeywell. My work was divided between contract research (including mainly design and some development) for the US Government and prototype development for the Honeywell divisions. Much of my development efforts at Honeywell were on prototypes to demonstrate to the divisions and get them incorporated into the commercial products. My first effort was designing and developing a distributed data dictionary based on the IRDS standard. The work was essentially on schema integration of heterogeneous databases and the implementation was carried out in C. I had a student worker to help with the development. This prototype was transferred to Honeywell's Residential Control Division and this division incorporated the system into their product. My second effort on developing an expert system in LISP for industrial control systems. This expert system was transferred to Honeywell's industrial control systems division (e.g., TDC 3000 product). I also had a student worker to help me with the implementation. The third project was on object-based integration for Building control systems division. This was one of the early object-based systems and was implemented in Smalltalk and I carried out the implementation. We demonstrated the system to Honeywell's building control systems division and there was interest in taking a similar approach to developing their products. Such prototype implementation efforts gave me first-hand experience of transferring the research prototypes into commercial products.

In addition to working with the divisions, I was also involved in three major software design efforts that transformed the commercial industry. The first was on the detailed design of the secure relational database system called Lock Data Views for the Air Force. This work had a tremendous impact on the industry as it was one of the first two high assurance relational database systems. The results were presented to the government as well as the industry (Oracle, Sybase, Informix, and Ingres) and some of the ideas were incorporated into the secure data vase systems products (e.g., secure relational data model). The second effort was to design a network operating system for NASA. This network operating system integrated multiple file systems and was one of the early network operating systems to be designed and had an impact on space station networks. The third effort was to design engineering information systems for the Air Force. This involved designing both information models and data models for engineering information systems. All of my three efforts for the government while at Honeywell were designs with significant impact on products. However, this work set the stage for my software development efforts at MITRE.

2.4 Software Development at The MITRE Corporation

I continued to develop software both in C and C++ while at MITRE. However, my main responsibility was to focus on the design and I took on software development only to gain experience. I worked with a senior engineer to develop the first database inference controller for the Navy. All of the implementation was carried out in C and this system was hosted on Sybase's Secure SQL Database Server. I implemented the representation of the policies for the inference controller. The second system that I designed was a secure distributed database system for the Air Force. This system was used to connect the databases in Bedford-MA, McLean-VA, and Fort Monmouth-NJ. My focus was on the design and I supervised the implementation. The third system that I was involved in was working with the Army to integrate the secure distributed database system and the inference controller to design and develop a distributed database inference controller. This system was transferred to Army's Maneuver Control System and I worked with the Amy for the technology transfer.. The fourth major experience was to carry out a simulation of security into object-based systems for the Navy. The access control module was developed in C++ and hosted on the Object Store object-based database system. I implemented some of the objects in C++ and worked with a senior software engineer. This work was then presented to Ontos, a commercial object database vendor and had an impact on their product. My fifth major effort was on designing and developing a real-time object-based infrastructure and data manager for the next generation AWAS system. While my main work was on the design of this system, I also implemented algorithms in C++ for some of the objects that were encapsulated by the infrastructure. Finally, I worked with a colleague on designing text and image-based data mining systems. I was a department head by then and while contributing to the design, my focus was to ensure that the deliverables were met. The software design and development work I carried out at MITRE gave me first-hand experience of transferring research to operational systems. While at MITTE I also got a certification in Java and did some development on my own time in Java to be proficient in this language.

2.5 Software Development at the University of Texan at Dallas

At the University of Texas at Dallas, my work was mainly to supervise the implementation carried out by my BS, MS and mainly PhD students as well as follow the student projects very closely. The students developed numerous systems including secure data systems, web-based information systems, and data mining systems, social media systems and inference controllers. We also developed cloud based systems for sharing information securely across multiple sites. We have obtained many patents on our system designs. We also formed a company to commercialize our social media system called InXite that carries out data integration and analytics for extracting demographics information. We then built applications for national security and marketing. Write-ups of two of our other systems (cloud-based assured information sharing systems, and Evolving Malware Detection system) went into the Air Force's BAAs for STTRs.

During the first 10-12 years at the university my focus was on establishing a successful Cyber Security Institute and making sure that we got funding to carry out the research and contributed to some of the designs. In addition, I also carry out code review of some of the implementation projects of the students. Now that we have a very successful institute, more recently, I have had time to focus on software development and my focus has been on developing software in Python for machine learning systems for cyber security. My work at UT Dallas has given me experience in transferring prototype systems to commercial products as well as writing business plans. I hope to utilize this experience to commercialize some of our artificial intelligence systems.

3. Impact of My Software Development Work

Supportive evidence of my extensive software development efforts has been reported by the US Air Force and MITRE (among others). For example, the US Air Force has commended my software design and development effort to integrate large scale systems operating in the cloud across US and Europe to support information sharing among the coalition organizations. [Please Visit]

Furthermore, MITRE commends several of my software development efforts including connecting databases in Bedford-MA (Air Force), Fort Monmouth-NJ (Army), and McLean-VA (Navy) [Please Visit]

I also have strong expertise in Java software development (and has certifications in Java as well as forensics examination of software – e.g., SANS). In addition to such large-scale software development efforts, I have also led teams to design and develop various prototypes such as database inference controllers, data mining tools for malware analysis, expert systems for control systems, and social media systems.

My software development efforts are documented in practical software magazines and journals (e.g., Software Practice and Experience, Journal of Systems and Software and IEEE Transactions on Software Engineering), books (e.g., Design and Implementation of Data Mining Tools for Malware Detection), and multiple software patents. I have also received some of the most prestigious awards given to software professionals and engineers (e.g., NAI Fellow – National Academy of Inventors). Such vast and unique software design and development experience carried out in the commercial industry, MITRE and in academia for the US Government enables me to understand all aspects of software design and development for large scale systems.