This paper presents a framework to define a semantics for a real-time object-orientation programming language and to verify programs written in the language. The semantics is defined as the collection of translation r...
详细信息
ISBN:
(纸本)081865640X
This paper presents a framework to define a semantics for a real-time object-orientation programming language and to verify programs written in the language. The semantics is defined as the collection of translation rules that map the syntactic constructions of the language into expressions in a process calculus extended with the notion of time. By using the expressive capabilities of the calculus, the semantics can appropriately capture temporal features of the language such as timeout exception and execution time, and concurrent object-oriented features such as concurrency, class, and object creation. Particularly, since it can restrict the number of concurrent activities which take place simultaneously, it allows to analyze and predict temporal and behavioral properties of programs executed even with a number of processors smaller than the number of active objects. Through an example, we illustrate a method of analyzing real-time programs.
Difficulties in reasoning about functional correctness and relational properties of object-oriented programs are reviewed. An approach using auxiliary state is briefly described, with emphasis on the author's work...
详细信息
ISBN:
(纸本)9783540691471
Difficulties in reasoning about functional correctness and relational properties of object-oriented programs are reviewed. An approach using auxiliary state is briefly described, with emphasis on the author's work. Some near term challenges are sketched.
The power of objects lies in the flexibility of their interconnection structure. But this flexibility conies at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand,...
详细信息
ISBN:
(纸本)9783642020469
The power of objects lies in the flexibility of their interconnection structure. But this flexibility conies at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand, maintain, and analyze. Aliasing makes objects depend on their environment in unpredictable ways, breaking the encapsulation necessary for reliable software components, making it, difficult to reason about and optimize programs, obscuring the flow of information between objects, and introducing security problems. Aliasing is a fundamental difficulty, but, we accept its presence. Instead we seek techniques for describing, reasoning about, restricting, analyzing, and preventing the connections between objects and/or the flow of information between them. Promising approaches to these problems are based on ownership, confinement, information flow, sharing control, escape analysis, argument independence, read-only references, effects systems. and access control mechanisms.
Although generics became quite popular in mainstream object-oriented languages and several specification languages exist that support the description of generic components, conformance relations between object-oriente...
详细信息
ISBN:
(数字)9783642046940
ISBN:
(纸本)9783642046933
Although generics became quite popular in mainstream object-oriented languages and several specification languages exist that support the description of generic components, conformance relations between object-oriented programs and formal specifications that have been established so far do not address genericity. In this paper we propose a notion of refinement mapping that allows to define correspondences between parameterized specifications and generic Java classes. Based on Such mappings, we put forward a conformance notion useful for the extension of CONGU, a tool-based approach we have been developing to Support runtime conformance checking of Java programs against algebraic specifications, so that it becomes applicable to a more comprehensive range of situations, namely those that appear in the context of a typical Algorithms and Data Structures Course.
Recent works by Sowa and by Rayside & Campbell demonstrate that there is a strong connection between object oriented programming and the logical formalism of the syllogism, first set down by Aristotle in the Prior...
详细信息
ISBN:
(纸本)0769510507
Recent works by Sowa and by Rayside & Campbell demonstrate that there is a strong connection between object oriented programming and the logical formalism of the syllogism, first set down by Aristotle in the Prior Analytics. In this paper, we develop an understanding of polymorphic method invocations in terms of the syllogism, and apply this understanding to the design of a novel editor for object-oriented programs. This editor is able to display a polymorphic call graph, which is a substantially more difficult problem than displaying a non-polymorphic call graph. We also explore the design space of program analyses related to the syllogism, and find that this space includes Unique Name, Class Hierarchy Analysis, Class Hierarchy Slicing, Class Hierarchy Specialization, and Rapid Type Analysis.
This paper describes the evolution of recursive functions within an object-oriented Genetic programming (OOGP) system. We evolved general solutions to factorial, Fibonacci, exponentiation, even-n-Parity, and nth-3. We...
详细信息
ISBN:
(纸本)3540331433
This paper describes the evolution of recursive functions within an object-oriented Genetic programming (OOGP) system. We evolved general solutions to factorial, Fibonacci, exponentiation, even-n-Parity, and nth-3. We report the computational effort required to evolve these methods and provide a comparison between crossover and mutation variation operators, and also undirected random search. We found that the evolutionary algorithms performed much better than undirected random search, and thats mutation outperformed crossover on most problems.
This paper describes the use of the object-orientedprogramming language BETA for modelling and implementing a simple prototype of an ISDN D-channel layer 3 (I.451) entity. In particular, the implementation of ISDN su...
详细信息
The paper reviews the role of object-orientedprogramming when developing software in geology and geophysics. Main stages have been identified at which it is worthwhile to apply principles of object-oriented programmi...
详细信息
The paper reviews the role of object-orientedprogramming when developing software in geology and geophysics. Main stages have been identified at which it is worthwhile to apply principles of object-orientedprogramming when developing software in geology and geophysics. The research was based on a number of problems solved in Geology and Petroleum Production Institute. Distinctive features of these problems are given and areas of application of the object-oriented approach are identified. Developing applications in the sphere of geology and geophysics has shown that the process of creating such products is simplified due to the use of object-orientedprogramming, firstly when designing structures for data storage and graphical user interfaces.
When minor modifications need to be made in an object-oriented computer program, they often incur further more changes due to the presence of dependency in the codes and the program structure. Yet, to accommodate the ...
详细信息
ISBN:
(纸本)9780791844113
When minor modifications need to be made in an object-oriented computer program, they often incur further more changes due to the presence of dependency in the codes and the program structure. Yet, to accommodate the required change, there can also be more than one option to carry out the initial modifications. To select the modification option in this context, this paper proposes a systematic approach to estimate the scope of change propagation of an object-oriented program given some initial modifications. The strategy is to first capture the dependency relationships of the entities pertaining to an object-oriented program via the matrix representation. Based on this matrix-based model, the priority number method is proposed and applied to estimate the scope of change propagation by assuming some initial modifications. The core of this method is to estimate the chance of affecting other program entities due to some modified entities. A case study is conducted throughout the paper to illustrate and justify the proposed method.
To overcome the shortage of computer specialists, there is an increased need for correspondent study and training offers, in particular for learning programming. The automated assessment of solutions to programming ta...
详细信息
ISBN:
(纸本)9781728109305
To overcome the shortage of computer specialists, there is an increased need for correspondent study and training offers, in particular for learning programming. The automated assessment of solutions to programming tasks could relieve teachers of time-consuming corrections and provide individual feedback even in online courses without any personal teacher. The e-assessment system JACK has been successfully applied for more than 12 years up to now, e.g., in a CS1 lecture. However, there are only few solid research results on competencies and competence models for object-orientedprogramming (OOP), which could be used as a foundation for high-quality feedback. In a joint research project of research groups at two universities, we aim to empirically define competencies for OOP using a mixed-methods approach. In a first step, we performed a qualitative content analysis of source code (sample solutions and students' solutions) and as a result identified a set of suitable competency components that forms the core of further investigations. Semi-structured interviews with learners will be used to identify difficulties and misconceptions of the learners and to adapt the set of competency components. Based on that we will use Item Response Theory (IRT) to develop an automatically evaluable test instrument for the implementation of abstract data types. We will further develop empirically founded and competency-based feedback that can be used in e-assessment systems and MOOCs.
暂无评论