software design patterns are abstract descriptions of best practice solutions for recurring design problems. The information about which design pattern is implemented where in a softwaredesign is very helpful and imp...
详细信息
ISBN:
(纸本)9781479915668;9781479915682
software design patterns are abstract descriptions of best practice solutions for recurring design problems. The information about which design pattern is implemented where in a softwaredesign is very helpful and important for software maintenance and evolution. This information is usually lost due to poor, obsolete or lack of documentation, which raises the importance of automatic recognition techniques. However, their vague and abstract nature allows them to be implemented in various ways, which gives them resistance to be automatically and accurately recognized. This paper presents the first recognition approach to be solely based on machine learning methods. We build a training dataset by using several existing recognition tools and we use feature selection methods to select the input feature vectors. Artificial neural networks are then trained to perform the whole recognition process. Our approach is evaluated by conducting an experiment to recognize six designpatterns in an open source application.
The emergence of interactive surfaces and technologies able to differentiate users allows the design and development of Identity-Aware (IA) interfaces, a new and richer set of user interfaces (UIs). Such user interfac...
详细信息
ISBN:
(纸本)9781450321389
The emergence of interactive surfaces and technologies able to differentiate users allows the design and development of Identity-Aware (IA) interfaces, a new and richer set of user interfaces (UIs). Such user interfaces are able to adapt their behavior depending on who is interacting. However, existing implementations, mostly as software toolkits, are still ad-hoc and mostly based on existing GUI toolkits which are not designed to support user differentiation. The problem is that the development of IA interfaces is more complex than the development of traditional UIs and still requires extra programming efforts. To address these issues, we present a set of implementation models, named IOWAState models, to specify the behavior as state machines, the architecture and the components of IA interfaces. In addition, based on our IOWAState models and a classification of IA user interfaces, we detail a set of designpatterns to implement the behavior of IA user interfaces.
Due to the long life cycles of aircraft their avionics systems usually have to be maintained and upgraded extensively. In order to support these operational requirements and possible product variants during the develo...
详细信息
ISBN:
(纸本)9781467331074
Due to the long life cycles of aircraft their avionics systems usually have to be maintained and upgraded extensively. In order to support these operational requirements and possible product variants during the development, appropriate design techniques are needed. For the correct transfer of requirements to software architecture and software detailed design the syntactic and semantic gap between the requirements specification and the follow-up development steps needs to be minimized. Literature survey shows that there is a lack of such a requirements methodology. Therefore, this paper collects a catalogue of requirements patterns that meet the special demands for the development of avionics systems and are induced from established software design patterns. Applying these in a typical avionics system development project demonstrates their benefit and also highlights the way ahead.
software design patterns describe recurring design problems and provide the essence of best practice solutions. It is useful and important, for various software engineering tasks, to know which design pattern is imple...
详细信息
ISBN:
(纸本)9781479929733
software design patterns describe recurring design problems and provide the essence of best practice solutions. It is useful and important, for various software engineering tasks, to know which design pattern is implemented where in a softwaredesign. However, this information is often lost due to poor or absent documentation, and so accurate recognition tools are required. The problem is that designpatterns, given their abstract and vague nature, have a level of resistance to be automatically and accurately recognized. Although this vagueness or fuzziness can be captured and modelled by the fuzzy inference system, it has not yet been applied to solve this problem. This paper fills this gap by proposing an approach for design pattern recognition based on Adaptive Neuro Fuzzy Inference System. Our approach consists of two phases: space reduction phase and design pattern recognition phase. Both phases are implemented by ANFIS. We evaluate the approach by an experiment conducted to recognize six designpatterns in an open source application. The results show that the approach is viable and promising.
Real-Time Systems have some characteristics that make them particularly sensitive to architectural decisions. The use of Frameworks and Components has proven effective in improving productivity and software quality, e...
详细信息
Real-Time Systems have some characteristics that make them particularly sensitive to architectural decisions. The use of Frameworks and Components has proven effective in improving productivity and software quality, especially when combined with software Product Line approaches. However, the results in terms of software reuse and standardization make the lack of portability of both the design and component-based implementations clear. This article, based on the Model-Driven software Development paradigm, presents an approach that separates the component-based description of real-time applications from their possible implementations on different platforms. This separation is supported by the automatic integration of the code obtained from the input models into object-oriented frameworks. The article also details the architectural decisions taken in the implementation of one of such frameworks, which is used as a case study to illustrate the proposed approach. Finally, a comparison with other alternative approaches is made in terms of development cost.
Modular frameworks for crop modelling have evolved through simultaneous progress in crop science and software development but differences among these frameworks exist which are not well understood, resulting in potent...
详细信息
Modular frameworks for crop modelling have evolved through simultaneous progress in crop science and software development but differences among these frameworks exist which are not well understood, resulting in potential misuse for crop modelling. In this paper we review differences and similarities among different developed frameworks and identify some implications for crop modelling. We consider three modelling frameworks currently used for crop modelling: CROSPAL (CROp Simulator: Picking and Assembling Libraries), APES (Agricultural Production and Externalities Simulator) and APSIM (Agricultural Production Systems sIMulator). The frameworks are implemented differently and they provide more or less flexibility and guidance, to facilitate assembly of crop model from model components. We underline the importance of systematic approaches to facilitate the selection of appropriate model structure and derive suggestions to facilitate it. We particularly stress the need for better documentation of the underlying assumptions of the modules on simulated processes and on the criteria applied in the selection of these modules for a particular simulation objective. Such documentation should help to point out the sources of uncertainties associated with the development of crop models and to reinforce the role of the crop modeller as an intermediary between the software engineer, coding the modules, and the end users, agronomists or crop physiologists using the model for a specific objective. Finally, the key contributions of modelling frameworks in the crop modelling domain are discussed and we draw conclusions for the prospects of such frameworks in the crop modelling field which should continue to reside on the principles of systems analysis but combined with up-to-date advances in software engineering techniques. (C) 2012 Elsevier Ltd. All rights reserved.
designpatterns have been used successfully to build well-organized, flexible software systems. In the reverse engineering field, detecting designpatterns can simplify program comprehension by providing clues about t...
详细信息
ISBN:
(纸本)9780769547367
designpatterns have been used successfully to build well-organized, flexible software systems. In the reverse engineering field, detecting designpatterns can simplify program comprehension by providing clues about the rationale behind the system's design. However, the precision and recall of existing approaches to design pattern detection leave room for improvement. In this paper, we introduce a novel technique called FiG that complements existing detection methods by utilizing fine-grained static information contained in the software system. Our approach filters a large number of false positives by utilizing fine-grained rules that describe the static structure of a design pattern. We have implemented our approach in the context of the Eiffel programming language. Several experiments were performed to determine the effectiveness of the proposed approach.
The aim of this paper is to provide guidelines for developing high-quality, well-written GNSS software receivers. The systematic application of software design patterns and programming methodologies speeds up the deve...
详细信息
ISBN:
(纸本)9781424487417
The aim of this paper is to provide guidelines for developing high-quality, well-written GNSS software receivers. The systematic application of software design patterns and programming methodologies speeds up the development process by providing tested, proven development paradigms, and improved code readability for coders, receiver architects, and users. This includes unit testing of all the modules, and the use of a code programming style stressing readability and language-specific conventions. All these good practices result in fewer bugs, reduce reinvention-of-the-wheel, and cut long-term maintenance costs. The paper provides an analysis of design patters, good coding practices, and methodologies for the design and implementation of GNSS software receivers, describing a working implementation released under the GNU General Public License.
This paper presents an object-oriented world model for the road traffic environment of autonomous (driverless) city vehicles. The developed World Model is a software component of the autonomous vehicle's control s...
详细信息
ISBN:
(纸本)9781424478668
This paper presents an object-oriented world model for the road traffic environment of autonomous (driverless) city vehicles. The developed World Model is a software component of the autonomous vehicle's control system, which represents the vehicle's view of its road environment. Regardless whether the information is a priori known, obtained through on-board sensors, or through communication, the World Model stores and updates information in real-time, notifies the decision making subsystem about relevant events, and provides access to its stored information. The design is based on software design patterns, and its application programming interface provides both asynchronous and synchronous access to its information. Experimental results of both a 3D simulation and real-world experiments show that the approach is applicable and real-time capable.
Behavior-based systems form the basis of autonomous control for many robots. In this article, we demonstrate that a single software framework can be used to represent many existing behavior based approaches. The unifi...
详细信息
Behavior-based systems form the basis of autonomous control for many robots. In this article, we demonstrate that a single software framework can be used to represent many existing behavior based approaches. The unified behavior framework presented, incorporates the critical ideas and concepts of the existing reactive controllers. Additionally, the modular design of the behavior framework: (1) simplifies development and testing;(2) promotes the reuse of code;(3) supports designs that scale easily into large hierarchies while restricting code complexity;and (4) allows the behavior based system developer the freedom to use the behavior system they feel will function the best. When a hybrid or three layer control architecture includes the unified behavior framework, a common interface is shared by all behaviors, leaving the higher order planning and sequencing elements free to interchange behaviors during execution to achieve high level goals and plans. The framework's ability to compose structures from independent elements encourages experimentation and reuse while isolating the scope of troubleshooting to the behavior composition. The ability to use elemental components to build and evaluate behavior structures is demonstrated using the Robocode simulation environment. Additionally, the ability of a reactive controller to change its active behavior during execution is shown in a goal seeking robot implementation.
暂无评论