788,908 research outputs found

    The role of concurrency in an evolutionary view of programming abstractions

    Full text link
    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

    Get PDF
    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

    Teaching Software Development to Non-Software Engineering Students

    Get PDF
    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

    Get PDF
    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?

    Get PDF
    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,
    • …
    corecore