The principles and best practices of objectoriented design require that modules in a program should match logical decomposition of the knowledge that the program implements. The violation of these modularization rule...
详细信息
ISBN:
(纸本)9780769551982
The principles and best practices of objectoriented design require that modules in a program should match logical decomposition of the knowledge that the program implements. The violation of these modularization rules leads to several undesired consequences: (i) non-cohesive modules that mix different kinds of knowledge and (ii) logically coupled modules due to a dispersion of conceptually cohesive knowledge. In this paper, we use domain knowledge driven program analysis to detect and characterize discrepancies between the structural modularization of programs and the conceptual decomposition of the implemented knowledge. We characterize the mismatches at the levels of granularity of packages and classes and present their impact on different maintenance activities. The presented approach includes a technique for automating the recovery of mappings between the different categories of knowledge used in the program and the modules that implement them. We briefly present our experience with analyzing JHotDraw.
Aspect orientedprogramming is a new paradigm it builds on the bases on objectoriented approach. It aims at reduction of code and to provide higher cohesion. Testing aspect oriented programs may be more difficult tha...
详细信息
Aspect orientedprogramming is a new paradigm it builds on the bases on objectoriented approach. It aims at reduction of code and to provide higher cohesion. Testing aspect oriented programs may be more difficult than traditional ones, due to the large impact that aspects have on the static structure and dynamic behavior of the overall system. Aspects may be sources for failures due to new kinds of faults in their code, by affecting the overall quality of the system. New testing approaches and criteria, taking into account the aspect-oriented constructs, are needed to capture the new kind of program failures. In this paper we analyze the testing strategies of AOP. Four testing strategies have been examined and their effectiveness is measured in terms of their ability to find different kind of faults as described in a fault model. Based on this analysis, conclusions have been drawn about the current state of the research in the testing of aspect oriented programs and future directions have been explored.
Network protocols are complex systems implemented by collections of equally complex software components. In many cases, the realization of such protocols requires extensive prototyping and experimentation with differe...
详细信息
Network protocols are complex systems implemented by collections of equally complex software components. In many cases, the realization of such protocols requires extensive prototyping and experimentation with different alternative *** this paper, we present ProtoTalk, a generative, domain-specific software framework that utilizes model driven software engineering principles for prototyping state and message driven protocols with emphasis on telecommunication and network protocols. The framework allows first, for modeling a variety of common protocol features by using mappings from state machines, sequence diagrams and packet encodings to ProtoTalk models, and second, for the consequent automatic generation of prototype Smalltalk code from the aforementioned ProtoTalk models. In this respect, the paper attempts to shed light on the use of generative model driven programming techniques within reflective object oriented programming languages and environments. As a proof of concept, we have specified in ProtoTalk and consequently generated in Smalltalk, several core features of the session initiation protocol.
This paper analyses new conditions of software functioning and demands caused by these conditions. To satisfy the demands and to allow software developers to work on a higher level of software engineering instead of s...
详细信息
This paper analyses new conditions of software functioning and demands caused by these conditions. To satisfy the demands and to allow software developers to work on a higher level of software engineering instead of simply following the craft of software development, we consider such theoretical models of software and hardware systems as grid automata and structural, interaction and computational schemas. Operations with grid automata and schemas represent operations in software design and maintenance.
object-oriented (OO) software techniques gradually replace procedure-orientedprogramming as the mainstream in software industry, but the cost of test and maintenance of OO software does not reduce. In this paper we p...
详细信息
object-oriented (OO) software techniques gradually replace procedure-orientedprogramming as the mainstream in software industry, but the cost of test and maintenance of OO software does not reduce. In this paper we propose a novel technique using the profile and UML state diagrams with FP criteria. The novel technique is that all classes in a system are divided into different grades according to integrated values (frequency and significance) and then the methods that obtain the highest integrated value generate test cases from UML state diagrams. This technique includes full predicate (FP) coverage criteria that enable highly effective tests to be developed. To demonstrate this technique, we compare the novel technique with only using UML state diagrams testing all methods. The results prove the approach is efficient for object-oriented software systems, and find faults that are difficult to find in other ways and reduce the cost of testing dramatically.
The literature does not report a complete design methodology for WSN applications integrating all these aspects. The proposed methodology allows programmers to write WSN applications by using the system description la...
详细信息
The literature does not report a complete design methodology for WSN applications integrating all these aspects. The proposed methodology allows programmers to write WSN applications by using the system description language SystemC and the Abstract Middleware Environment (AME) framework for fast simulation. 1). AME behaves as an abstraction of the services provided by the actual platform, e.g., ZigBee profiles. The SystemC framework allows to model and simulate concurrent processing, synchronization, and communication. Finally, the implemented application is automatically mapped over an actual platform.
A new data structure for the implementation of temporal geographic information systems is presented. This data structure, based on Kantabutra's ILE database management system, treats both time and place as first-c...
详细信息
A new data structure for the implementation of temporal geographic information systems is presented. This data structure, based on Kantabutra's ILE database management system, treats both time and place as first-class citizens and utilizes direct linkages among entities that are related to each other. The suggested data structure supports naturally the three types of queries suggested by Peuquet as queries that a temporal GIS database should be able to answer.
This paper describes a new modeling system - Simio TM - that is designed to simplify model building by promoting a modeling paradigm shift from the process orientation to an object orientation. Simio is a simulation m...
详细信息
ISBN:
(纸本)9781424457717
This paper describes a new modeling system - Simio TM - that is designed to simplify model building by promoting a modeling paradigm shift from the process orientation to an object orientation. Simio is a simulation modeling framework based on intelligent objects. The intelligent objects are built by modelers and then may be reused in multiple modeling projects. Although the Simio framework is focused on object-based modeling, it also supports a seamless use of multiple modeling paradigms including event, process, object, and agent-based modeling.
The main problem of enterprise application evolution is how to capture requirements and then propagate requirement changes to application. Effectively evolving enterprise application with the frequently changing requi...
详细信息
ISBN:
(纸本)9781424449934
The main problem of enterprise application evolution is how to capture requirements and then propagate requirement changes to application. Effectively evolving enterprise application with the frequently changing requirements is still a challenge to software engineering. Requirement is the root causes of evolution of enterprise applications in many cases. Refactoring has given guidance to gradual evolution of object-oriented software. This paper presents a tool - Revolution2 - for designer to evolve enterprise applications. The tool is implemented based on a requirement-driven approach which uses refined use cases to capture the requirements and changes, and propagates the changes through refactoring mappings between requirements and models. The tool helps to effectively maintain model and other parts of the application, which smoothes the evolution process of enterprise applications.
Incorporating components from a number of different sources into a given application is generally considered to be a non-trivial activity. Over the years, various coordination mechanisms have been proposed to tackle t...
详细信息
ISBN:
(纸本)9781424437689
Incorporating components from a number of different sources into a given application is generally considered to be a non-trivial activity. Over the years, various coordination mechanisms have been proposed to tackle this problem. However, even today, the question remains how to best link these coordination mechanisms with an underlying programming paradigm without loosing flexibility. A suitable technique to address this issue is language composition, enabling us to "fine-tune" a programming language on demand. In this compositional approach, we can add new features to the language as we go, within user-defined regions, and without polluting the underlying paradigm as a whole. To test the effectiveness of this technique, we explore a small stream processing framework and its corresponding coordination abstractions in this paper. More precisely, we report on our insights into using GLoo, a functional composition language, for the definition of extensible coordination abstractions that, through the composition of the concepts proxy, method pointer, and Pernici's "objects with roles" constitute, collectively, an attractive means to capture and denote inter-component interactions in a user-centric and domain-specific way.
暂无评论