14565835
Do Maintainers Utilize Deployed Design Patterns Effectively?
One claimed benefit of deploying design patterns is facilitating maintainers to perform anticipated changes. However, it is not at all obvious that the relevant design patterns deployed in software will invariably be utilized for the changes. Moreover, we observe that many well-known design patterns consist of three types of programming elements (called participants), and that performing an anticipated change typically entails multiple tasks related to different types of participants. This paper studies empirically whether maintainers utilize deployed design patterns, and when they do, which tasks they more commonly perform. Our experiments show that almost all subjects perform the task of adding new concrete participants, fewer perform the tasks involving clients, whereas even fewer perform the tasks involving abstract participants. Furthermore, utilizing deployed design patterns (by performing whichever of the corresponding tasks) is found to be statistically associated with the delivery of less faulty codes.
17746667
A Multi-Agent Infrastructure for Mobile Workforce Management in a Service Oriented Enterprise
With recent advances in mobile technologies and infrastructures, there are increasing demands for the support of mobile workforce management (MWM) across multiple platforms. Mobile users can interact with the MWM system through SMS messages or Web browsers from personal computers, PDA devices, or WAP phones. MWM typically involves tight collaboration, negotiation, and sophisticated business domain knowledge. Therefore, the main challenge of MWM for a service oriented enterprise is the integration of disparate business function for its mobile professional workforce and the management with a unified infrastructure, together with the provision of personalized assistance and automation. These requirements can be facilitated with the use of intelligent software agents, but has not been adequately studied before. As mobile devices become more powerful, intelligent software agents can now be deployed on these devices and hence also subject to mobility. Thus, MWM systems have to accommodate these requirements as well as the support of heterogeneous platforms. In this paper, we formulate a scalable, flexible, and intelligent multi-agent information system (MAIS) infrastructure for MWM with agent clusters in the context of a large service oriented enterprise. Each agent cluster comprise several types of agents to achieve the goal of each phase of the workforce management process, namely, task formulation, matchmaking, brokering, commuting, and service. We evaluate our approach against different stakeholders' perspective.
15431236
Developing a Distributed e-Monitoring System for Enterprise Website and Web Services: An Experience Report with Free Libraries and Tools
Enterprises value monitoring as it provides dependable e-services, whether it is an interactive Web site or programmatic Web service. However, this task becomes non-trivial when enterprises begin to require support from thousands of servers across geographical areas. How can the communications between a monitoring systems and remote servers be minimized? Could the task be achieved easily based on a readily available technology such as SNMP? How can we monitor thousands of servers powered by, say, Tomcat, which lacks SNMP support? How may a poorly responsive site be identified prior to being reported as a failure by SNMP? In this paper, we propose a unified e-monitoring system that enables system administrators to remotely monitor the health of distributed e-services in both the form of Web site and Web services. We further discuss our implementation experience based on a pragmatic prototype.
6317361
Checking safety properties using compositional reachability analysis
The software architecture of a distributed program can be represented by a hierarchical composition of subsystems, with interacting processes at the leaves of the hierarchy. Compositional reachability analysis (CRA) is a promising state reduction technique which can be automated and used in stages to derive the overall behavior of a distributed program based on its architecture. CRA is particularly suitable for the analysis of programs that are subject to evolutionary change. When a program evolves, only the behaviors of those subsystems affected by the change need be reevaluated. The technique however has a limitation. The properties available for analysis are constrained by the set of actions that remain globally observable. Properties involving actions encapsulated by subsystems may therefore not be analyzed. In this article, we enhance the CRA technique to check safety properties which may contain actions that are not globally observable. To achieve this, the state machine model is augmented with a special trap state labeled as π. We propose a scheme to transform, in stages, a property that involves hidden actions to one that involves only globally observable actions. The enhanced technique also includes a mechanism aiming at reducing the debugging effort. The technique is illustrated using a gas station system example.
29867801
Exploiting automatic analysis of e-commerce protocols
While e-commerce continuously grows prosperous, some advantages e-commerce applications claimed haven't really been gained. More seriously, the availability and reliability of these systems are particularly hard to obtain. The e-commerce protocols, as the core of e-commerce applications, ask for new development approach and techniques to be introduced for their highly reliable and safe design and implementation. This paper describes research on synthesis of extended UML formalism and formal verification techniques for automatic development of e-commerce protocols. In this paper, we refine AUML protocol diagrams for visual modeling, and develop algorithm and rules to translate visually modeled e-commerce protocols into formal models that are then validated using model checking. This approach is applied to the design of an e-commerce protocol, NetBill, as example. Our objective is to create tools that enable designers to automatically develop available and reliable e-commerce protocols.
1370408
A three-layer architecture for e-contract enforcement in an e-service environment
In an e-service environment, contracts are important for attaining business process interoperability and enforcing their proper enactment. An e-contract is the computerized facilitation or automation of a contract in a cross-organizational business process. We find that e-contract enforcement can be divided into multiple layers and perspectives, which has not been adequately addressed in the literature. This problem is challenging as it involves monitoring the enactment of business processes in counter parties outside an organization's boundary. This paper presents an architecture for e-contract enforcement with three layers, viz., document layer, business layer, and implementation layer. In the document layer, contracts are composed of different types of clauses. In the business layer, e-contract enforcement activities are defined through the realization of contract clauses as business rules in event-condition-action (ECA) form. In the implementation layer, cross-organizational e-contract enforcement interfaces are implemented with contemporary Enterprise Java Bean and Web services. We present a methodology for the engineering of e-contracts enforcement from a high-level document-view down to the implementation layer based on this architecture, using a supply-chain example. As a result, e-contracts can be seamlessly defined and enforced. Conceptual models of various layers are given in the Unified Modeling Language (UML).
356082
Insensitive bounds for the moments of the sojourn time distribution in the M/G/1 processor-sharing queue
This paper studies the M/G/1 processor-sharing (PS) queue, in particular the sojourn time distribution conditioned on the initial job size. Although several expressions for the Laplace-Stieltjes transform (LST) are known, these expressions are not suitable for computational purposes. This paper derives readily applicable insensitive bounds for all moments of the conditional sojourn time distribution. The instantaneous sojourn time, i.e., the sojourn time of an infinitesimally small job, leads to insensitive upper bounds requiring only knowledge of the traffic intensity and the initial job size. Interestingly, the upper bounds involve polynomials with so-called Eulerian numbers as coefficients. In addition, stochastic ordering and moment ordering results for the sojourn time distribution are obtained.
15410506
Fast similarity search on video signatures
Video signatures are compact representations of video sequences designed for efficient similarity measurement. In this paper, we propose a feature extraction technique to support fast similarity search on large databases of video signatures. Our proposed technique transforms the high dimensional video signatures into low dimensional vectors where similarity search can be efficiently performed. We exploit both the upper and lower bounds of the triangle inequalities in approximating the high-dimensional metric, and combine this approximation with the classical PCA to achieve the target dimension. Experimental results on a large set of Web video sequences show that our technique outperforms fastmap, Haar wavelet, PCA, and triangle-inequality pruning.
14602428
A formal-specification based approach for protecting the domain name system
Many network applications depend on the security of the domain name system (DNS). Attacks on the DNS can cause denial of service and entity authentication to fail. In our approach, we use formal specifications to characterize DNS clients and DNS name servers, and to define a security goal. A name server should only use DNS data that is consistent with data from name servers that manage the corresponding domains (i.e. authoritative name servers). To enforce the security goal, we formally specify a DNS wrapper that examines the incoming and outgoing DNS messages of a name server to detect messages that could cause violations of the security goal, cooperates with the corresponding authoritative name servers to diagnose those messages, and drops the messages that are identified as threats. Based on the wrapper specification, we implemented a wrapper prototype and evaluated its performance. Out experiments show that the wrapper incurs reasonable overhead and is effective against DNS attacks such as cache poisoning and certain spoofing attacks.
26950433
Multiple forecasts with autoregressive time series models: case studies
It is indisputable that accurate forecasts of economic activities are vital to successful business and government policies. In many circumstances, instead of a single forecast, simultaneous prediction intervals for multiple forecasts are more useful to decision-makers. For example, based on previous monthly sales records, a production manager would be interested in the next 12 interval forecasts of the monthly sales using for the annual inventory and manpower planning. For Gaussian autoregressive time series processes, several procedures for constructing simultaneous prediction intervals have been proposed in the literature. These methods assume a normal error distribution and can be adversely affected by departures from normality which are commonly encountered in business and economic time series. In this article, we explore the bootstrap methods for the construction of simultaneous multiple interval forecasts. To understand the mechanisms and characteristics of the proposed bootstrap procedures, several macro-economic time series are selected for illustrative purposes. The selected series are fitted reasonably well with autoregressive models which form an important class in time series. As a matter of fact, the major ideas discussed in this paper with autoregressive processes can be extended to other more complicated time series models.
1526261
Fast similarity search and clustering of video sequences on the world-wide-web
We define similar video content as video sequences with almost identical content but possibly compressed at different qualities, reformatted to different sizes and frame-rates, undergone minor editing in either spatial or temporal domain, or summarized into keyframe sequences. Building a search engine to identify such similar content in the World-Wide Web requires: 1) robust video similarity measurements; 2) fast similarity search techniques on large databases; and 3) intuitive organization of search results. In a previous paper, we proposed a randomized technique called the video signature (ViSig) method for video similarity measurement. In this paper, we focus on the remaining two issues by proposing a feature extraction scheme for fast similarity search, and a clustering algorithm for identification of similar clusters. Similar to many other content-based methods, the ViSig method uses high-dimensional feature vectors to represent video. To warrant a fast response time for similarity searches on high dimensional vectors, we propose a novel nonlinear feature extraction scheme on arbitrary metric spaces that combines the triangle inequality with the classical Principal Component Analysis (PCA). We show experimentally that the proposed technique outperforms PCA, Fastmap, Triangle-Inequality Pruning, and Haar wavelet on signature data. To further improve retrieval performance, and provide better organization of similarity search results, we introduce a new graph-theoretical clustering algorithm on large databases of signatures. This algorithm treats all signatures as an abstract threshold graph, where the distance threshold is determined based on local data statistics. Similar clusters are then identified as highly connected regions in the graph. By measuring the retrieval performance against a ground-truth set, we show that our proposed algorithm outperforms simple thresholding, single-link and complete-link hierarchical clustering techniques.