We present a formal specification technique for objectoriented program components based on their boundary message behaviour. Component specifications describe restrictions on the set of message traces for a component ...
详细信息
We present a formal specification technique for objectoriented program components based on their boundary message behaviour. Component specifications describe restrictions on the set of message traces for a component without referring to actual implementations. Finally, we provide a framework to link specifications with abstract states to their implementations.
Reusable APIs often define usage protocols. The author previously developed a sound and modular type system that checks compliance to typestate-based protocols while affording a great deal of aliasing flexibility. Thi...
详细信息
Reusable APIs often define usage protocols. The author previously developed a sound and modular type system that checks compliance to typestate-based protocols while affording a great deal of aliasing flexibility. This paper focuses on making these ideas available in tools for mainstream object-orientedlanguages and evaluating their practical effectiveness.
The chronic difficulty of software maintenance can be traced back to widely held assumptions that inhibit progress in computer science. In the last instance, the idiosyncrasies of programming paradigms must be held ac...
详细信息
The chronic difficulty of software maintenance can be traced back to widely held assumptions that inhibit progress in computer science. In the last instance, the idiosyncrasies of programming paradigms must be held accountable for bad software design. The characteristics of an alternative programming paradigm without such drawbacks is outlined.
This work tailors an Alloy model translator to Java code and an estimate tool for physical resources optimization into a design-flow. Experimental results show distinct implementation strategies only varying data stru...
详细信息
This work tailors an Alloy model translator to Java code and an estimate tool for physical resources optimization into a design-flow. Experimental results show distinct implementation strategies only varying data structures used in generated Java code.
This poster describes the preliminary status of a project to investigate novel syntax features to enhance programming language readability. In particular, we present sample syntax for the use of white space, multiple ...
详细信息
This poster describes the preliminary status of a project to investigate novel syntax features to enhance programming language readability. In particular, we present sample syntax for the use of white space, multiple parameter sets, infix object specification, and programmer-defined control structures. We seek feedback and constructive criticism.
Existing ownership system forces fixed ownership, whereby an object cannot change its owner at runtime. Transferring ownership dynamically may produce security holes like reference exposure, dangling pointer, etc., th...
详细信息
Existing ownership system forces fixed ownership, whereby an object cannot change its owner at runtime. Transferring ownership dynamically may produce security holes like reference exposure, dangling pointer, etc., that may affect the predestined securities. Here we focus on representing alias bounds on objects which helps in ownership transfer.
We describe semantic mappings of four high-level programminglanguages to our delegation-based machine model for aspect-orientedprogramming. One of the languages is a class-based object-oriented one. The other three ...
详细信息
ISBN:
(纸本)9781605582153
We describe semantic mappings of four high-level programminglanguages to our delegation-based machine model for aspect-orientedprogramming. One of the languages is a class-based object-oriented one. The other three represent extensions thereof that support various approaches to modularizing crosscutting concerns. We explain informally that an operational semantics expressed in terms of the model's concepts preserves the behavior of a program written in one of the high-level languages. We hence argue our model to be semantically sound in that sense, as well as sufficiently expressive in order to correctly support features such as class-based object-orientedprogramming, the open-classes and pointcut-and-advice flavors of aspect-orientedprogramming, and dynamic layers. For the latter, being a core feature of context-orientedprogramming, we also provide a formal semantics.
Maintaining the conformance of an implementation to its architecture is difficult in practice since developers often make changes that degrade the architectural structure. We present tools for statically checking the ...
详细信息
Maintaining the conformance of an implementation to its architecture is difficult in practice since developers often make changes that degrade the architectural structure. We present tools for statically checking the structural conformance of a system to its runtime architecture.
Data mining on software products and process metrics is hard. The relations between them are different and may vary. We present a data manipulation language called System Query Language, which partially overcomes the ...
详细信息
Data mining on software products and process metrics is hard. The relations between them are different and may vary. We present a data manipulation language called System Query Language, which partially overcomes the problems of other similar languages and allows the user to retrieve the needed information.
object-orientedprogramming and other programming paradigms are heavily influenced by Western thought and reasoning, which focuses on understanding the world in terms of categories, objects and their attributes: A typ...
详细信息
object-orientedprogramming and other programming paradigms are heavily influenced by Western thought and reasoning, which focuses on understanding the world in terms of categories, objects and their attributes: A typical program is decomposed into clearly defined units, such as modules, functions, objects, components and aspects, and each of these units is described by its properties, functionality, and direct relationships to other units. Eastern philosophy, however, focuses on fields of interactions rather than individual units. Harmony-orientedprogramming is a new programming paradigm based on concepts found in Eastern philosophy. This paper presents principles and constructs of harmony-orientedprogramming and introduces ongoing work towards creating a harmony-oriented software development environment for further experimental studies.
暂无评论