Open Access. Powered by Scholars. Published by Universities.®

Software Engineering

Institution
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 391 - 420 of 435

Full-Text Articles in Programming Languages and Compilers

Rejuvenate Pointcut: A Tool For Pointcut Expression Recovery In Evolving Aspect-Oriented Software, Raffi Khatchadourian, Awais Rashid Sep 2008

Rejuvenate Pointcut: A Tool For Pointcut Expression Recovery In Evolving Aspect-Oriented Software, Raffi Khatchadourian, Awais Rashid

Publications and Research

Aspect-oriented programming (AOP) strives to localize the scattered and tangled implementations of crosscutting concerns (CCCs) by allowing developers to declare that certain actions (advice) should be taken at specific points (join points) during the execution of software where a CCC (an aspect) is applicable. However, it is non-trivial to construct optimal pointcut expressions (a collection of join points) that capture the true intentions of the programmer and, upon evolution, maintain these intentions. We demonstrate an AspectJ source-level inferencing tool called rejuvenate pointcut which helps developers maintain pointcut expressions over the lifetime of a software product. A key insight into the …


Pointcut Rejuvenation: Recovering Pointcut Expressions In Evolving Aspect-Oriented Software, Raffi Khatchadourian, Phil Greenwood, Awais Rashid, Guoqing Harry Xu Aug 2008

Pointcut Rejuvenation: Recovering Pointcut Expressions In Evolving Aspect-Oriented Software, Raffi Khatchadourian, Phil Greenwood, Awais Rashid, Guoqing Harry Xu

Publications and Research

Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base-code can lead to join points incorrectly falling in or out of the scope of pointcuts. In this paper, we present an automated approach which limits fragility problems by providing mechanical assistance in pointcut maintenance. The approach is based on harnessing arbitrarily deep structural commonalities between program elements corresponding to join points selected by a pointcut. The extracted patterns are then applied to later versions to offer suggestions of new join points that may require inclusion. To illustrate that the motivation behind our proposal is well-founded, we first …


Timed Automata Patterns, Jin Song Dong, Ping Hao, Shengchao Qin, Jun Sun, Wang Yi Jun 2008

Timed Automata Patterns, Jin Song Dong, Ping Hao, Shengchao Qin, Jun Sun, Wang Yi

Research Collection School Of Computing and Information Systems

Timed Automata have proven to be useful for specification and verification of real-time systems. System design using Timed Automata relies on explicit manipulation of clock variables. A number of automated analyzers for Timed Automata have been developed. However, Timed Automata lack composable patterns for high-level system design. Specification languages like Timed Communicating Sequential Process (CSP) and Timed Communicating Object-Z (TCOZ) are well suited for presenting compositional models of complex real-time systems. In this work, we define a set of composable Timed Automata patterns based on hierarchical constructs in time-enriched process algebras. The patterns facilitate the hierarchical design of complex systems …


A Scalable Approach To Multi-Style Architectural Modeling And Verification, Stephen Wong, Jing Sun, Ian Warren, Jun Sun Apr 2008

A Scalable Approach To Multi-Style Architectural Modeling And Verification, Stephen Wong, Jing Sun, Ian Warren, Jun Sun

Research Collection School Of Computing and Information Systems

Software Architecture represents the high level description of a system in terms of components, external properties and communication. Despite its importance in the software engineering process, the lack of formal description and verification support limits the value of developing architectural models. Automated formal engineering methods can provide an effective means to precisely describe and rigorously verify intended structures and behaviors of software systems. In this paper, we present an approach to support the design and verification of software architectural models using the Alloy analyzer. Based on our earlier work, we propose a fundamental library for specifying system structures in terms …


A Formal Model Of Semantic Web Service Ontology (Wsmo) Execution, Hai H. Wang, Nick Gibbins, Terry R. Payne, Ahmed Saleh, Jun Sun Apr 2008

A Formal Model Of Semantic Web Service Ontology (Wsmo) Execution, Hai H. Wang, Nick Gibbins, Terry R. Payne, Ahmed Saleh, Jun Sun

Research Collection School Of Computing and Information Systems

Semantic Web services have been one of the most significant research areas within the semantic Web vision, and have been recognized as a promising technology that exhibits huge commercial potential. Current semantic Web service research focuses on defining models and languages for the semantic markup of all relevant aspects of services, which are accessible through a Web service interface. The Web service modelling ontology (WSMO) is one of the most significant semantic Web service framework proposed to date. To support the standardization and tool support of WSMO, a formal semantics of the language is highly desirable. As there are a …


