Recent and Relevant Publications:
Professional Activities (Recent)
Awards and Honors
Professor Thomas Payne (University of CA, Riverside); Professor Scott Tilley (FL Institute of Technology)
My research area is software engineering in general, and system evolution in particular. My interests include reverse engineering & program understanding, software system redocumentation, information (software) visualization, technology assessment, and Web site evolution. Below are some of the current research projects that we are doing.
Effective Enterprise Software Development via Model Driven Engineering
Model Driven Engineering is a new approach to application design and implementation. It focuses on developing applications and writing specifications, based on a platform independent model (PIM) of the application or specification's business functionality and behavior. It supports reuse of existing efforts when creating families of systems that share significant portion of artifacts. MDE supports developing enterprise-scale applications that have the capabilities to implementing business functionality in a timely fashion.
Two important aspects in the center to addressing challenge are Service-Oriented Architecture (SOA) and Software Product Lines (SPL). Many organizations now express their solutions in terms of services and their interconnections. SOA helps this goal by organizing a system as a collection of encapsulated services making calls on operations defined through their service interface. SPL is a set of software intensive systems that sharing a great deal of commonality (the core assets) among the systems an organization develops and maintained. Those artifacts that fall outside the commonality threshold are variability that are specific to a single product due to variances in key features.
The objective of this research is to identify design commonality and variability to support multiple target platforms. The goal of this research is to develop a method for identifying commonality and variability in core design assets – leveraging commonality and managing variability (LCMV) for the purpose to increase automation and productivity.
Software System Architecture Recovery & Redocumentation
Program documentation can be an important aid to software engineers performing complex maintenance tasks on legacy applications. Unfortunately, such documentation—if it exists at all—is often of low quality (e.g., out of synch with software development), usually provides a single perspective, and is difficult to integrate into the overall software process. One way of producing useful documentation for existing software systems is through reverse engineering, which is the process of analyzing source code (and related artifacts) to generate higher-level views of the subject system.
This research illustrates an integrated approach to program redocumentation. The approach is based on an adoption-centric reverse engineering methodology that leverages commonly available tools to realize required functionality. The result is a documentation package that is of high quality, provides multiple perspectives, and is easily integrated into existing software processes. This work was supported by BMW.
Interoperability of UML Modeling Tools
Software development requires incorporating new artifacts into existing architecture. Such artifacts may be data produced by tools (e.g., UML diagrams) or they may be new tools themselves. When the tools set is unknown in advance (such as used by outsourcing developers), a loosely-coupled federated approach to systems integration is the preferred solution. In the case of UML, the fidelity is an important consideration when it comes to tools that produce and/or consume models represented as UML diagrams or codified in some textual format (e.g., XMI). The importance of UML in modern software engineering necessitates that the information (both syntactic and semantic) captured in the models be maintained, independently of which tools are used to create or modify them. Otherwise, information loss during data integration will result.
The objective of this research is to develop a framework of evaluating the UML diagrams fidelity of UML tools, and to provide a method and prototype toolkit that captures and maintains the desired features (preserving both data and layout) of the import/export capabilities of representative UML modeling tools. A model problem requiring the integration of several artifacts (UML data and UML tools) will be used to orchestrate the evolution.
Software Quality Improvement by Mining Software Repository Data
The software development process is an incremental and iterative activity. Source code is maintained, and often, constantly changed to reflect the change of requirements, response to testing results, and address problem reports. Proper software measurement that derives meaningful numeric value for some attributes of a software product or process can help in identifying problem areas and development bottlenecks, and furthermore, provides objective assessment of current status of software development so that informed decisions of the project can be made by project managers.
Configuration management repository includes abundant data that not only include configuration items, but also the use of software components, proposed changes, components that could be affected by these changes, and number of changes per entry. By analyzing the software repository data, we could gain significant knowledge of the system development status. This information is usually implicitly hidden in the repository data that cannot be obtained by doing simply queries.
The objective of this research is to apply software analysis techniques to configuration management repository data with the aim of identifying the impact on file changes due to change of requests and problem reports. The repository data can be analyzed and visualized in a semi-automated manner according to user-selectable criteria. A case study is conducted with a model problem concerning software process improvement of an embedded software system in the context of performing high-quality software maintenance. A prototype toolkit called VITA is developed to illustrate the approach.
Development and Integration of Nursing Language into Healthcare Engineering
Providing people with a complete healthcare solution and promoting their wellbeing requires the dedication of multi-tier services from health workers, nurses, medical doctors, and specialists. A patient's emotional, mental, and physical health should be treated in a holistic manner. Friends, families, and the environment are all integral parts of the caring process, and caring is the essence of nursing. Nurses are often the first medical personnel who patients encounter, and nurses play a pivotal role in a patient's medical treatment process. Given the uniqueness and nature of nursing as a professional discipline, nurses are often given intimate, emotional information that could both support and threaten the wellbeing of patients. The nursing documentation provides the basis for nurses to communicate their practice, and captures information that includes more than just physical and medical vital signs and responses. Advocating health prevention, promotion, and advancing national and global health, electronic records must be available for nurses to record and report the distinctive caring they provide for patients, their families, and their communities. However, some existing designated formats for reporting nursing have been eliminated or reduced to check boxes. The result is that the caring essences of nursing in e-health records are lost.
The focus of this research is to leverage computer science technology and software engineering methods to develop and integrate nursing language into current medical practice and electronic health records, and further advance the body of nursing knowledge in practical concepts of transitional, enhanced, and transdisciplinary care. The goal is to empower nursing care to support health prevention and promotion.
Secure and Private Information Enforcement
Privacy is viewed as the right of individual or group to keep their personal information away from public knowledge or as their ability to control personal information flow. How to keep users' privacy while still enjoying the advantage of the information super high way infrastructure has become a prominent problem. Privacy negotiation and enforcement are one of the mechanisms that have been discussed in literatures. However, there are certain problems with the use and enforcement of privacy practice. For example, the lack of understanding and the need of information for existing policies. Some of the privacy policies require a higher level of education to understand them. Some researches indicate privacy policies need to be more precise, and suggest that online privacy policies have been drafted with the threat of privacy litigations in mind (to protect the company), rather than commitment to fair data handling practices (to protect the users). The overall problem is that there are no clear rules and duties of privacy policies, nor there is a systematic approach to define these policies.
This project will examine and propose guidelines for incorporating privacy from the requirements stage through analysis, design, implementation, testing, and deployment. The purpose is to be able to provide methodology for negotiation and enforcement of privacy constraints. In summary, starting from patterns that define the application/user level where policies are defined and agreed upon, we map them down to a security model where the application model constraints become conceptual model constraints, which in turn, are mapped to the network and storage levels. The unifying element in these mappings is the use of patterns.
"PIRE... provides our students with the kind of
direct international experience and training that will
prepare them for careers in an increasingly competitive
"PIRE...will enable the next generation of
students participants to become fully engaged as members of
the globally-aware IT workforce.""
"We look forward to hosting students researchers
... to foster our existing collaborations and create new
"I was able to develop quite a bit as a person, researcher, and professional."
"Being able to learn elements directly related to my project, the likes and dislikes of another culture, and be able to communicate in a different language are all aspects related to the PIRE program for which I will always be grateful."
"It helps you build confidence that the degree you hold will enable you to tackle any problem, and, more importantly, it lets you experience the job before committing your life to it."
This material is based in part upon work supported by the National Science Foundation under Grant Number OISE-0730065. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. © 2007 Florida International University