Quality of Service (QoS) becomes an important issue as systems are more open, therefore less predictable. In such contexts it is difficult to ensure via static approaches that a system will provide the expected QoS. I...
详细信息
ISBN:
(纸本)0769512518
Quality of Service (QoS) becomes an important issue as systems are more open, therefore less predictable. In such contexts it is difficult to ensure via static approaches that a system will provide the expected QoS. In dynamic approaches, sen,ices are adapted to provide the best QoS according to the execution context. this article describes an object-based framework, to deal with QoS in domains in which temporal faults is a major QoS criterion. the QoS optimization policy influences most of the architectural design decisions. the implementation is based on metaobjects that collectively manage the QoS and form a two decision-levels framework: at global level, objects share the same decision policy aiming to reduce timing faults, while at object level any specific QoS criteria may be applied. QoS description is made using UML extension mechanisms. Finally, the main phases of QoS management are detailed: prediction, establishment and operational, including observation and negotiation.
the article provides an overview of the requirements based testing (RBT) process and an overview of CaliberRBT, the tool that supports the RBT process. the intended audience for the paper is project managers, developm...
详细信息
the article provides an overview of the requirements based testing (RBT) process and an overview of CaliberRBT, the tool that supports the RBT process. the intended audience for the paper is project managers, development managers, developers, test managers and test practitioners who are interested in understanding requirements based testing and how it can be applied to their organization.
this paper describes a three-view model for developing object-oriented frameworks, Ve propose a new methodology based on this model, and demonstrate its effectiveness using an example of practical industrial applicati...
详细信息
ISBN:
(纸本)0769512518
this paper describes a three-view model for developing object-oriented frameworks, Ve propose a new methodology based on this model, and demonstrate its effectiveness using an example of practical industrial applications. this model can lead software engineers to a framework that has high reusability, portability, and maintainability. these quality factors of applications are especially important in a domain that has high repeatability and changeability of hardware and software environment. the three-view model consists of a domain analysis view, a layer view, and a mechanism view. the domain analysis view is used to clarify all information and domain knowledge by using a new concept that ive call Domain Reference Models (DRM), which is reference models for modeling domain-specific objects, so that a framework, has high reusability. the layer view is used to divide a framework into three layers that are piled zip vertically: an infrastructure layer, a generic layer, and a domain layer. Because software engineers can replace a part of the framework for restriction oil implementation, the framework has high portability. the mechanism view is used to decide which mechanism of whitebox frame works or blackbox frameworks. By using this guideline, the framework has high maintainability. We applied our approach to the framework development for an industrial monitoring applications. By developing a prototype, ive have a prospect of withdrawing the development costs of the framework, by five or six times of application deployment. In this application, ive estimate several ten times of application deployment. therefore, it is effective for software engineers to develop a framework based on the three-view model.
Modern applications, and especially distributed ones, need flexibility and dynamic evolution. these goals can be partially reached with separation of concerns. However, a static approach is not sufficient when trying ...
详细信息
Modern applications, and especially distributed ones, need flexibility and dynamic evolution. these goals can be partially reached with separation of concerns. However, a static approach is not sufficient when trying to get dynamic adaptation during the application execution-time. We present the JAC (Java Aspect Components) framework that meets dynamic adaptation by using the notions of dynamic wrappers in order to achieve separation of concerns for non-functional programs, and of wrapping controllers to implement the composition of wrappers (maybe coming from different programmers) at wrap-time and at call-time.
We improve current visual component composition environments by introducing composition patterns as first class objects that can be defined, stored and reused independently of the components. We document both componen...
详细信息
We improve current visual component composition environments by introducing composition patterns as first class objects that can be defined, stored and reused independently of the components. We document both components and composition patterns using an extended sequence diagram notation. For a component, typical usage protocols are specified while a composition pattern specifies how a set of roles interact. From this documentation, we check whether a component can work as described by a composition pattern using finite state automata theory and we generate glue-code for the composition. In this paper we present our approach, explain the checking algorithm and glue code generation and discuss the tool support we developed.
the EiffelCOM wizard allows Eiffel developers to easily create new COM components and also reuse the existing ones. the development of the EiffelCOM wizard has required defining the Eiffel binding for COM. the binding...
详细信息
the EiffelCOM wizard allows Eiffel developers to easily create new COM components and also reuse the existing ones. the development of the EiffelCOM wizard has required defining the Eiffel binding for COM. the binding needs to preserve the simplicity and consistency of the Eiffel language and should be easy to use. this article describes the choices that EiffelCOM development team has made during the development of the EiffelCOM wizard.
Reliability is a key concern in the current state of software industry. Producing software without defects is still very difficult. therefore it is crucial to benefit from high-level language mechanisms such as assert...
详细信息
Reliability is a key concern in the current state of software industry. Producing software without defects is still very difficult. therefore it is crucial to benefit from high-level language mechanisms such as assertions. Nevertheless contracts are mostly a specificity of the Eiffel language. this observation convinced ISE to build a new product, the Contract Wizard, which aims at providing .NET developers withthe ability to add contracts to a .NET assembly independently from the .NET language it was initially written in. the paper first gives an overview of the existing implementation of Design by Contract in various programming languages. It then explains how the new ISE Contract Wizard works by providing a guided tour of the product.
Compared to dynamic object-oriented languages like CommonLisp or Smalltalk, Java has a fairly simple and restrictive object and type system. Some of the key differences between Java and these other languages are that ...
详细信息
Compared to dynamic object-oriented languages like CommonLisp or Smalltalk, Java has a fairly simple and restrictive object and type system. Some of the key differences between Java and these other languages are that they offer structural conformance, automatic delegation and dynamic mix-ins. When such constructs are needed in a language like Java, they are usually expressed in terms of standard object-oriented design patterns, requiring the manual implementation of "glue" or "helper" classes. this paper describes ways in which such features can be provided efficiently and automatically in terms of Java's platform-independent binary format and dynamic loading mechanisms. the implementation does not require any changes to the Java runtime environment, byte-codes or class loader, and it yields a performance that is comparable to manually implemented design patterns. the approach should prove useful both as a programming tool for Java and as a strategy for building efficient implementations of dynamic languages on top of the Java Virtual Machine.
Design by contract can be seen as an advanced software engineering technique for building quality software in a professional environment or as a fundamental programming concept, useful even for elementary programming....
详细信息
Design by contract can be seen as an advanced software engineering technique for building quality software in a professional environment or as a fundamental programming concept, useful even for elementary programming. If design by contract is an afterthought, sophisticated tool support, with macros, preprocessors or patterns is acceptable. If it is to be used from the very first programs, it must not be yet another difficult obstacle to the novice programmer. this point of view seems to recommend Eiffel as the sole vehicle for the early introduction of design by contract. However, compromises are possible, if your organization mandates C++, for example. For design by contract in C++ we use a class template, Assertions , which is inherited by the classes we are specifying. this class handles preconditions, postconditions and class invariants, and supports the "old" notation. the assertions themselves are not difficult to implement but the "old" notation, which is necessary in order to compare the value of an attribute in a postcondition with its value at an earlier stage in the function, raises interesting issues. In most common situations, using the assertions is straightforward. there are, however, more rare cases involving inheritance and recursion that must be handled with a discipline.
As the Internet is fast becoming a network of variety types of content accessed by a multitude of devices as well as the personal computer, software and systems design is beginning to once again change dramatically. W...
详细信息
As the Internet is fast becoming a network of variety types of content accessed by a multitude of devices as well as the personal computer, software and systems design is beginning to once again change dramatically. We explore the state of content and architecture on the Internet, where it is today and where it is going. Subsequently, we introduce the concept of the presentation server and its role as the fourth-tier in a scalable, reliable, and flexible back-end solution for the Internet. We discuss data, audio, and visuals as the content of a given system on the Internet. We also discuss the capabilities required from the next generation clients to this content. Furthermore, we discuss the four-tier architecture, the role of the presentation server within this four-tier architecture, and the responsibilities of a presentation server. Finally, we look at the benefits of the four-tier architecture, some specific implementation possibilities, and how it fits within the Internet as we know it today.
暂无评论