Enforcing Behavioral Constraints In Evolving Aspect-Oriented Programs, Raffi Khatchadourian, Johan Dovland, Neelam Soundarajan Apr 2008

Enforcing Behavioral Constraints In Evolving Aspect-Oriented Programs, Raffi Khatchadourian, Johan Dovland, Neelam Soundarajan

Publications and Research

Reasoning, specification, and verification of Aspect-Oriented (AO) programs presents unique challenges especially as such programs evolve over time. Components, base-code and aspects alike, may be easily added, removed, interchanged, or presently unavailable at unpredictable frequencies. Consequently, modular reasoning of such programs is highly attractive as it enables tractable evolution, otherwise necessitating that the entire program be reexamined each time a component is changed. It is well known, however, that modular reasoning about AO programs is difficult. In this paper, we present our ongoing work in constructing a rely-guarantee style reasoning system for the Aspect-Oriented Programming (AOP) paradigm, adopting a trace-based …


Better Refactoring Tools For A Better Refactoring Strategy, Andrew P. Black Feb 2008

Better Refactoring Tools For A Better Refactoring Strategy, Andrew P. Black

Computer Science Faculty Publications and Presentations

Refactoring tools can improve the speed and accuracy with which we create and maintain software – but only if they are used. In practice, tools are not used as much as they could be; this seems to be because they do not align with the refactoring strategy preferred by the majority of programmers: floss refactoring. We propose five principles that characterize successful floss refactoring tools – principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design more usable tools.


A Framework For Relationship Pattern Languages, Sudarshan Murthy, David Maier Feb 2008

A Framework For Relationship Pattern Languages, Sudarshan Murthy, David Maier

Computer Science Faculty Publications and Presentations

A relationship pattern is an abstraction of a recurring need when establishing relationships among information elements in specific contexts. By developing or leveraging a relationship pattern, modelers can solve a class of problems once and describe many relationship types at once. We have developed a framework for specifying relationship patterns and pattern languages (sets of patterns) in both modeling-language-independent and modeling-language-specific ways. We describe this framework both informally and formally. We provide examples of some commonly observed relationship patterns and show how to use them in ER with the help of a relationship pattern language called Exemplar. We also provide …


Scalable Concurrent Hash Tables Via Relativistic Programming, Josh Triplett Jan 2008

Scalable Concurrent Hash Tables Via Relativistic Programming, Josh Triplett

Computer Science Faculty Publications and Presentations

Existing approaches to concurrent programming often fail to account for synchronization costs on modern shared-memory multipro- cessor architectures. A new approach to concurrent programming, known as relativistic programming, can reduce or in some cases eliminate synchronization overhead on such architectures. This approach avoids the costs of inter-processor communication and memory access by permitting processors to operate from a relativistic view of memory provided by their own caches, rather than from an absolute reference frame of memory as seen by all processors. This research shows how relativistic programming techniques can provide the perceived advantages of optimistic synchronization without the useless parallelism …


Machine-Assisted Proof Support For Validation Beyond Simulink, Chunqing Chen, Jin Song Dong, Jun Sun Nov 2007

Machine-Assisted Proof Support For Validation Beyond Simulink, Chunqing Chen, Jin Song Dong, Jun Sun

Research Collection School Of Computing and Information Systems

Simulink is popular in industry for modeling and simulating embedded systems. It is deficient to handle requirements of high-level assurance and timing analysis. Previously, we showed the idea of applying Timed Interval Calculus (TIC) to complement Simulink. In this paper, we develop machine-assisted proof support for Simulink models represented in TIC. The work is based on a generic theorem prover, Prototype Verification System (PVS). The TIC specifications of both Simulink models and requirements are transformed to PVS specifications automatically. Verification can be carried out at interval level with a high level of automation. Analysis of continuous and discrete behaviors is …


Reasoning About The Behavior Of Aspect-Oriented Programs, Neelam Soundarajan, Raffi Khatchadourian, Johan Dovland Nov 2007

Reasoning About The Behavior Of Aspect-Oriented Programs, Neelam Soundarajan, Raffi Khatchadourian, Johan Dovland

Publications and Research

Aspect-oriented programming (AOP) has become increasingly popular over the last few years. At the same time, reasoning about the behavior of these programs poses serious challenges. In this paper, we present a rely-guarantee approach to such reasoning. The rely-guarantee approach has proven useful in reasoning about concurrent and distributed programs. We show that some of the key problems encountered in reasoning about aspect-oriented programs are similar to those encountered in reasoning about concurrent programs; and that the rely-guarantee approach, appropriately modified, helps address these problems. We illustrate our approach with a simple example.


Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian, Jason Sawin, Atanas Rountev Oct 2007

Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian, Jason Sawin, Atanas Rountev

