The flow of information in a computing system is a crucial indicator for the security of the system. In a system of multiple messagepassing processes, the flow of information could depend on the states of different processes. We devise a... more
The flow of information in a computing system is a crucial indicator for the security of the system. In a system of multiple messagepassing processes, the flow of information could depend on the states of different processes. We devise a... more
We present a tool for the design and validation of embedded real-time applications. The tool integrates two approaches, the use of the synchronous programming language ESTEREL for design and the application of model-checking techniques... more
We address the problem of 3D medical volume reconstruction using web services. The use of proposed web services is motivated by the fact that the problem of 3D medical volume reconstruction requires significant computer resources and... more
There will be a permanently manned, fully operational space station by the mid-1990s. Automation of the station will increase space station autonomy and utilize the crew more effectively. Artificial intelligence technology (robotics,... more
The importance of function valued functions (operators) in APL is now well recognized, and considerable attention has been paid to the introduction of more general operators into the language. In this article we consider some of the... more
In computational finance, finite differences are a widely used tool in the valuation of standard derivative contracts. In a lower-dimensional setting, high accuracy and speed often characterize suc ...
A photovoltaic array (PVA) simulation model to be used in Matlab-Simulink GUI environment is developed and presented in this paper. The model is developed using basic circuit equations of the photovoltaic (PV) solar cells including the... more
Programs which perform partial evaluation, beta-expansion, and certain optimizations on programs, are studied with respect to implementation and application. Two implementations are described, one "'interpretive" partial evaluator, which... more
Most current-day software engineering tools and environments do not su ciently allow software engineers to declare or enforce the intended software architecture. On the one hand, architectures are typically described at a too low l e v... more
Most current-day software engineering tools and environments do not su ciently allow software engineers to declare or enforce the intended software architecture. On the one hand, architectures are typically described at a too low l e v... more
The structure of object-oriented systems typically forms a complicated, tangled web of interdependent classes. Understanding this implicit and hidden structure poses severe problems to developers and maintainers who want to use, extend or... more
This paper describes a rapid prototyping system for extensions to an existing programming language. Such extensions might include new language features or might introduce notation specific to a particular problem domain. The system... more
mostly focuses on computational applications in life sciences. Usually, this involves fairly typical partial differential equations such as the incompressible Navier-Stokes equations, elasticity equations, and parabolic and elliptic PDEs,... more
Design by contract is a practical methodology for developing code together with its specification. The contract consists of class invariants and method preand postconditions. As the code is refactored, specifications of internal units... more
Design of large dependable real-time embedded systems relies on integration of software elements onto a set of hardware nodes. In this paper an overall process of how to generate a Platform Specific Model (PSM) from a set of Platform... more
Before attempting to synthesize hardware from a programming language like C or C++, we need to introduce additional semantics to be able to describe hardware behavior accurately. In particular, concurrency, reactivity, communication... more
In this paper we introduce a methodology for utilizing concurrency in place of backtracking in the implementation of nondeterministic algorithms. This is achieved in an applicative setting through the use of the Friedman-Wise... more
Automating the assessment of programming assignments in higher education institutions is important to provide prompt feedback to the students, reduce teachers’ workload on repetitive tasks, avoid human errors, and enable the exploration... more
We address the complete design flow from specification models of new automotive functions captured in Matlab-Simulink to their distributed execution on hierarchical bus-based electronic architectures hosting the release of already... more
In this paper we present a generalization of the active electronic notebook, OMNotebook, for handling multiple programming languages for educational purposes. OMNotebook can be an alternative or complementary tool to the traditional... more
Only recently has the research community started to consider how to make software process models interoperable and reusable. The task is difficult. Software processes are inherently creative and dynamic, difficult to define and repeat at... more
Information-flow control tracks how information propagates through the program during execution to make sure that the program handles the information securely. Secure information flow is comprised of two related aspects: information... more
This paper proposes a concurrency model which integrates the asynchronous and event-driven nature of wireless sensor networks with higher-level abstractions that provide a more familiar programming style for the developer. As a basis for... more
1. To give some simple examples of Prolog programs. This will introduce us to the three basic constructs in Prolog: facts, rules, and queries. It will also introduce us to a number of other themes, like the role of logic in Prolog, and... more
In previous work, we introduced the concept of structural clone as recurring configurations of simple clones (ie, similar code fragments). We also described a technique for detection of certain types of structural clones. The premise of... more
Generic (polymorphic) type-safe containers are the primary motivation for generics (in Ada, Eiffel, and recently proposed additions to Java and C#) and templates (in C++). We studied buffer classes and found that they could not be unified... more
Robots are becoming interactive and robust enough to be adopted outside laboratories and in industrial scenarios as well as interacting with humans in social activities. However, the design of engaging robotbased applications requires the... more
Due to the critical nature o f r eal-time systems, there is an ever growing burden on the designer to not only guarantee that the tasks would meet their deadlines at design time, but would continue to do so as the system evolves. This... more
A system for assisting in the testing phase of compilers is described. The definition of the language to be compiled drives an automatic sentence generator. The language is described by an extended BNF grammar which can be augmented by... more
Associative Language Descriptions are a recent grammar model, theoretically less powerful than Context Free grammars, but adequate for describing the syntax of programming languages. ALD do not use nonterminal symbols, but rely on... more
The copyright law of the United States (Title 17, United States Code) governs the making of photocopies or other reproductions of copyrighted material. Under certain conditions specified in the law, libraries and archives are authorized... more
We describe work on development of a software system for ~riting and testing programs for a computer controlled manipulator. We examine in particular how the development of working programs is facilitated by the use of an interactive... more
Gypsy is a component-based, dynamically extensible environment for mobile agent systems. The runtime environment consists of lightweight servers that provide a distributed execution environment for agents, and a remote administration tool... more
We propose a context-free semantic localisation approach to visualise and analyse indoor movements. We focus on settings where indoor location or rooms have strongly associated semantics, such as hospitals. We describe an approach that... more
In this paper, we propose extended Rebeca as a toolsupported actor-based language for modeling and verifying concurrent and distributed systems. We enrich Rebeca with a formal concept of components which integrates the message-driven... more
This paper outlines the important role that actual and, mainly, potential intermodular dependecies play in the maintenance phase of a sofnvare product. The authors discuss the problem with reference to Pascal systems and they show how... more
This paper describes a simple image-based method that applies engraving stylisation to portraits using ordered dithering. Face detection is used to estimate a rough proxy geometry of the head consisting of a cylinder, which is used to... more
This paper describes a simple image-based method that applies engraving stylisation to portraits using ordered dithering. Face detection is used to estimate a rough proxy geometry of the head consisting of a cylinder, which is used to... more
Wireless Sensor Network (WSN) applications working on TinyOS operating system is widely used in various areas. However, the requirement of managing the power constraints makes TinyOS different from ordinary systems and hence building WSNs... more
Greenplum Database is a massively parallel processing (MPP) analytics database that adopts a shared-nothing architecture with multiple cooperating processors. A query submitted to the Greenplum master is optimized by the Orca query... more
M ost authors distinguish two types of computer animation: computer-aided animation and modeled ani- mation. 1-3 The first type is used in the cartoons of Walt Disney and Hannah-Barbera. In this type of two-dimen- sional character... more
When modelling complex computer systems, four primary modelling techniques are available to the software engineer, i.e. abstraction, composition, functional decomposition and multiple client interfaces (views). Abstraction and composition... more
The paper presents an experimental toolkit for modeling and solving Cuuy constraint satisfaction problems (FCSPs) called JFSolver. JFSolver is a Java based library developed as an extension of a erisp constraint programming library to... more
Many DoD HPC users, particularly in the SIP area, run codes developed with MATLAB and related applications (MatlabMPI, StarP, pMatlab, etc.). There is a desire to run codes from a desktop instance of MATLAB and connect to and interact... more
The principle of separation of concerns has long been used by software engineers to manage the complexity of software system development. Programming languages help software engineers explicitly maintain the separation of some concerns in... more
According to the paradigm of Dynamic Logic Programming, knowledge is given by a set of theories (encoded as logic programs) representing different states of the world. Different states may represent time (as in updates), specificity (as... more