60 resultados para Library Programs


Relevância:

30.00% 30.00%

Publicador:

Resumo:

We define a language and a predicative semantics to model concurrent real-time programs. We consider different communication paradigms between the concurrent components of a program: communication via shared variables and asynchronous message passing (for different models of channels). The semantics is the basis for a refinement calculus to derive machine-independent concurrent real-time programs from specifications. We give some examples of refinement laws that deal with concurrency.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

This paper deals with the discourses of power and gender that influence the way in which at-risk adolescent boys think and solve problems within a specific educational context. The focus is on how some adolescent boys perceive their masculinities, identity, and support networks after they have completed an alternative education program. The position being presented in this paper is that for recovery from adversity, at-risk boys must be provided with protective processes that address masculinities and the impact of power relations within masculinities. In doing so, the research connects gender and protective processes and the role that gender construction plays in successful educational outcomes. It is also argued that for successful reintegration of at-risk adolescent males into an educational setting requires opportunity to be provided within the environment to challenge the legitimacy of traditional masculine performances.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Previous work on formally modelling and analysing program compilation has shown the need for a simple and expressive semantics for assembler level programs. Assembler programs contain unstructured jumps and previous formalisms have modelled these by using continuations, or by embedding the program in an explicit emulator. We propose a simpler approach, which uses techniques from compiler theory in a formal setting. This approach is based on an interpretation of programs as collections of program paths, each of which has a weakest liberal precondition semantics. We then demonstrate, by example, how we can use this formalism to justify the compilation of block-structured high-level language programs into assembler.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A program can be decomposed into a set of possible execution paths. These can be described in terms of primitives such as assignments, assumptions and coercions, and composition operators such as sequential composition and nondeterministic choice as well as finitely or infinitely iterated sequential composition. Some of these paths cannot possibly be followed (they are dead or infeasible), and they may or may not terminate. Decomposing programs into paths provides a foundation for analyzing properties of programs. Our motivation is timing constraint analysis of real-time programs, but the same techniques can be applied in other areas such as program testing. In general the set of execution paths for a program is infinite. For timing analysis we would like to decompose a program into a finite set of subpaths that covers all possible execution paths, in the sense that we only have to analyze the subpaths in order to determine suitable timing constraints that cover all execution paths.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

We propose a method for the timing analysis of concurrent real-time programs with hard deadlines. We divide the analysis into a machine-independent and a machine-dependent task. The latter takes into account the execution times of the program on a particular machine. Therefore, our goal is to make the machine-dependent phase of the analysis as simple as possible. We succeed in the sense that the machine-dependent phase remains the same as in the analysis of sequential programs. We shift the complexity introduced by concurrency completely to the machine-independent phase.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A refinement calculus provides a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In this paper we extend the refinement calculus for logic programs to include higher-order programming capabilities in specifications and programs, such as procedures as terms and lambda abstraction. We use a higher-order type and term system to describe programs, and provide a semantics for the higher-order language and refinement. The calculus is illustrated by refinement examples.