Java had a long period of little change in its features: between Java 5 in 2004 and Java 9 in 2017, lambda functions were the only major addition to the language. However, Java's development pace has suddenly quic...
详细信息
ISBN:
(纸本)9781450394338
Java had a long period of little change in its features: between Java 5 in 2004 and Java 9 in 2017, lambda functions were the only major addition to the language. However, Java's development pace has suddenly quickened, and not just in version numbers: by the time Java 17 was released in September 2021, new features in the language since Java 9 included record types, switch expressions, sealed classes, var declaration types, text blocks and pattern-matching instanceof. More new features are also on the horizon. Java remains one of the most popular languages for teaching in high-school and university/college, but many educators will not have had the time to learn these new features, let alone consider whether they should adjust their teaching to include any of these features. In this in-person workshop we will explain the new features to attendees and then facilitate discussion on whether the features should be incorporated into Java teaching at the introductory or advanced level, if at all.
This paper reports on an effort to develop an integrated set of diagrammatic languages for modeling object-oriented systems, and to construct a supporting tool. The goal is for models to be intuitive and well-structur...
详细信息
ISBN:
(纸本)9780818672460
This paper reports on an effort to develop an integrated set of diagrammatic languages for modeling object-oriented systems, and to construct a supporting tool. The goal is for models to be intuitive and well-structured, yet fully executable and analyzable, enabling automatic synthesis of usable and efficient code in object-oriented languages such as C++. At the heart of the modeling method is the language of statecharts for specifying object behavior, and a hierarchical OMT-like language for describing the structure of classes and their inter-relationships, that we call O-charts. objects can interact by event generation, or by direct invocation of operations. In the interest of keeping the exposition manageable, we leave out some technically involved topics, such as multiple-thread concurrency and active objects.
This paper describes a tool that mimics the design of the remote procedure call (RPC) system to support the building of replicated objects in a cluster of workstations (COW). The tools include an interface definition ...
详细信息
ISBN:
(纸本)0769510108
This paper describes a tool that mimics the design of the remote procedure call (RPC) system to support the building of replicated objects in a cluster of workstations (COW). The tools include an interface definition language for describing a replica group, a language preprocessor and a runtime library system. The paper also presents one example and discusses some performance issues for replicated objects.
Current reverse engineering technology is typically based on program analysis methods such as parsing and data flow analysis. As such, it is limited in what it can accomplish. Knowledge of the application domain conta...
详细信息
Current reverse engineering technology is typically based on program analysis methods such as parsing and data flow analysis. As such, it is limited in what it can accomplish. Knowledge of the application domain containing a program can help overcome this limit and aid the comprehension process. The paper discusses the relationship of application domain analysis and reverse engineering. Two case studies are presented. The first describes how domain knowledge, expressed as an object-oriented framework, can aid the reverse engineering process for a well-understood domain. The second studies how reverse engineering can be used to build a domain model. Issues raised by the confluence of domain analysis and reverse engineering are discussed, and implications on future work in the area are suggested.< >
In traditional object-oriented languages, the dynamic dispatch algorithm is hardwired: for every polymorphic call, only the most specific method is used. Clos, the Common Lisp object System, goes beyond the traditiona...
详细信息
ISBN:
(纸本)9782955747421
In traditional object-oriented languages, the dynamic dispatch algorithm is hardwired: for every polymorphic call, only the most specific method is used. Clos, the Common Lisp object System, goes beyond the traditional approach by providing an abstraction known as method combinations: when several methods are applicable, it is possible to select several of them, decide in which order they will be called, and how to combine their results, essentially making the dynamic dispatch algorithm user-programmable. Although a powerful abstraction, method combinations are under-specified in the Common Lisp standard, and the Mop, the Meta-object Protocol underlying many implementations of Clos, worsens the situation by either contradicting it or providing unclear protocols. As a consequence, too much freedom is granted to conforming implementations. The exact or intended behavior of method combinations is unclear and not necessarily coherent with the rest of Clos. In this paper, we provide a detailed analysis of the problems posed by method combinations, the consequences of their lack of proper specification in one particular implementation, and a Mop-based extension called method combinators, aiming at correcting these problems and possibly offer new functionality.
INTRODUCTION object-oriented programming is proving to be quite useful in many areas which have not been served well by more conventional *** fact,any real world object can be modeled in an objectoriented *** real-wo...
详细信息
INTRODUCTION object-oriented programming is proving to be quite useful in many areas which have not been served well by more conventional *** fact,any real world object can be modeled in an objectoriented *** real-world objects may exist and do things concurrently,object-oriented systems also show great potential for exploiting concurrence/*** many object-oriented languages currently in use are sequential(such as C++,Smalltalk-80, Eiffel).How to implement object-oriented languages on parallel systems is still a promising research topic.
A number of proposals to manage aliasing in Java-like programming languages have been advanced over the last five years. It is not clear how practical these proposals are, that is, how well they relate to the kinds of...
详细信息
A number of proposals to manage aliasing in Java-like programming languages have been advanced over the last five years. It is not clear how practical these proposals are, that is, how well they relate to the kinds of programs currently written in Java-like languages. To address this problem, we analysed heap snapshots from a corpus of Java programs. Our results indicate that object-oriented programs do in fact exhibit symptoms of encapsulation in practice, and that proposed models of uniqueness, ownership, and confinement can usefully describe the aliasing structures of object-oriented programs. Understanding the kinds of aliasing present in programs should help us to design formalisms to make explicit the kinds of aliasing implicit in object-oriented programs. Copyright (C) 2004 John Wiley Sons, Ltd.
For the evolution and maintenance of legacy systems, it is essential that they are reverse engineered. It is becoming important because in many Legacy systems, suitable documentation is not available which makes maint...
详细信息
ISBN:
(纸本)9781728134567
For the evolution and maintenance of legacy systems, it is essential that they are reverse engineered. It is becoming important because in many Legacy systems, suitable documentation is not available which makes maintenance. The proposed approach extracts hidden information which is useful for maintaining a software. Application modeling and data modeling are essential for the development of the software and are used for designing application and database separately. Generally, in software systems application layer is the object-oriented programming language and database is the backend store. Modeling of these layers separately creates inconsistency. This paper proposes a technique to reverse engineer the database schema to UML model which will incorporate modeling of an object-oriented technology on top of purely relational database. Using this conversion of database schema to UML diagram, the gap between these layers is being bridged. It will provide the understanding of the legacy system in a better way. The database schema is converted into XMI format which can be imported in a UML modeling tool. The proposed approach converts the SQL database schema as well as more frequently used SELECT statements for the schema into UML model which is in the form of XMI. By importing the generated XMI file into MagicDraw, UML model is graphically represented.
Control software and platforms for single or cooperative robots are highly complicated because they coordinate and administer the interaction of a variety of distributed and heterogeneous hardware and software compone...
详细信息
ISBN:
(纸本)9781509007943
Control software and platforms for single or cooperative robots are highly complicated because they coordinate and administer the interaction of a variety of distributed and heterogeneous hardware and software components in a dynamic world. While most of such systems built on some uniform middleware or control system for all distributed nodes which come with restrictions in flexibility on several levels, we aim at a more flexible and open architecture of autonomous components in the style of IoT. In this paper, we introduce a platform independent robotics framework based on an IoT technology and protocols. We compare our architecture with other recent approaches and according to fundamental criteria, we discuss advantages and drawbacks.
暂无评论