788,908 research outputs found
The role of concurrency in an evolutionary view of programming abstractions
In this paper we examine how concurrency has been embodied in mainstream
programming languages. In particular, we rely on the evolutionary talking
borrowed from biology to discuss major historical landmarks and crucial
concepts that shaped the development of programming languages. We examine the
general development process, occasionally deepening into some language, trying
to uncover evolutionary lineages related to specific programming traits. We
mainly focus on concurrency, discussing the different abstraction levels
involved in present-day concurrent programming and emphasizing the fact that
they correspond to different levels of explanation. We then comment on the role
of theoretical research on the quest for suitable programming abstractions,
recalling the importance of changing the working framework and the way of
looking every so often. This paper is not meant to be a survey of modern
mainstream programming languages: it would be very incomplete in that sense. It
aims instead at pointing out a number of remarks and connect them under an
evolutionary perspective, in order to grasp a unifying, but not simplistic,
view of the programming languages development process
Supporting software maintenance with non-functional information
The paper highlights the role of non functional information (about efficiency, reliability and other software attributes) of software components in software maintenance, focusing in the component programming framework. Non functional information is encapsulated in modules bound to both definitions and implementations of software components and it is written as expressions in a classical programming language. It is shown with an example how this notation supports software maintenance, with the help of an algorithm which is able to select the best implementation of a software component in its context of use, meaning byPeer ReviewedPostprint (published version
Recommended from our members
Linear, integer separable and fuzzy programming problems: a united approach towards automatic reformulation
For mathematical programming (MP) to have greater impact as a
decision tool, MP software systems must offer suitable support in
terms of model communication and modelling techniques. In this
paper modelling techniques that allow logical restrictions to be
modelled in integer programming terms are described and their
implications discussed. In addition it is demonstrated that many
classes of non-linearities which are not variable separable may be
after suitable algebraic manipulation put in a variable separable
form. The methods of reformulating the fuzzy linear programming
problem as a Max-Min problem is also introduced. It is shown that
analysis of bounds plays a key role in the following four important
contexts: model reduction, reformulation of logical restrictions
as 0-1 mixed integer programs, reformulation of nonlinear programs
as variable separable programs and reformulation of fuzzy linear
programs. It is observed that as well as incorporating an
interface between the modeller and the optimiser there is a need to
make available to the modeller software facilities which support the
model reformulation techniques described here
Teaching Software Development to Non-Software Engineering Students
This paper argues that although the object-oriented programming (OOP) paradigm is appropriate for students taking programming modules on Higher Education (HE) software engineering course, this paradigm is not as relevant for students from other courses who study programming modules. It is also asserts that adopting another paradigm when teaching programming to non-software engineering students need not prevent the encouragement of good software engineering practices The paper discusses the software development model, procedures, techniques and programming language that the author requires non-software engineering students to employ when developing their
software. This discussion also includes consideration of implementation issues in an educational context. The paper concludes that his alternative approach has been successfully implemented, that it requires the student to adopt a rigorous approach to development and that it encourages best software engineering practices. The conclusions also note that delivering this alternative offers the opportunity to include good educational practice, such as role-play
Evolution of the discrete transform using genetic programming : a thesis presented in partial fulfilment of the requirements for the degree of Master in Computer Science at Massey University, Albany
Image compression is an important method in image transmission, storage and manipulation. There are many successful techniques which have been developed. Most of these methods are based on some type of rule based algorithm. The cosine transform plays a very important role in image compression. It is a standard transform used by the widely used JPEG standard. Through the use of genetic programming, we successfully evolved a programmatic cosine transform based on genetic programming. The cosine transform has been heavily researched and many efficient methods have been determined and successfully applied in practice. Here, we only suggest 'another' method to do the same work. Due to the limited power of our resources, we restricted our work to a 4 point cosine transform. As a result, an approximation to the transform is evolved by the genetic programming paradigm. In theory, the 8 point cosine transform can be evolved using a similar technique
Market implications of FMD epidemics in the Finnish pig sector: Does market structure matter?
This paper examines the role of market coordination and market distortions caused by a hypothetical FMD outbreak in the Finnish pig sector. By using stochastic dynamic programming, it simulates the consequences of two outbreak scenarios (large vs. small) under two distinct market regimes (competitive market vs. monopoly in the domestic supply). Simulated losses depend on the magnitude of outbreak and expected duration of possible turndown of meat exports, whereas market regime has a limited impact.Foreign trade, livestock epidemics, dynamic programming, Livestock Production/Industries,
- …