ACM SIGSOFT

Software Engineering Notes vol 25 no 1

January 2000 Page 87

analysis on the data that is collected. As a result, there is no use the same model and most of the measured data as in means to easily differentiate between parts of the execution the analysis mode, but replace some of the measured data that are "normal" versus those parts thathave diffficult-towith the new parameters. detect timing errors. Only an expert's eye can quickly spot the differences. We do not expect to get perfect predictions. In particular, We are investigating tools that can help embedded system features such as caches, pipelines, branching, randomly gendesigners analyze, debug, and fine-tune the timing character- erated external events, and other known phenomenon make istics of their embedded implementations. Such a tool can measuring execution time in an embedded real-time system have a major impact, by allowing designers whose expertise difficult. As a result, it might be impossible to create a perfect is in an area other than real-time system analysis, such as model. However, perfection is not needed for the tool to be communications, controls, or hardware design, to use the tool valuable. For example, in meteorology, predictions are used and obtain valuable information on how to fix their code that to inform the population of the upcoming weather. We all know that the predictions are not completely accurate. Nevis not performing according to specifications. ertheless, they serve a very important function, especially for warning the public of strong storms and dangerous conditions Implefnenta~on } in the area. In our tool, predictions about timing errors that are "close enough" can provide valuable information to the I~ S'~O~ } I ilre,dIITI~,perel%dd i estimaledexecu~oni~e designer for rapidly tracking down then fixing the problems.

.(

Figure 1. Diagrammatic view of AFTER Automated Analysis We have created a prototype tool that we call AFTER (Assist in Fine-Tuning Embedded Real-time systems). It incorporates both static and dynamic scheduling models, and support for periodic threads, aperiodic servers, and interrupts. These represent a sufficient set of features todemonstrate the concepts of automated analysis and prediction. A diagram representation of the components that form AFTER is shown in Figure 1.

Currently, we have incorporated models for both static and dynamic scheduling in the presence of interrupts, and extended the analysis of aperiodic servers to better reflect real embedded systems. We are in the process of including scheduling analysis for non-preemptive systems too. Based on these analytical models that we have incorporated into the prototype tool, we can perform the following predictions: (1) comparing fixed vs. dynamic scheduling; (2) comparing benefits of preemptive schedulers vs. decreased overhead in non-preemptive environments (3) the effect of adding or removing threads; (4) the overhead and predictability of interrupts vs. aperiodic servers; (5) the schedulability in response to changes in frequency and eriod; and (6) determining how much code optimization is needed to make the system schedulable.

Principles, Practice, and Applications of Tabled Logic Programming 33 T e r r a n c e Swift SUNY Stony Brook Stony Brook, NY ([email protected])

AFTER presents a temporal image of the system to the user, using an analysis that is based on a correlation of the system specifications with the measured timing data. AFTER then allows the design to perform prediction' queries, as described While Prolog (perhaps extended with logical constraints) has next. proven successful as a programming language, it suffers from Predictions well-known flaws. Prolog often does not terminate for wellAFTER provides two classes of prediction: known classes of programs such as Datalog programs or even propositional programs. Together with the fact that Prolog • Effect of changing the system configuration. For example, does not offer polynomial data complexity, this weak termichanging the scheduling algorithm from static to dynamic nation property has made Prolog unsuitable for many deducor from preemptive to non-preemptive, or vice versa. To tive database applications. In addition, it is generally agreed make such a prediction, we use the same measured raw that the semantics of default negation in Prolog has proven timing data, but use a different model to analyze the data. unsuitable for applications of non-monotonic reasoning. Fi• Effect of modifying the application's configurable design pa- nally, it is awkward to use Prolog to implement important new

rameters. For example, modifying parameters such as a task's period. For predicting the effect of such changes, we

33This work has been partially supported by the National Science Foundation under grant number CCR-9702681.

ACM S I G S O F T

Software Engineering Notes vol 25 no 1

logic p r o g r a m m i n g extensions, such as t r u t h annotations, or preferences since there is no easy way to aggregate solutions obtained by separate derivations.

[csw99]

Each of these limitations has been addressed by Tabled Logic P r o g r a m m i n g (TLP), both at a theoretical level (see e.g. [CW96]) and through implementations of TLP, notably in the XSB system, which is developed and maintained through a multi-national collaboration. The goal of XSB is to explore how T L P can be implemented in a high-performance and robust manner, how language extensions can be based on TLP, and how to p r o g r a m with these extensions. Recently, the XSB engine has been extended in several ways. The addition of mechanisms to allow logical constraints leads to the ability to implement constructive negation in XSB, and to explore new constraint optimization techniques. Support for extended logic programs allow expression of fundamental knowledge representation primitives such as strong and weak defaults. T h e addition of t r u t h annotations allows for paraconsistent and quantitative reasoning, while logical preferences allow convenient ways to express ambiguous grammars or learning strategies. A s u m m a r y of these changes can be found in [Swi]. Current work involves implementing abduction over extended programs based on the method described in lAPS99]. In addition to these extensions, XSB also provides interfaces to other software systems t h a t may be necessary for research and commercial applications - - such as Oracle, Java, and SModels, a stable model generator.

