Summary form only given, as follows. This talk provides an insight into a variety of approaches to using visual programming tools. The talk introduces techniques that assist in the production of well designed, visuall...
详细信息
Summary form only given, as follows. This talk provides an insight into a variety of approaches to using visual programming tools. The talk introduces techniques that assist in the production of well designed, visually programmed software systems. Visual programming tools are very powerful but offer many paths that allow for the production of software that is difficult to maintain and interpret. The techniques introduced in this talk provide a basic framework for reducing the possibilities for developers to "shoot themselves in the foot." IBM's VisualAge for Java is used as the basis for a variety of demonstrations showing these techniques in action.
The goal of the paper is to obtain a one-to-one correspondence between state machines as e.g. used in UML and objectoriented programming languages. A proposal is made for a language mechanism that makes it possible f...
详细信息
The goal of the paper is to obtain a one-to-one correspondence between state machines as e.g. used in UML and objectoriented programming languages. A proposal is made for a language mechanism that makes it possible for an object to change its virtual bindings at run time. A state of an object may then be represented as a set of virtual bindings. One advantage of object orientation is that it provides an integrating perspective on many phases of software development, including analysis, design and implementation. For the static set of OO language constructs there is almost a one-to-one correspondence between analysis/design notations and OO programming languages. No such correspondence exists for the dynamic aspects, but the proposed state mechanism is a contribution to a better correspondence. The proposal is based on previous work by A. Taivalsaari (1993) and compared to the more complex features for changing object behavior as found in CLOS, Smalltalk, and predicate classes, it is simple and efficient to implement.
The developing environment presented in this paper is built around an interactive tool that can accompany the software engineer for the whole software development process of concurrent and distributed applications. Th...
详细信息
The developing environment presented in this paper is built around an interactive tool that can accompany the software engineer for the whole software development process of concurrent and distributed applications. This environment relies on a concept of active object that is used homogeneously from the specification of the architecture down to the implementation. It provides support for architecture design, behaviour specification, automatic code production, compilation, debugging as well as formal verification. First of all, the application architecture is built with a graphical editor, translated into an architecture description language compatible with CORBA-IDL, and used to produce code that may be automatically linked and compiled into CORBA compatible implementation. The debugging of a distributed application is supported by features such as event stepping, simulation of the CORBA mechanism within a single Unix process, code tracing, etc. The formal verification is supported by translators providing Promela code that can be analyzed by the SPIN model checker.
This paper describes the concept of a "risk information base", which is a part of development methodology to address the provision of risk analysis and assessment over the domain of information systems that ...
详细信息
This paper describes the concept of a "risk information base", which is a part of development methodology to address the provision of risk analysis and assessment over the domain of information systems that connect to the Internet. The work is achieved within a framework which is based on object-oriented techniques.
Command Control, Computers, Communications, Intelligence, and Surveillance (C4ISR) systems make extensive use of geospatial and image based information. Map displays and aerial photography are often used as the backdr...
详细信息
Command Control, Computers, Communications, Intelligence, and Surveillance (C4ISR) systems make extensive use of geospatial and image based information. Map displays and aerial photography are often used as the backdrop for the display of other information in systems to assist in providing situation awareness. Given the desire to have high-resolution information, the volume and variety of geospatial information is increasing. Both commercial and experimental systems are being developed to manage, serve and process these large volumes of image and geospatial information. This paper describes the development of a dynamic server that communicates with an experimental CORBA based backend image repository, and to a JAVA map display client to deliver a virtual mosaic of the imagery within the displayed region. Since imagery is not always stored in georeferenced form we have had to provide a processing chain that maps the image coordinates to the map coordinates for display. This is implemented using the JAVA Advanced imaging library. To reduce the footprint of the client the dynamic server that processes the imagery from the backend repository can be distributed off of the client system via an RMI connection. To maximise the interactive performance of this application various types of caching of queries and image data have been implemented.
Typical Java applications involve access to a database system. Database systems store data according to their type system; even objectoriented databases generally have their own storage structures. It is therefore ne...
详细信息
Typical Java applications involve access to a database system. Database systems store data according to their type system; even objectoriented databases generally have their own storage structures. It is therefore necessary to convert Java objects as they are stored in a database, and to re-convert them when they are read. Ideally, this should be done behind the scenes by a support package. The paper presents an approach that automates the conversion process without involving pre- or post-processing of Java code: we use a reflection mechanism, where Java code is inspected at run time and changed to include the convert and re-convert effort. The result is a flexible and transparent Java database access.
Business rules are closely associated with events. This paper describes how events in use cases can be the basis for identifying classes and business rules. A process known as event scripting is used to document the e...
详细信息
Business rules are closely associated with events. This paper describes how events in use cases can be the basis for identifying classes and business rules. A process known as event scripting is used to document the event and from it objects and their relationships are identified. Business rules identified with the events are attached to objects as part of their definitions in class specifications. The event scripting process is described in detail in this paper.
Developing software systems from components involves defining the overall architecture where such components will cooperate. We argue that major problems with current approaches to component based software development...
详细信息
Developing software systems from components involves defining the overall architecture where such components will cooperate. We argue that major problems with current approaches to component based software development stem from the fact that architecture is implicit in the components' code. The paper presents a design model for objectorientedsystems which makes architecture explicit by letting architecture-transparent components be instantiated and coordinated by separate entities implementing architectural concepts. A brief discussion of the application of the model to the design of a concrete system demonstrates how explicit architecture can enhance the reusability of both components and design elements, and ease the implementation of user-directed dynamic reconfiguration.
We propose a novel approach to specifying, documenting, and reasoning about objectoriented frameworks. The novelty of our approach is in combining standard executable statements of a programming language (we choose J...
详细信息
We propose a novel approach to specifying, documenting, and reasoning about objectoriented frameworks. The novelty of our approach is in combining standard executable statements of a programming language (we choose Java as an example) with possibly nondeterministic specification constructs. A specification of the intended behavior given in this language can serve as a precise documentation for users of the framework and its extension developers. To illustrate the applicability of our method to specification of objectoriented frameworks, we demonstrate how one can specify the Java Collections Framework which is a part of the standard Java Development Kit 2.0.
As an imperative concurrent programming language, CSP is considered weakly typed. We equip CSP with a formal second-order type system. The types of processes and prefixed processes are distinguished and they are treat...
详细信息
As an imperative concurrent programming language, CSP is considered weakly typed. We equip CSP with a formal second-order type system. The types of processes and prefixed processes are distinguished and they are treated as generic types that can be instantiated by the subtypes of alphabets. The bounded quantifier is introduced to represent bounded generics.
暂无评论