While pattern engineering is well adopted by the developers community, software evolution does not yet espouses any archetypes - or styles. Practically, there is no works on evolution specification which could permit ...
详细信息
ISBN:
(纸本)9781617386077
While pattern engineering is well adopted by the developers community, software evolution does not yet espouses any archetypes - or styles. Practically, there is no works on evolution specification which could permit to quickly tailor changes on-demand. Starting from pragmatic object-oriented examples, this paper shows how evolution practices undertaken by distinct developers and architects prove to be strongly similar and stresses the necessity to abstract those practices for subsequent (re)uses. We leverage evolution styles to specify some identified recurring evolutions and show how they can be instantiated to meet change requirements.
Manual large-scale modification or generation of source code can be tedious and error-prone. Integrating scriptable source-to-source program transformations into development environments will assist developers withth...
详细信息
ISBN:
(纸本)1581138334
Manual large-scale modification or generation of source code can be tedious and error-prone. Integrating scriptable source-to-source program transformations into development environments will assist developers withthis overwhelming task. We discuss various usability issues of bringing such ad-hoc transformations to end-users and describe a developer-oriented interactive source code transformation tool for Java that we are building.
this report gives an overview over the First ECOOP Workshop on programming Languages and Operating Systems (PLOS 2004). It explains the motivation for the workshop and gives a summary of the workshop contributions and...
详细信息
ISBN:
(纸本)354023988X
this report gives an overview over the First ECOOP Workshop on programming Languages and Operating Systems (PLOS 2004). It explains the motivation for the workshop and gives a summary of the workshop contributions and discussions during the workshop.
this paper describes a type system that is capable of expressing and enforcing immutability constraints. the specific constraint expressed is that the abstract state of the object to which an immutable reference refer...
详细信息
ISBN:
(纸本)1581138318
this paper describes a type system that is capable of expressing and enforcing immutability constraints. the specific constraint expressed is that the abstract state of the object to which an immutable reference refers cannot be modified using that reference. the abstract state is (part of) the transitively reachable state: that is, the state of the object and all state reachable from it by following references. the type system permits explicitly excluding fields or objects from the abstract state of an object. For a statically type-safe language, the type system guarantees reference immutability. If the language is extended with immutability downcasts, then run-time checks enforce the reference immutability constraints. In order to better understand the usability and efficacy of the type system, we have implemented an extension to Java, called Javari, that includes all the features of our type system. Javari is interoperable with Java and existing JVMs. It can be viewed as a proposal for the semantics of the Java const keyword, though Javari's syntax uses readonly instead. this paper describes the design and implementation of Javari, including the type-checking rules for the language. this paper also discusses experience with 160,000 lines of Javari code. Javari was easy to use and provided a number of benefits, including detecting errors in well-tested code.
Plagiarism detection in software programs is very important in both academia and industry. there are many tools available today to aid in detecting plagiarism in text and source documents. Most of the plagiarism detec...
详细信息
ISBN:
(纸本)9780769549224
Plagiarism detection in software programs is very important in both academia and industry. there are many tools available today to aid in detecting plagiarism in text and source documents. Most of the plagiarism detection tools for source code do some sort of pre-processing, like removing comments & blank spaces and using uniform tokens for primitive types & variables, before actually applying intelligent matching techniques so that the tool can detect the copied code even if it is changed in format and variable names etc. In this paper, we propose a novel preprocessing approach based on design patterns such that any code that is intelligently plagiarized can also be easily located.
Smalltalk-80 is a pure object-oriented language in which messages are dispatched according to the class of the receiver, or first argument, of a message. object-oriented languages that support multimethods dispatch me...
详细信息
We developed an UML-State-charts objectoriented Design Pattern for PLCs IEC61131-3. this PLC UML-State-chart Design Pattern aims to explore the advantage of objectorientedprogramming by IEC61131-3 in PLCs, and to p...
详细信息
ISBN:
(纸本)9781479948451
We developed an UML-State-charts objectoriented Design Pattern for PLCs IEC61131-3. this PLC UML-State-chart Design Pattern aims to explore the advantage of objectorientedprogramming by IEC61131-3 in PLCs, and to provide a direct map of UML State-chart to PLC code. We illustrates the design pattern and its use through UML Class diagrams and an application example. this Design Pattern can be used to reduce the development time of State-charts in automation software. It can also lead towards further investigations in PLC Design Patterns that may improve the whole development of automation software.
We have designed a CS 1 course that integrates event-driven programming from the very start. In [2] we argued that event-driven programming is simple enough for CS 1 when introduced withthe aid of a library that we h...
详细信息
ISBN:
(纸本)1581138334
We have designed a CS 1 course that integrates event-driven programming from the very start. In [2] we argued that event-driven programming is simple enough for CS 1 when introduced withthe aid of a library that we have developed. In this paper we argue that early use of event-driven programming makes many of the standard topics of CS 1 much easier for students to learn by breaking them into smaller, more understandable concepts.
Programs that manipulate physical quantities typically represent these quantities as raw numbers corresponding to the quantities' measurements in particular units (e.g., a length represented as a number of meters)...
详细信息
ISBN:
(纸本)1581138318
Programs that manipulate physical quantities typically represent these quantities as raw numbers corresponding to the quantities' measurements in particular units (e.g., a length represented as a number of meters). this approach eliminates the possibility of catching errors resulting from adding or comparing quantities expressed in different units (as in the Mars Climate Orbiter error ), and does not support the safe comparison and addition of quantities of the same dimension. We show how to formulate dimensions and units as classes in a nominally typed object-oriented language through the use of statically typed metaclasses. Our formulation allows both parametric and inheritance polymorphism with respect to both dimension and unit types. It also allows for integration of encapsulated measurement systems, dynamic conversion factors, declarations of scales (including nonlinear scales) with defined zeros, and nonconstant exponents on dimension types. We also show how to encapsulate most of the "magic machinery" that handles the algebraic nature of dimensions and units in a single meta-class that allows us to treat select static types as generators of a free abelian group.
this paper proposes the design of an ontology of multiple programming languages and give three examples to show the methodology. Our ontology aims to summarize the core of computational thinking logic by elaborating t...
详细信息
暂无评论