Software Engineering Overview

Software Engineering

Research in software engineering is conducted in the Software Engineering Laboratory (SEL) under the direction of Dr. John Bowles. Other faculty members involved in the work include Dr. Manton Matthews and Dr. Caroline Eastman. The laboratory has an isolated network that can be used for load testing applications and for experiments with network-based components. Much of the work in the laboratory is focused on the use of design patterns, Model Driven Architecture (MDA), and iterative development in software design and involves the use of state-of-the-art software received in a $706,000 donation from Compuware Corporation. The University of South Carolina is serving as a prototype for academic use of these software development tools. Closely related work is conducted in the Center for Information Technology under the direction of Dr. Michael Huhns; most of this work is currently based on the use of agent technology to develop robust software. Research projects in software engineering will use productivity-enhancing tools such as OptimalJ and apply new paradigms such as MDA, use of design patterns, and agent-based architectures to software development. They will also involve developing models, monitoring activities, and measuring the performance of different system architectures. Two representative project areas are described below.

Enterprise-Level Network-Based System

Students in the Software Engineering Laboratory will build an enterprise-level network application using the OptimalJ enterprise development software from Compuware. Students will define a project-independent model (PIM), generate a prototype application and then modify the presentation and business rules in the project-specific model (PSM) to iteratively develop the finished web-based application. The application will be tested and monitored under simulation loads to characterize its behavior and test its robustness. This development paradigm will be extended to experiment with various ways of deploying and configuring the applications on the isolated network in the SEL and measuring their performance and robustness under a variety of conditions.

Software Agents for Team Software Development

The goal of the "Robust Software with Errors through Team-Oriented Programming" project (funded by NSF) is to increase the ease with which software can be produced and the robustness of the resultant software through the use of large groups of computational agents that interact to achieve system performance objectives and compensate for the mistakes or limitations of each other. This project is conducted in the Center for Information Technology under the direction of Dr. Michael Huhns. The research will involve the development of one or more agents that will interact productively with other existing agents.