An experimental environment for reverse engineering Java software is discussed. Static information is extracted from class files and viewed using Rigi reverse engineering environment. The dynamic information is genera...
详细信息
ISBN:
(纸本)0769503039
An experimental environment for reverse engineering Java software is discussed. Static information is extracted from class files and viewed using Rigi reverse engineering environment. The dynamic information is generated by running the target software under a debugger. The debugged event trace information is viewed as scenario diagrams using a prototype tool called SCED. In SCED, state diagrams can be synthesized automatically from scenario diagrams. Dynamic information can also be attached to the static Rigi graph. Both static and dynamic views contain information about software artifacts and their relations. Such overlapping information forms a connection for information exchange between the views. SCED scenario diagrams are used for slicing the Rigi view and the Rigi view in turn, is used to guide the generation of SCED scenario diagrams and for raising their level of abstraction.
Dynamic memory management has been a high cost component in many software systems. Studies have shown that memory intensive C programs can consume up to 30% of the program runtime in memory allocation and liberation. ...
详细信息
Dynamic memory management has been a high cost component in many software systems. Studies have shown that memory intensive C programs can consume up to 30% of the program runtime in memory allocation and liberation. The OOP language system tends to perform object creation and deletion prolifically. An empirical study shown that C++ programs can have ten times more memory allocation and deallocation than comparable C programs. However, the allocation behavior of C++ programs is rarely reported. This paper attempts to locate where the dynamic memory allocations are coming from and report an empirical study of dynamic memory invocations in C++ programs. Firstly, this paper summarizes the hypothesis of situations that invoke the dynamic memory management explicitly and implicitly. They are: constructors, copy constructors, overloading assignment operator=, type conversions and application specific member functions. Secondly, the development of a source code level tracing tool is reported as the procedure to investigate the hypothesis. Thirdly, results include behavioral patterns of memory allocations. With these patterns, we may increase the reusability of the resources. For example, a profile-based strategy can be used to improve the performance of dynamic memory management. The C++ programs that were traced include Java compiler, CORBA compliant and visual framework.
Fuzzy set approaches are particularly suitable for issues of modeling uncertainty in spatial data. Previous work of the authors describes a framework to support uncertainty by using an object-oriented approach to mode...
详细信息
Fuzzy set approaches are particularly suitable for issues of modeling uncertainty in spatial data. Previous work of the authors describes a framework to support uncertainty by using an object-oriented approach to modeling spatial data. The original research focused on how to incorporate spatial data into a fuzzy object model. This paper expands upon that by discussing the implications of incorporating all collection types described in the ODMG object database standard in this framework. In addition, we will look at how future collection types may be incorporated into the framework.
We discuss basic concepts of a methodology for object-oriented specification of discrete-event simulation models in the World Wide Web (WWW) environment. As a specification tool the Java expert system shell (JESS) is ...
详细信息
We discuss basic concepts of a methodology for object-oriented specification of discrete-event simulation models in the World Wide Web (WWW) environment. As a specification tool the Java expert system shell (JESS) is proposed, which supports rule-based systems and can be tightly coupled with code written in the Java language. For performing simulation, a modified three-phase simulation strategy is used. The proposed methodology is explained using the example of a telephone switchboard.
Describes the possibility of developing a software method that integrates fuzzy logic (linguistic expression) and ordinary crisp computation in an object-oriented framework. A few examples are carefully examined to re...
详细信息
Describes the possibility of developing a software method that integrates fuzzy logic (linguistic expression) and ordinary crisp computation in an object-oriented framework. A few examples are carefully examined to reveal the essential characteristics regarding: meaning of fuzzy rules from the object-oriented view point; and formal description of integrated crisp and linguistic computation. Assuming that a human has the ability to recognize, understand, and process digital and linguistic data, it can generate output in the form of linguistic expression. The paper describes the following: (1) A possibility of integrating the crisp algorithm (the ordinary programming) and linguistic expressions. For example, the fuzzy graph concept is naturally introduced and expressed by our new notation. (2) Unavoidable ambiguity (multiplicity) in recognizing multimedia information at the linguistic level. This explains why and how multiple fuzzy rules must be evaluated every time while an ordinary system requires one rule applied and evaluated at a time. (3) A new inheritance called "type fusion" of the fuzzy-objectoriented formulation. Because of (1), the linguistically identified objects need to evaluate their own methods and methods of other object types together. In this way, the new object class inheritance is defined.
The modern industrial age urges the software industry to help them benefit from knowledge systems, which, besides filtering out an information flood, might initiate appropriate actions in response to process changes. ...
详细信息
The modern industrial age urges the software industry to help them benefit from knowledge systems, which, besides filtering out an information flood, might initiate appropriate actions in response to process changes. These could be achieved through active objects. An active object is autonomous: the privilege of such an object is its capability of initialing actions of its own, very intriguing feature for control systems. Java, notably prominent object-orientedprogramming language supports concurrency, and to some extent soft real-timeness. This paper focuses on active object-oriented databases applied to an industrial application.
In this paper a newly developed object model is presented which allows the description of hardware/software systems in all its parts. An adaption of the component model, JavaBeans, allows to combine different kinds of...
详细信息
In this paper a newly developed object model is presented which allows the description of hardware/software systems in all its parts. An adaption of the component model, JavaBeans, allows to combine different kinds of reuse in one unitary language. A model based design flow and some tools are presented and applied to a JPEG example.
While Java has provided a mechanism for concurrent programming implemented as language constructs, it is too rudimentary for most programmers and has certain limitations that make programs unnecessarily complex and pr...
详细信息
While Java has provided a mechanism for concurrent programming implemented as language constructs, it is too rudimentary for most programmers and has certain limitations that make programs unnecessarily complex and prevent fine-grained concurrency. We have implemented Java4P, an extension of the Java language, that offers a simpler concurrency model and overcomes Java's limitations. Threads are no longer associated with thread objects, allowing concurrency at any level of granularity. Thread creation is made implicit and synchronisation is achieved through method guards. Synchronisation specification is separated from the functional specification to provide a parallel programming model closer to sequential programming.
The goal of the paper is to obtain a one-to-one correspondence between state machines as e.g. used in UML and object oriented 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 object oriented 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.
We present a machine-vision system (MVS) which is capable to detect small protrusions or peaks over external car parts, for performance monitoring of steel sheet machining processes in automotive industry. Trials made...
详细信息
We present a machine-vision system (MVS) which is capable to detect small protrusions or peaks over external car parts, for performance monitoring of steel sheet machining processes in automotive industry. Trials made in this research prove the feasibility of implemented MVS based on two-dimensional imaging through a frame grabber. Also, algorithms for peaks detection are developed by an object oriented programming tool called IMPULS VISION XXL SDK and performed using a Pentium II PC. The paper introduces the main fault for inspection over steel sheets devoted to external car parts. Relevant features for MVS are extracted from trials made in steel sheet machining shopfloor. Algorithms for peaks detection are also presented. Results and new guidelines of this work are explained.
暂无评论