Publications and Research

Modern Java languages introduce several new features that offer significant improvements over older Java technology. In this article we consider the new enum construct, which provides language support for enumerated types. Prior to recent Java languages, programmers needed to employ various patterns (e.g., the weak enum pattern) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. We present a novel fully-automated approach for transforming legacy Java code to use the new enumeration construct. This semantics-preserving approach increases type safety, produces code that is …


Internet Enabled Remote Driving Of A Combat Hybrid Electric Power System For Duty Cycle Measurement, Jarrett Goodell, Marc Compere, Wilford Smith, Mark Brudnak, Mike Pozolo, Et Al. Jun 2007

Internet Enabled Remote Driving Of A Combat Hybrid Electric Power System For Duty Cycle Measurement, Jarrett Goodell, Marc Compere, Wilford Smith, Mark Brudnak, Mike Pozolo, Et Al.

Publications

This paper describes a human-in-the-loop motion-based simulator interfaced to hybrid-electric power system hardware, both of which were used to measure the duty cycle of a combat vehicle in a virtual simulation environment. The project discussed is a greatly expanded follow-on to the experiment published in [1,7]. This paper is written in the context of [1,7] and therefore highlights the enhancements. The most prominent of these enhancements is the integration (in real-time) of the Power & Energy System Integration Lab (P&E SIL) with a motion base simulator by means of a “long haul” connection over the Internet (a geographical distance of …


The Student Scholarship And Creative Achievement Day Application Software, Charles Alan Hofer Apr 2007

The Student Scholarship And Creative Achievement Day Application Software, Charles Alan Hofer

Honors Capstones

Capstone submitted as a graduation requirement for the BSU Honors Program.


Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian, Jason Sawin, Atanas Rountev Apr 2007

Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian, Jason Sawin, Atanas Rountev

Publications and Research

Modern Java languages introduce several new features that offer significant improvements over older Java technology. In this article we consider the new enum construct, which provides language support for enumerated types. Prior to recent Java languages, programmers needed to employ various patterns (e.g., the weak enum pattern) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. We present a novel fully-automated approach for transforming legacy Java code to use the new enumeration construct. This semantics-preserving approach increases type safety, produces code that is …


Cache Coherence Protocol Verification Using Ωmega, Ki Yung Ahn Jan 2007

Cache Coherence Protocol Verification Using Ωmega, Ki Yung Ahn

Computer Science Faculty Publications and Presentations

We verify some correctness properties of the DASH cache coherence protocol using Ωmega. Ωmega is a language with a rich type system featuring GADTs, type functions, and user-guided type checking rules. Cache coherence protocols have both safety properties and liveness properties. We show how to describe some of the safety properties of DASH cache coherence protocol in mega. Since liveness properties are not easily expressed by types, we investigate invariants sufficient to imply some of the liveness properties of concern, and assert those invariants as well in the type system of Ωmega. Using Ωmega, we can have both a working …


Personal Information Management. A Framework For Development Of Personalisable Web Based Services, Christopher Fuchs Jan 2007

Personal Information Management. A Framework For Development Of Personalisable Web Based Services, Christopher Fuchs

Theses

The thesis research proposed herein will model, analyse and implement strategies for the development of personalised services. The goal of the research work is to design and implement a framework which supports developers by minimising the effort required in implementing personalised services. This includes the ability to react to localisation changes and to present proper information. An overall design goal is the independency of most components from each other which will be attained through the use of standard technologies and protocols and the consistent use of a component model. The result will include the proposed framework and the analyses of …


Modeling Heterogeneous User Churn And Local Resilience Of Unstructured P2p Networks, Zhongmei Yao, Derek Leonard, Dmitri Loguinov, Xiaoming Wang Nov 2006

Modeling Heterogeneous User Churn And Local Resilience Of Unstructured P2p Networks, Zhongmei Yao, Derek Leonard, Dmitri Loguinov, Xiaoming Wang

Computer Science Faculty Publications

Previous analytical results on the resilience of unstructured P2P systems have not explicitly modeled heterogeneity of user churn (i.e., difference in online behavior) or the impact of in-degree on system resilience. To overcome these limitations, we introduce a generic model of heterogeneous user churn, derive the distribution of the various metrics observed in prior experimental studies (e.g., lifetime distribution of joining users, joint distribution of session time of alive peers, and residual lifetime of a randomly selected user), derive several closed-form results on the transient behavior of in-degree, and eventually obtain the joint in/out degree isolation probability as a simple …


Design Synthesis From Interaction And State-Based Specifications, Jun Sun, Jin Song Dong Jan 2006

Design Synthesis From Interaction And State-Based Specifications, Jun Sun, Jin Song Dong

Research Collection School Of Computing and Information Systems

Interaction-based and state-based modeling are two complementary approaches of behavior modeling. The former focuses on global interactions between system components. The latter concentrates on the internal states of individual components. Both approaches have been proven useful in practice. One challenging and important research objective is to combine the modeling power of both effectively and then use the combination as the basis for automatic design synthesis. We present a combination of interaction-based and state-based modeling, namely, Live Sequence Charts and Z, for system specification. We then propose a way of generating distributed design from the combinations. Our approach handles systems with …


Enhanced Risk Analysis-Relative Impact Factorization, Basit Shahzad, Tanveer Afzal, Rizwana Irfan Aug 2005

Enhanced Risk Analysis-Relative Impact Factorization, Basit Shahzad, Tanveer Afzal, Rizwana Irfan

International Conference on Information and Communication Technologies

Software engineering is an area of development which always has the risk factor present and software engineering can hardly be done on some straight line. So, the manager has to handle the dynamically changing circumstances in order to complete the job. The target of development team is to develop the software according to the requirements within specified time. Wide variety of risks I are present that may grab the development effort. A good manager must ensure that all measures have been taken against the risks that may possibly come. This paper focuses on determining the relative impact of risk factors …


Synthesis Of Distributed Processes From Scenario-Based Specifications, Jun Sun, Jin Song Dong Jul 2005

Synthesis Of Distributed Processes From Scenario-Based Specifications, Jun Sun, Jin Song Dong

Research Collection School Of Computing and Information Systems

Given a set of sequence diagrams, the problem of synthesis is of deciding whether there exists a satisfying object system and if so, synthesize one automatically. It is crucial in the development of complex systems, since sequence diagrams serve as the manifestation of use cases and if synthesizable they could lead directly to implementation. It is even more interesting (and harder) if the synthesized object system is distributed. In this paper, we propose a systematic way of synthesizing distributed processes from Live Sequence Charts. The basic idea is to first construct a CSP specification from the LSC specification, and then …


Automatically Discovering The Number Of Clusters In Web Page Datasets, Zhongmei Yao Jun 2005

Automatically Discovering The Number Of Clusters In Web Page Datasets, Zhongmei Yao

Computer Science Faculty Publications

Clustering is well-suited for Web mining by automatically organizing Web pages into categories, each of which contains Web pages having similar contents. However, one problem in clustering is the lack of general methods to automatically determine the number of categories or clusters. For the Web domain in particular, currently there is no such method suitable for Web page clustering. In an attempt to address this problem, we discover a constant factor that characterizes the Web domain, based on which we propose a new method for automatically determining the number of clusters in Web page data sets. We discover that the …


Generic Performance Evaluation Tool Implementation For An Imaging Fourier Transform Spectrometer, James M. Mengert Apr 2004

Generic Performance Evaluation Tool Implementation For An Imaging Fourier Transform Spectrometer, James M. Mengert

Electrical & Computer Engineering Theses & Dissertations

Evaluation software for analyzing general analytical model applications utilizing MATLAB is presented in this thesis. The focus is to provide an interactive environment for the evaluation of model applications relating to an Imaging Fourier Transform Spectrometer. The Generic Performance Evaluation Tool (GPET) was developed by researchers at Old Dominion University and NASA-Langley Research Center and was a NASA-Langley Research Center sponsored project. GPET is capable of producing a multitude of object-oriented input data for any number of individual model applications. The tool is also capable of creating user-defined input interfaces for the purpose of viewing and/or editing input object data, …


Move To Component Based Architectures: Introducing Microsoft's .Net Platform Into The College Classroom, Meg C. Murray Jan 2004

Move To Component Based Architectures: Introducing Microsoft's .Net Platform Into The College Classroom, Meg C. Murray

Faculty Articles

A transformation has been occurring in the architectural model for computer-based application intense software systems. This new model, software-as-a-service, will have a profound impact on the design and development of software for many years to come and as such college level computing curriculums will need to incorporate the concepts and methodologies associated with this new architecture. The platform is built upon a view of interrelated, distributed peer-level software modules and components that work in tandem to achieve specified functional goals. From Microsoft's viewpoint, migration to the new platform requires a radical shift in the software development lifecycle. It is becoming …


A Software Architecture For Reconstructability Analysis, Kenneth Willett, Martin Zwick Jan 2004

A Software Architecture For Reconstructability Analysis, Kenneth Willett, Martin Zwick

Complex Systems Faculty Publications and Presentations

Software packages for reconstructability analysis (RA), as well as for related log linear modeling, generally provide a fixed set of functions. Such packages are suitable for end‐users applying RA in various domains, but do not provide a platform for research into the RA methods themselves. A new software system, Occam3, is being developed which is intended to address three goals which often conflict with one another to provide: a general and flexible infrastructure for experimentation with RA methods and algorithms; an easily‐configured system allowing methods to be combined in novel ways, without requiring deep software expertise; and a system which …


A Longitudinal Metric Study Of Postgresql Software Archeology In Open Source, Terry Franklin Byrum Dec 2003

A Longitudinal Metric Study Of Postgresql Software Archeology In Open Source, Terry Franklin Byrum

Computer Science Theses & Dissertations

Open source software development is credited as the basic fuel powering much of the Internet, especially the Web. While many organizations rely heavily on open source, few studies have focused on the dynamics of development methodology. This document contains the results of a longitudinal metric study of the open source database PostgreSQL representing an 8 year period of community development. This study is software archeology, excavating bits of an Internet community, a cultural group, for understanding. Longitudinally, McCabe's cyclomatic complexity and Halstead's software science change tempo in accordance with PostgreSQL's maturity, though meritocracy practices of open source might suggest greater …


A Browser For Incremental Programming, Andrew P. Black Sep 2003

A Browser For Incremental Programming, Andrew P. Black

Computer Science Faculty Publications and Presentations

Much of the elegance and power of Smalltalk comes from its programming environment and tools. First introduced more than 20 years ago, the Smalltalk browser enables programmers to “home in” on particular methods using a hierarchy of manually-defined classifications. By its nature, this classification scheme says a lot about the desired state of the code, but little about the actual state of the code as it is being developed. We have extended the Smalltalk browser with dynamically computed virtual categories that dramatically improve the browser’s support for incremental programming. We illustrate these improvements by example, and describe the algorithms used …


Personalizing Interactions With Information Systems, Saverio Perugini, Naren Ramakrishnan Jan 2003

Personalizing Interactions With Information Systems, Saverio Perugini, Naren Ramakrishnan

Computer Science Faculty Publications

Personalization constitutes the mechanisms and technologies necessary to customize information access to the end-user. It can be defined as the automatic adjustment of information content, structure, and presentation tailored to the individual. In this chapter, we study personalization from the viewpoint of personalizing interaction. The survey covers mechanisms for information-finding on the web, advanced information retrieval systems, dialog-based applications, and mobile access paradigms. Specific emphasis is placed on studying how users interact with an information system and how the system can encourage and foster interaction. This helps bring out the role of the personalization system as a facilitator which reconciles …


Jsb Composability And Web Services Interoperability Via Extensible Modeling & Simulation Framework (Xmsf), Model Driven Architecture (Mda), Component Repositories, And Web-Based Visualization, Don Brutzman, Andreas Tolk Jan 2003

Jsb Composability And Web Services Interoperability Via Extensible Modeling & Simulation Framework (Xmsf), Model Driven Architecture (Mda), Component Repositories, And Web-Based Visualization, Don Brutzman, Andreas Tolk

Computational Modeling & Simulation Engineering Faculty Publications

"Study Report prepared for the U. S. Air Force, Joint Synthetic Battlespace Analysis of Technical Approaches (ATA) Studies & Prototyping"

Overview: This paper summarizes research work conducted by organizations concerned with interoperable distributed information technology (IT) applications, in particular the Naval Postgraduate School (NPS) and Old Dominion University (ODU). Although the application focus is distributed modeling & simulation (M&S) the results and findings are in general easily applicable to other distributed concepts as well, in particular the support of operations by M&S applications, such as distributed mission operations. The core idea of this work is to show the necessity of …


Embedded Software Programming To Develop A Command Line User Interface For Monitoring And Debugging A Manually Driven Gas Regulator Control System, Syed N. Hyder Apr 2002

Embedded Software Programming To Develop A Command Line User Interface For Monitoring And Debugging A Manually Driven Gas Regulator Control System, Syed N. Hyder

Electrical & Computer Engineering Theses & Dissertations

This thesis presents a complete embedded programming model and software codes for a command-line user interface for CONCOA's gas regulator control system. Control Corporation of America (CONCOA) manufactures high-pressure gas regulators, which mechanically control the pressure at their outlets. Since the control system is based on mechanical regulators, adding or stopping gas flow from the system can cause manifold fluctuation that could further cause the pressure to rise or fall with time. The main motivation for developing a command line user interface is to provide a centralized computer control to monitor and debug the gas regulator control system electronically by …