lcw96]

XSB is being used in thousands of sites throughout the world for Logic P r o g r a m m i n g research and applications. Notable research efforts of the past two years have been based on XSB. T h e termination and complexity properties of XSB were found useful for program analysis in Katolieke Universitiet, Leuven [CDS98]. The efficient implementation of unrestricted negatoin by XSB has proven useful for the XMC modelchecker developed at the SUNY Stony Brook [RRR+97]. The support of XSB for extended logic programs has proven useful for circuit diagnosis in Universidade Nova de Lisbon, and for machine learning in the Universita di Bologna [LRP99]. Several commercial applications have been based on XSB. These include a psychiatric diagnosis system was developed using XSB by MD Logic, Inc (Towson Md) making use of abduction over extended logic programs. Finally XSB has been used by XSB, Inc (Stony Brook, NY) for d a t a mining in for a variety of commercial customers [CSW99]. XSB, its source code, and developer credits are all available from http://wuav.cs.sunysb.edu/~sbprolog. Materials introducing T L P and summarizing research in T L P can be found at h t t p : / / u r w w . c s . s u n y s b . e d u / ~ tswift References [APS99]

[CDS98}

J. Alferes, L. M. Pereira, and T. Swift. Well-founded abduction via tabling dual programs. In International Conference on Logic Programming, 1999. To Appear. M. Codish, B. Demoen, and K. Sagonas. Semantics-Based Program Analysis for Logic-Based Languages using XSB. Springer International Journal of Software Tools for Technology Transfer, 2(1):29-45, November 1998.

J a n u a r y 2000 Page 88

B. Cui, T, Swift, and D. S. Warren. A case study in using preference logic grammars for knowledge representation. In International Workshop on Logic Programming and NonMonotonic Reasoning, 1999. To appear.

W. Chcn and D. S. Warren. Tabled Evaluation with Delaying for General Logic Programs. JACM, 43(1):20--74, January 1996. [LRP991 E. Lamina, F. Riguzzi, and L. M. Pereira. Strategies in combined learning via logic programs. Machine Learning Journal, (1 and 2), 1999. To appear. [Rart+971 Y. S. Ramakrishna, C. R. Ramakrishnan, I. V. lq~makrishnan, S. Smolka, T. Swift, and D. S. Warren. Efficient model checking using tabled resolution. In Proceedings on the Conference on Automated Verification, pages 143-154, 1997. Iswi] T. Swift. Tabling for non-monotonic programming. Annals of Mathematics and Artificial Intelligence. To appear.

Analysis and Testing of Concurrent Object-Oriented Software K. C. Tai North Carolina State University Raleigh, NC 27695-7534 ([email protected]) Many concurrent programs contain definitions of process types and determine the number of instances of each process type at run-time. To analyze or test such a concurrent program, we need to choose an appropriate number of instances of each process type, according to a specific requirement for analysis or testing. This problem is referred to as the instance upper bound problem, which exists in b o t h conventional and object-oriented concurrent software. We are currently solving this problem by using different approaches [1,2]. This project also investigates the following problems: (a) How to efficiently and effectively analyze or test a class t h a t defines d a t a to be shared by multiple processes? (b) How to efficiently and effectively analyze or test a set of classes t h a t define processes communicating with each other? (c) How to perform incremental analysis or testing of a concurrent object-oriented program according to the relationships between classes in the program?

References [1 ] B. Karacali and K. C. Tai, "Automated test sequence generation using sequencing constraints for concurrent progroans", Proc. Inter. Syrup. Software Engineering for Parallel and :Distributed Systems, May 1999, 97-108. [2 ] J. Zhou and K. C. Tai, "Deadlock analysis of synchronous messagepassing programs", Proc. Inter. Syrup. Software Engineering for Parallel and Distributed Systems, May 1999, 62-69.

Forecasting nonlinear chaotic time series with function expression method based on an improved genetic-simulated annealing algorithm.

The paper proposes a novel function expression method to forecast chaotic time series, using an improved genetic-simulated annealing (IGSA) algorithm ...
237KB Sizes 0 Downloads 8 Views