Owicki-Gries reasoning for concurrent programs uses Hoare logic together with an interference freedom rule for concurrency. In this paper, we develop a new proof calculus for the C11 RAR memory model (a fragment of C1...
详细信息
object-orientedprogramming is a required fundamental skillset for all computer science related students. However, teaching object-orientedprogramming to undergraduate year one students is challenging and academician...
详细信息
ISBN:
(纸本)9781911218579;9781911218562
object-orientedprogramming is a required fundamental skillset for all computer science related students. However, teaching object-orientedprogramming to undergraduate year one students is challenging and academician need to use a different approach to find suitable methods to enhance student understanding, self-interest and self-experimentation. However, the classroom-based learning and teaching methods are insufficient to support learners or students, especially in learning a programming related subject. A game-based learning approach could be an efficient way for the students to learn object-orientedprogramming. this is mainly because the empirical evidence that validates computer games is an efficient tool for learning object-orientedprogramming is still absent from the literature. the proposed computer game is developed according to the game-based learning design approach model, where several relevant theories, such as condition of learn, operant conditioning, constructive, hierarchy of needs and bloom taxonomy are included to ensure that the entire learning process is motivating and easy to learn. the game-based learning design model is divided to three layers, such as presentation layer, learning theory layer and core game-play layer. Each layer covers a different expect, where focus is on how to make the learning environment more effective for player to learn object-orientedprogramming. the proposed game is a role-playing game named Odyssey of Phoenix that motivates users to learn object-orientedprogramming in an easy and interactive environment. Players will play along the flow of each game quest and they will easily learn and pick up the object-orientedprogramming paradigm. Players are not required to have any coding practice and learn via the provided game-play with pseudo code support. A group of 20 students in the second year of Bachelor of Computer Science were offered to participate a pilot testing to evaluate the game. the respondents showed po
the proceedings contain 7 papers. the topics discussed include: featherweight EventCJ: a core calculus for a context-oriented language with event-based per-instance layer transition;safer context (de)activation - thro...
ISBN:
(纸本)9781450308915
the proceedings contain 7 papers. the topics discussed include: featherweight EventCJ: a core calculus for a context-oriented language with event-based per-instance layer transition;safer context (de)activation - through the prompt-loyal strategy;a context management infrastructure with language integration support;JavaCtx: seamless toolchain integration for context-orientedprogramming;context-orientedprogramming for mobile devices: JCop on Android;implementing scoped method tracing with ContextJS;and CJAdviser: SMT-based debugging support for ContextJ*.
ODRA (object Database for Rapid Application development) is an object-oriented application development environment currently being constructed at the Polish-Japanese Institute of Information Technology. the aim of the...
详细信息
ISBN:
(纸本)9783540751847
ODRA (object Database for Rapid Application development) is an object-oriented application development environment currently being constructed at the Polish-Japanese Institute of Information Technology. the aim of the project is to design a next-generation development tool for future database application programmers. the tool is based on the query language SBQL (Stack-Based Query Language), a new, powerful and high level object-orientedprogramming language tightly coupled with query capabilities. the SBQL execution environment consists of a virtual machine, a main memory DBMS and an infrastructure supporting distributed computing. the paper presents design goals of ODRA, its fundamental mechanisms and some relationships with other solutions.
Software aging is an important cost contributor to the maintenance of aging software systems. Recent years have brought significant progress in the area of automatic detection of "code smells" as well as too...
详细信息
ISBN:
(纸本)9780769528021
Software aging is an important cost contributor to the maintenance of aging software systems. Recent years have brought significant progress in the area of automatic detection of "code smells" as well as tool support for refactoring and implementing design patterns in the code. Nonetheless, there is hardly any tool support to help the maintainer decide how to refactor in a given situation, such that the recommended refactorings are also meaningful in that particular situation. Most of the existing techniques are either merely supporting the process, such as visualizations, or cannot guarantee meaningful refactorings, such as optimization based techniques. this paper introduces and experimentally evaluates a novel, tool supported approach to determine meaningful refactorings to structural flaws in objectoriented systems. the refactorings recommended by our approach are guaranteed to lead to a meaningful and more maintainable structure in each analyzed situation. the approach contributes to a dramatic reduction of costs, by reducing the: need and scope of detailed, manual code analysis.
this report summarizes the results of the eleventh workshop on pedagogies and tools for the teaching and learning of object-oriented concepts. the focus of this year's workshop was on desirable properties of examp...
ISBN:
(纸本)9783540781943
this report summarizes the results of the eleventh workshop on pedagogies and tools for the teaching and learning of object-oriented concepts. the focus of this year's workshop was on desirable properties of examples and the usage of simple tools. the workshop gathered 17 participants, all from academia, from 7 different countries.
this paper describes a tool for symbolically animating JML specifications using Constraint Logic programming. A customized solver handles constraints that represent the value of instance fields. We have extended a mod...
详细信息
ISBN:
(纸本)3540253335
this paper describes a tool for symbolically animating JML specifications using Constraint Logic programming. A customized solver handles constraints that represent the value of instance fields. We have extended a model-based approach to be able to handle object-oriented specifications. Our tool is also able to check properties during the simulation and exhibit counter-examples for false properties. therefore, it can be used both for semi-automated verification and for validation purposes.
object-oriented unit tests consist of sequences of method invocations. Behavior of an invocation depends on the method's arguments and the state of the receiver at the beginning of the invocation. Correspondingly,...
详细信息
ISBN:
(纸本)3540253335
object-oriented unit tests consist of sequences of method invocations. Behavior of an invocation depends on the method's arguments and the state of the receiver at the beginning of the invocation. Correspondingly, generating unit tests involves two tasks: generating method sequences that build relevant receiver-object states and generating relevant method arguments. this paper proposes Symstra, a framework that achieves both test generation tasks using symbolic execution of method sequences with symbolic arguments. the paper defines symbolic states of object-oriented programs and novel comparisons of states. Given a set of methods from the class under test and a bound on the length of sequences, Symstra systematically explores the object-state space of the class and prunes this exploration based on the state comparisons. Experimental results show that Symstra generates unit tests that achieve higher branch coverage faster than the existing test-generation techniques based on concrete method arguments.
By the use of dynamic replication schemes - in comparison with static replication schemes - a tremendous increase of read and write operation availabilities can be achieved. Furthermore, object-orientedprogramming la...
详细信息
ISBN:
(纸本)0769518753
By the use of dynamic replication schemes - in comparison with static replication schemes - a tremendous increase of read and write operation availabilities can be achieved. Furthermore, object-orientedprogramming languages like Java offer excellent possibilities for the abstraction of complex problems. In this paper we present our solution of combining dynamic replication and its use in object-orientedprogramming. More precisely, we show how Java objects can be made highly available through the use of dynamic replication in an almost transparent manner from the Java application programmer's perspective. this is done by using a general, highly flexible framework which enables the use of a large number of dynamic replication schemes. We show how the framework can be integrated, such that it is conveniently available for Java application programmers. We demonstrate its simple use, even when being introduced a posteriori in a Java program: one need only to modify a few lines of code.
the proceedings contain 19 papers. the special focus in this conference is on object-orientedprogramming. the topics include: 11th workshop for PhD students in object-oriented systems;quality of service in distribute...
ISBN:
(纸本)3540436758
the proceedings contain 19 papers. the special focus in this conference is on object-orientedprogramming. the topics include: 11th workshop for PhD students in object-oriented systems;quality of service in distributed object systems and distributed multimedia object/component systems;formal techniques for java programs;automating object-oriented software development methods;adaptive object-models and metamodeling techniques;specification, implementation, and validation of object-oriented embedded systems;feature interaction in composed systems;6thworkshop on component-orientedprogramming;advanced separation of concerns;multiparadigm programming with OO languages;generative programming;4th workshop on object-oriented architectural evolution;7th workshop on mobile object systems;the next 700 distributed object systems;quantitative approaches in object-oriented software engineering;object-oriented business solutions;4th workshop on OO and operating systems;the next 700 distributed object systems and poster session.
暂无评论