In this paper, we study reverse engineering functional Classes in Java. As a case study we use a middleware application. functional Classes is a design style that merges both object-oriented and functional programming...
详细信息
In this paper, we study reverse engineering functional Classes in Java. As a case study we use a middleware application. functional Classes is a design style that merges both object-oriented and functional programming paradigms. A functional class is a class without variables having pure functions as methods. As a result, a functional class is naturally a mediator. In this paper, as the main contribution, we show that functional Classes lead to Java byte code that is re-compilable. Consequently, functional Classes provide a promising basis for mixed design of applications, where the developers can work simultaneously on the project using a UML editor, source code editor, code generator, and optimizer. Then, synchronization between the various tools is achieved on-the-fly using only the byte- code representation.
The popularity of the spreadsheet attests to its success at providing a usable programming interface to users with no programming experience. This success prompts the question of how a spreadsheet could be extended to...
详细信息
ISBN:
(纸本)9781424497881;9781424497898
The popularity of the spreadsheet attests to its success at providing a usable programming interface to users with no programming experience. This success prompts the question of how a spreadsheet could be extended to be more powerful while retaining its ease of use. Adding the ability to express and satisfy constraints within the spreadsheet would enable it to be used to solve more complex problems. In this paper, a model for adding constraint satisfaction to a spreadsheet is given. It is designed to be spreadsheet-centric, in that the means to define and solve constraint networks is designed to be familiar to spreadsheet users. The model is implemented using Microsoft Excel and is contrasted with other models of adding constraint satisfaction to spreadsheets.
A software framework for the parallel execution of sequential programs using C++ classes is presented. The functional language Concurrent ML is used to implement the underlying harness and to design the programming in...
详细信息
A software framework for the parallel execution of sequential programs using C++ classes is presented. The functional language Concurrent ML is used to implement the underlying harness and to design the programming interfaces. The hardware-independent harness promises a composable multi paradigm, unified approach to parallelism across different technologies: PowerPC, DSP and FPGA. Performance results for an image processing case study are given.
The primary goal of this study is to devise a method to express mutations to state in a modern (higher order, polymorphic, nonstrict) functional language, without sacrificing referential transparency, and with a simpl...
详细信息
The primary goal of this study is to devise a method to express mutations to state in a modern (higher order, polymorphic, nonstrict) functional language, without sacrificing referential transparency, and with a simple, easy-to-reason-about semantics. Although collectively these properties seem contradictory, a satisfactory solution is found. Aside from the fundamental property of referential transparency, the two key properties that the authors maximize are simplicity and expressiveness. The system must be easy to use: expressing mutations to state should be natural, and the resulting behavior should be easy to reason about.< >
In this paper we develop a method for automatic construction of customised induction rules for use in a semi-interactive theorem prover. The induction rules are developed to prove the total correctness of loops in an ...
详细信息
In this paper we develop a method for automatic construction of customised induction rules for use in a semi-interactive theorem prover. The induction rules are developed to prove the total correctness of loops in an imperative language. We concentrate on integers. First we compute a partition of the domain of the induction variable. Our method makes use of failed proof attempts in the theorem prover to gain information about the problem structure and create the partition. Then, based on this partition we create an induction rule, in destructor style, that is customised to make the proving of the loop simpler. Our concern is in user interaction, rather than in proof strength. Using the customised induction rules, we find that in comparison to standard (Peano) induction or Noetherian induction, the proofs become more modularised and simpler user interaction can be expected. Furthermore, by using destructor style induction we circumvent the problem of creating inverses of functions and we use the machinery of a theorem prover (with symbolic execution) to make the method automatic. We also show that the customised induction rules created by the method are sound.
We propose a simple compositional program logic for an imperative extension of call-by-value PCF, built on Hoare logic and our preceding work on program logics for pure higher-order functions. A systematic use of name...
详细信息
We propose a simple compositional program logic for an imperative extension of call-by-value PCF, built on Hoare logic and our preceding work on program logics for pure higher-order functions. A systematic use of names and operations on them allows precise and general description of complex higher-order imperative behaviour. The logic offers a foundation for general treatment of aliasing and local state on its basis, with minimal extensions. After establishing soundness, we prove that valid assertions for programs completely characterise their behaviour up to observational congruence, which is proved using a variant of finite canonical forms. The use of the logic is illustrated through reasoning examples which are hard to assert and infer using existing program logics.
This work is developed as part of an strategy to open the architecture of an industrial robot type ABB with the one that counts the Group of Robotics of the Faculty of Electronic Sciences. The principal goal is design...
详细信息
This work is developed as part of an strategy to open the architecture of an industrial robot type ABB with the one that counts the Group of Robotics of the Faculty of Electronic Sciences. The principal goal is design and builds a teach pendant using electronic current devices being capable of communicating via USB towards a computer that does the functions of principal processor and control loop. This teach pendant has the basic elements of any commercial console present today, with ones the user will be capable of programming or editing routines as well as of manipulating the robot of manual form and to see it to work in real time, also it bear in mind the ergonomics of the device which must fulfill certain requirements to qualify as an easily operable device but that in turn is functional. The system uses a micro-controller PIC as unit of principal processing, which is in charge to process and display the information the user types by means the keypad and liquid crystal display (LCD) in order to sending the data towards the computer via US. It is necessary indicate that this type of work has not developed previously, and though several commercial versions exist this one is the first one to level of development and investigation done by a Mexican university.
Recent results in parametric mathematical programming established that the explicit piecewise affine solution to some optimal control problems can be defined on a partition of the state space. An optimal feedback cont...
详细信息
ISBN:
(纸本)1424401704;9781424401703
Recent results in parametric mathematical programming established that the explicit piecewise affine solution to some optimal control problems can be defined on a partition of the state space. An optimal feedback control law is associated with each member of the state space partition. Instead of solving an optimization problem online at every time instant, the recent, so-called explicit, MPC schemes require merely the identification of the member of the solution partition that contains the measured state. Once this set is found, the affine optimal control law associated with the set is evaluated and applied to the system. This set-membership problem is referred to as the point location problem. We demonstrate that, under mild assumptions, the point location problem only needs to be solved at the initialization of the control scheme rather than at every time instant. Given a member of the solution (state-space) partition, the system dynamics and the explicit control law are utilized to obtain the set of states that can be reached at the next time instant. The members of the partition intersecting this one-step forward reach set are, under our assumptions, guaranteed to contain the process state at next point in time. A direct consequence of the presented results is the fact that it is sufficient to solve a reduced point location problem instead of resolving the entire point location problem at every time instant
We propose a methodological approach for the formal specification and verification of RISC processor microarchitectures within a functional framework. The approach exploits only the next state function to formally spe...
详细信息
We propose a methodological approach for the formal specification and verification of RISC processor microarchitectures within a functional framework. The approach exploits only the next state function to formally specify both ISA and MA levels and proves their equivalence in a systematic way. Moreover, the proof could be performed at different architectural levels. The central idea consists of decomposing the next state function into coordinates such that to model the microarchitecture at the component level. Such decomposition allows the proof to be systematically decomposed into a set of verification conditions more simple to reason about and to verify. The potential features of the proof methodology are demonstrated over the MIPS processor within Haskell framework.
暂无评论