Highly dynamic data collections are often represented by linked data structures, that is, linked lists, trees etc. Inserting into, and deleting from lists and trees are frequent fictions while performing search-and-up...
详细信息
ISBN:
(纸本)9789634639251
Highly dynamic data collections are often represented by linked data structures, that is, linked lists, trees etc. Inserting into, and deleting from lists and trees are frequent fictions while performing search-and-update operations on these data structures. In this paper we consider some non-recursive variants of these operations, and develop effective and simple implementations of them. the indirect pointers will be used to implement and simplify the operations on the data structures, and not for the representation of the data structures. In this way, our approach basicly differs form that of other works.
In the last two years a significant paradigm change started in the Budapest R&D unit of Nokia. To improve flexibility and productivity the SCRUM methodology was piloted by a development team in the fall of 2005. S...
详细信息
ISBN:
(纸本)9789634639251
In the last two years a significant paradigm change started in the Budapest R&D unit of Nokia. To improve flexibility and productivity the SCRUM methodology was piloted by a development team in the fall of 2005. Since that more and more teams started to apply SCRUM for their daily work. SCRUM is method for managing software development. It has revolutionary values that aim to produce working software in small iteration while keeping the customer and quality in focus. If applied correctly the methodology provides a framework for developers to achieve the best performance. Introduction of a new way of working in a multinational environment has several difficulties. the presentation aims to briefly introduce the history of SCRUM and Agile software development in the Budapest R&D.
In this paper we present ongoing research on formal specification of the C++ Standard Template Library. Our goal is to embed the STL datatypes and their operations into a system that is used to produce formally verifi...
详细信息
ISBN:
(纸本)9789634639251
In this paper we present ongoing research on formal specification of the C++ Standard Template Library. Our goal is to embed the STL datatypes and their operations into a system that is used to produce formally verified code. From the point of view of the C++ programmers such a tool is a great help when one writes safety critical applications. On the other hand, integration of well-known libraries makes formal methods more useful and more attractive. We discuss possibilities of specifying basic operations of STL containers and iterators. We introduce a simple solution which can already be used to implement a wide range of algorithms. We also point out the limitations of that model and touch the core ideas of a possible improvement.
We propose a simple middleware architecture for mobile devices. the architecture is based on nodes and streams. In a REST-like way, the nodes only provide standard operations for control. Several middleware solutions ...
详细信息
ISBN:
(纸本)9789634639251
We propose a simple middleware architecture for mobile devices. the architecture is based on nodes and streams. In a REST-like way, the nodes only provide standard operations for control. Several middleware solutions have been created for developing distributed software. However, the existing solutions do not suit well for use in embedded or mobile devices. By specifically targeting the design of the middleware to mobile domain we can focus on the most relevant issues and still keep the design of the infrastructure simple, and thus allowing the components to be implemented in software or hardware. the proposed infrastructure causes a change to the programming paradigm making it more suitable for component-oriented development.
the functional programming language Clean has an extensive library, viz. the Object I/O library, to build applications with graphical user interface. Furthermore, Clean has a dedicated theorem prover, the Sparkle syst...
详细信息
ISBN:
(纸本)9789634639251
the functional programming language Clean has an extensive library, viz. the Object I/O library, to build applications with graphical user interface. Furthermore, Clean has a dedicated theorem prover, the Sparkle system;this system can be used to prepare machine-verified proofs for Clean programs. the Object I/O library is very complex, and it is based on the uniqueness type system. For this reason Sparkle cannot handle Object I/O programs directly. However, creating machine-verified proofs for such Clean programs might be accomplished in a simplified Object I/O model, in one which is manageable by Sparkle. this paper presents such a model, describes some of its properties, and illustrates the use of this model through a simple example.
Service-Oriented Architecture (SOA) has been rapidly and widely adopted in software companies and in IT sector in general. Migrating existing software systems to SOA is a challenge many companies are currently facing....
详细信息
ISBN:
(纸本)9789634639251
Service-Oriented Architecture (SOA) has been rapidly and widely adopted in software companies and in IT sector in general. Migrating existing software systems to SOA is a challenge many companies are currently facing. the more SOA has been adopted and realized using various techniques, the more often a new challenge, namely, how to integrate two SOA-based systems, is encountered. In this paper we discuss the challenges related to SOA-to-SOA integration, based on the experiences we have gained in a practical case study. these challenges can relate to e.g. service descriptions, communication mechanisms, and service composition techniques. We propose an approach, relying on use of UML profiles, as an aid for managing such integration projects.
this paper focuses on introducing a new transformation to our existing model for refactoring Erlang programs. the goal of the transformation is to introduce a new abstraction level in data representation by substituti...
详细信息
ISBN:
(纸本)9789634639251
this paper focuses on introducing a new transformation to our existing model for refactoring Erlang programs. the goal of the transformation is to introduce a new abstraction level in data representation by substituting a group of related data with a record. Using record types enhances the legibility of the source code, makes further development easier, and makes programs less error prone by providing better possibilities for both compile time and run time checks. Erlang is a dynamically typed language, and many of its semantical rules are also dynamic. therefore the main challenge in this research is to ensure the safety of statically performed refactoring steps. the paper analyses the possibilities of transforming tuples to records via examples. there is a strong industrial demand for such a transformation in refactoring legacy code.
Template metaprogramming (TMP) is an emerging new direction in C++ programming for executing algorithms in compilation time. Despite all of its already proven benefits, and numerous successful applications, TMP is yet...
详细信息
ISBN:
(纸本)9789634639251
Template metaprogramming (TMP) is an emerging new direction in C++ programming for executing algorithms in compilation time. Despite all of its already proven benefits, and numerous successful applications, TMP is yet to become an accepted technique in industrial projects. One reason is the lack of professional softwaretools supporting the development of template metaprograms. On the other hand, a strong analogue between traditional runtime programs and compile-time metaprograms presents the possibility for creating development tools similar to those already used when writing runtime programs. this paper presents two methods for metaprogram profiling. Firstly, Templight, a debugging and profiling framework is introduced. the framework reveals the steps executed by the compiler during the compilation of C++ programs with templates. thus Templight is capable of adding times-tamps to template instantiations, and measuring their times. the second method uses compiler modification acquiring instantiation profiling data from the compiler itself.
In order to realize the time-to-market needs of an information system, it is essential that integration of existing applications is reasonably utilized. In addition, flexibility and maintainability, as well as increme...
详细信息
ISBN:
(纸本)9789634639251
In order to realize the time-to-market needs of an information system, it is essential that integration of existing applications is reasonably utilized. In addition, flexibility and maintainability, as well as incremental development are typical requirements for software architectures, led from the typical business and marketing needs. To succeed in fulfilling these requirements, various architectural viewpoints must be taken into consideration. these include the location and granularity of business logic, as well as simplicity and loose coupling in the architecture. In this paper, the main focus is in integration of applications in a maintainable and flexible way that supports incremental development. We consider our agent based software architecture style, and show how higher level of abstraction in dependencies, as well as relocation of the strategic business logic to agents, provides a feasible solution to the above-mentioned needs. To validate the approach, we have implemented a framework for agents and used it to create the architecture for a process support environment.
Several tools are published in the literature which are able to mine design patterns from source code. Because a common test database - a benchmark - is not available, the accuracy of the tools is difficult to check a...
详细信息
ISBN:
(纸本)9789634639251
Several tools are published in the literature which are able to mine design patterns from source code. Because a common test database - a benchmark - is not available, the accuracy of the tools is difficult to check and measuring any kind of improvements on the tools is also problematic. As an all-in-one solution we have developed a benchmark for evaluating and comparing design pattern miner tools, and for ensuring a test database for them. In this paper we present some experiments performed withthe benchmark. Two design pattern miner tools - Columbus and Maisa - are evaluated and compared. the tools are evaluated on C++ reference implementations of design patterns and on a real software system called NotePad++. Design pattern instances from NotePad++ recovered by professional software developers are also added to the benchmark.
暂无评论