About
23
Publications
1,505
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
74
Citations
Citations since 2017
Introduction
Ph.D. in Electrical and Computer Engineering - Carnegie Mellon University
M.S. in Computer and Information Sciences - Ohio State University
B.S. in Computer Science - University of Akron (Ohio) - Minor in Applied Mathematics; Engineering & Science Track
Publications
Publications (23)
There is an increasing demand for software to implement human-computer interfaces. Software engineers who develop these interfaces need an understanding of the interactions between the human, the available computer technology, and human tasks. They should also understand empirical methods used to evaluate the usability of existing human-computer in...
Current Flight Software (FSW) systems embed customized pieces of software to control spacecraft instrumentation. Because spacecraft contain unique hardware components, reusing software device drivers or higher-level FSW subsystems dependent on the drivers across different missions is difficult; and changing instrumentation for an FSW is complicated...
There is an increasing demand for domain-specific For example, the software to control a machine on a is different in significant the to manip- ulate large databases. The engineer building real-time systems software to control a motor that powers a piece of machinery needs some understanding of the motor's servo system; whereas a engineer who desig...
System resource management for high-assurance applications such as the command and control of a battle group is a complex problem. These applications often require guaranteed computing services that must satisfy both hard and soft deadlines. Over time, their resource demands can also vary significantly with bursts of high activity amidst periods of...
Transforming software requirements into a software design involves the iterative partition of a solution into software components. The partition process starts with the identification of basic high-level design components and concludes with the definition of low-level design elements such as modules, packages, and library specifications. The proces...
Transforming software requirements into a software design involves the iterative partition of a solution into software components. The process is human-intensive and does not guarantee that design objectives such as reusability, evolvability, and reliable performance are satisfied. The costly process of designing, building, and modifying high assur...
A noteworthy feature of the computing industry is the increasing demand for application-specific software. For example, software to control a factory in real-time involves timing, fault- tolerance, and safety constraints. These requirements differ from those one would encounter in the design of a software interface to a database. Software engineers...
There is an increasing demand for application-specific software. For example, the software to control a machine on a factory floor is different from the software to manipulate large databases. The software engineer building software to control a motor that powers a piece of machinery needs some understanding of the motor's servo system; whereas a s...
MSE students who aspire to obtain business management positions within a computer-related technology company, to specialize in the development of software to support production and operations, and/or to start their own technical companies will need fundamental business skills and expertise. The MSE Program offers the Business Specialization Track t...
System resource management for high-assurance appli- cations such as the command and control of a battle group is a complex problem. These applications often require guaranteed computing services that must satisfy both hard and soft deadlines. In addition, their resource demands can vary significantly over time with bursts of high activity amidst p...
Transforming software requirements into a software design involves the iterative partition of a solution into software components. The process is human-intensive and does not guarantee that design objectives such as reusability, evolvability, and reliable performance are satisfied. The costly process of designing, building, and modifying high assur...
Software is pervasive: it exists in many different types of applications and involves a variety of computer technologies. Representative applications that exemplify this diversity include aircraft control, video conferencing, Internet commerce, and computer-based tutors. There is a corresponding increase in demand for technical professionals with a...
The market demands that software systems be adaptable to changes
in requirements. Software must be evolvable to solve slightly different
problems over time. The transition from real-world requirements to
software is a human-intensive and potentially complex process that
provides limited automated support for the analysis of alternative
designs with...
There is an increasing demand for domain specific software. For example, the software to control a machine on a factory floor is different in significant ways from the software to manipulate large databases. The software engineer building real time systems software to control a motor that powers a piece of machinery needs some understanding of the...
Rapid changes in technology have resulted in an increasing need to transfer state of the art technical concepts to practicing technologists. These technical professionals and their employers seek in-depth educational opportunities to acquire advanced knowledge of emerging technologies; but often they cannot afford the time and money to pursue advan...
We present an analytical method for incorporating knowledge about change into the design of reusable real time software components. We apply this method to the construction of algorithmic software solutions that minimize the effect of anticipated changes in the solution. The motivation for our research is based on two premises: software solutions t...
A noteworthy feature o f t he computing industry is the increasing d emand for application-specific s oftware. For example, software to control a factory in real-time involves timing, fault-tolerance, and safety constraints. These requirements differ from those one would encounter in the design of a software interface to a database. Software engine...
There is an increasing demand for software to support real-time applications such as air traffic control, factory automation, patient monitoring systems, and video-conferencing. Software engineers who develop real-time software need to understand functional constraints such as timing, fault tolerance, and reliability that distinguish real-time from...
There is an increasing need for software systems to adaptively support changes in application-level objectives [Fayad96]. Real-time software evolution involves changes in software structure and meaning,over time to satisfy changes in application requirements. The problem ,is that the process of changing ,real-time software often involves extensive...