the proceedings contain 28 papers. the topics discussed include: the project Maxwell assembler system;cost and benefit of rigorous decoupling with context-specific interfaces;dynamic analysis of program concepts in Ja...
详细信息
ISBN:
(纸本)3939352055
the proceedings contain 28 papers. the topics discussed include: the project Maxwell assembler system;cost and benefit of rigorous decoupling with context-specific interfaces;dynamic analysis of program concepts in java;streaming support for java RMI in distributed environments;enabling java mobile computing on the IBM jikes research virtual machine;an extensible mechanism for long-term persistence of javaBeans components;heap protection for java virtual machines;a framework for unified resource management in java;experiences withthe development of a reverse engineering tool for UML;on the design of a java computer algebra system;typeless programming in java 5.0;infinite streams in java;interaction among objects via roles: sessions and affordances in java;experiences of using the dagstuhl middle metamodel for defining software metrics;and reducing java internet project risks: a case study of public measurement of client component functionality in the user community.
this paper considers java as an implementation language for a starting part of a computer algebra library. It describes a design of basic arithmetic and multivariate polynomial interfaces and classes which are then em...
详细信息
ISBN:
(纸本)3939352055
this paper considers java as an implementation language for a starting part of a computer algebra library. It describes a design of basic arithmetic and multivariate polynomial interfaces and classes which are then employed in advanced parallel and distributed Groebner base algorithms and applications. the library is type-safe due to its design withjava's generic type parameters and thread-safe using java's concurrent programming facilities. Copyright 2006 ACM.
programming languages which support lazy evaluation allow the definition of infinite streams as for example the stream of natural numbers or of prime numbers. Such streams are infinite in the sense that arbitrary many...
详细信息
ISBN:
(纸本)3939352055
programming languages which support lazy evaluation allow the definition of infinite streams as for example the stream of natural numbers or of prime numbers. Such streams are infinite in the sense that arbitrary many elements can be accessed as these elements are computed "on demand". this paper describes how infinite streams can be implemented in java, a language which does not support lazy evaluation directly. Two possible implementations are described and compared. Furthermore it is shown how streams can be defined as fixed points of maps on infinite streams and how formal power series can be defined using infinite streams. As user interface to work with such streams Groovy is used. Copyright 2006 ACM.
OMEGA is a model-driven code generation approach based on Executable UML enhanced with extension information provided by metamodel hierarchies. It is domain-specific but can easily incorporate new or related domains. ...
详细信息
ISBN:
(纸本)3939352055
OMEGA is a model-driven code generation approach based on Executable UML enhanced with extension information provided by metamodel hierarchies. It is domain-specific but can easily incorporate new or related domains. In this experience report, we describe the challenges encountered during the implementation of a code-generation facility for the J2EE platform. Copyright 2006 ACM.
Concept assignment identifies units of source code that are functionally related, even if this is not apparent from a syntactic point of view. Until now, the results of concept assignment have only been used for stati...
详细信息
ISBN:
(纸本)3939352055
Concept assignment identifies units of source code that are functionally related, even if this is not apparent from a syntactic point of view. Until now, the results of concept assignment have only been used for static analysis, mostly of program source code. this paper investigates the possibility of using concept information as part of dynamic analysis of programs. there are two case studies involving (i) a small java program used in a previous research study;(ii) a large java virtual machine (the popular Jikes RVM system). these studies demonstrate the usefulness of concept information for dynamic approaches to profiling, debugging and comprehension. this paper also introduces the new idea of feedback-directed concept assignment. Copyright 2006 ACM.
In this paper we present a new vision in object oriented programming languages where the objects' attributes and operations depend on who is interacting withthem. this vision is based on a new definition of the n...
详细信息
ISBN:
(纸本)3939352055
In this paper we present a new vision in object oriented programming languages where the objects' attributes and operations depend on who is interacting withthem. this vision is based on a new definition of the notion of role, which is inspired to the concept of affordance as developed in cognitive science. the current vision of objects considers attributes and operations as being objective and independent from the interaction. In contrast, in our model interaction with an object always passes through a role played by another object manipulating it. the advantage is that roles allow to define operations whose behavior changes depending on the role and the requirements it imposes, and to define session aware interaction, where the role maintains the state of the interaction with an object. Finally, we discuss how roles as affordances can be introduced in java, building on our language powerjava. Copyright 2006 ACM.
the paper presents an online java course consisting of a tutorial that provides a high level of interaction and an assessment tool that analyses the code and enables the students to run a suite of predefined tests. th...
详细信息
ISBN:
(纸本)3939352055
the paper presents an online java course consisting of a tutorial that provides a high level of interaction and an assessment tool that analyses the code and enables the students to run a suite of predefined tests. the hypertext tutorial contains a lot of interactive, editable examples and many exercises to check the student's progress. In the assessment tool various electronic evaluators check for the conformance of uploaded student programs to coding conventions, proper documentation, compliance withthe specification and, last but not least, the correct execution of supplied functional tests. the tool not only provides a tremendous help for the correctors by reducing the manual assessment time by a factor of about 4, but also is appreciated by the students for its immediate reaction, because development times (especially during debugging) can be shortened considerably and students can gain a much higher confidence in the quality of their own program. Copyright 2006 ACM.
java virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM heap. Before the bug that caused the invalid reference can be fixed, its location must be identified. It can be in either the ...
详细信息
ISBN:
(纸本)3939352055
java virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM heap. Before the bug that caused the invalid reference can be fixed, its location must be identified. It can be in either the JVM implementation or the native library written in C language invoked from java applications. To help system engineers identify the location, we implemented a feature using page protection that prevents threads executing native methods from referring to the JVM heap. this feature protects the JVM heap during native method execution, and when native method execution refers to the JVM heap invalidly, it interrupts the execution by generating a page-fault exception and then reports the location where the page-fault exception was generated. this helps the system engineer to identify the location of the bug in the native library. the runtime overhead for using this feature averaged 4.4% based on an estimation using the SPECjvm98, SPECjbb2000, and JFCMark benchmark suites. Copyright, 2006 ACM.
Long Term Persistence for javaBeans (LTP) is an API that supports a general mechanism for serializing javaBeans into an XML-based text format and vice versa. As javaprogramming language does not currently support ort...
详细信息
ISBN:
(纸本)3939352055
Long Term Persistence for javaBeans (LTP) is an API that supports a general mechanism for serializing javaBeans into an XML-based text format and vice versa. As javaprogramming language does not currently support orthogonal persistence, a programmer can choose to convert the internal state of an application into a permanent storage and vice versa using the LTP API. In this paper, we propose a mechanism that is extensible and optional for LTP, without modifying the LTP specification, to maximize the flexibility and extensibility of java applications. Our approach embeds scripts in an encoded XML text in order to reconstruct missing objects, or to create some additional helper objects during the subsequent decoding process. Moreover, as the decoding process may take too much time to instantiate certain heavyweight objects, the proposed mechanism also supports an optional cache pool to speed it up. Copyright 2006 ACM.
the java Data Objects (JDO) specification proposes a transparent and database-independent persistence abstraction layer for java. Since JDO is designed as a lightweight persistence approach, it does not provide any au...
详细信息
ISBN:
(纸本)3939352055
the java Data Objects (JDO) specification proposes a transparent and database-independent persistence abstraction layer for java. Since JDO is designed as a lightweight persistence approach, it does not provide any authentication or authorization capabilities in order to restrict user access to persistent objects. the novel security approach, JDOSecure, introduces a role-based permission system to the JDO persistence layer, which is based on the java Authentication and Authorization Service (JAAS). However, using JAAS policy files to define appropriate permissions becomes more complex and, therefore, error-prone with an increasing number of different users and roles. thus, JDOSecure comprises a management solution for users, roles, and permissions. It allows storing the information which is necessary for authentication and authorization in any arbitrary JDO resource. Furthermore, a java-based administration utility with a graphical user interface simplifies the maintenance of security privileges and permissions. Copyright 2006 ACM.
暂无评论