|
|
CONTENTS |
PDF |
Editorial
|
PDF |
|
Write a letter to the editor
|
|
|
COLUMNS |
|
Strategic Software Engineering
|
|
|
Attached Processes By John McGregor
|
PDF |
The attached process describes how the core asset is used in the production of products. The attached process is written by the creator of the core asset to which it will be attached. Designing the attached process in parallel with the design of the core asset enhances the usability of the core asset and ensures that the attached process gives correct information, describes the complete asset, and provides information that is consistent with the actual asset.
|
|
Java at Large
|
|
|
The Discrete Fourier Transform, Part 6: Cross-Correlation By Douglas Lyon
|
PDF |
The cross correlation has uses in many fields of scientific endeavor (music, identification of blood flow, astronomical event processing, speech processing, pattern recognition, financial engineering, etc.). One of the basic problems with the term normalization when applied to the cross-correlation is that it is defined in different places differently. For example, Pratt suggests that the number of elements in the normalization (an even a square root) is not needed [Pratt]. Lewis suggests using both the square root and the average [Lewis]. Therefore the question of which normalization to use is application-specific.
|
|
The OOP Scene
|
|
|
Professional Developers Practice their Kata to Stay Sharp By Dave Thomas
|
PDF |
Test First and Refactoring are arguably only possible by leveraging shortcuts. Using the mouse and menus makes it look like a developer is working in slow motion! Imagine if when you get an error in a new test if you were not able to use a shortcut to define a new class or method. It is no surprise that those who don't use two hands and keyboard shortcuts find TDD takes a lot longer and often express great frustration or give up.
|
|
Business Objects
|
|
|
"Architected" Cloud Solutions Revealed
By Mahesh Dodani
|
PDF |
We introduce a safe form of automatic covariant adjustment of the parameters of co-types, to reflect the different expanded types which occur in the subtype hierarchy of the initial expanded type. This potentially spares the programmer from writing such methods explicitly and helps to ensure consistency between co-types which are related via an adjustment hierarchy.
|
Guest column
|
|
Towards a theory and calculus of aliasing
By Bertrand Meyer
|
PDF |
The next and last language level, E2, introduces object-oriented mechanisms. E2 is sufficient powerful to support applying the calculus to a modern object-oriented language such as Eiffel, Java or C#. The relevant part of object technology here is the dynamic object model: dynamic object creation, pointers or references (we will consider the two terms synonymous), and the possibility for objects to contain pointers to other objects. This last facility is the only novelty of E2’s dynamic model, since E0 and E1 already offered the first two.
Other object-oriented mechanisms such as inheritance and genericity have only marginal influence on aliasing.
|
|
Educators's Corner
|
|
|
Darwin's World Simulation in C#: The Model/View Classes
By Richard Wiener
|
PDF |
The important C# programming and software development principles of event handling and model/view separation, use of delegate types as “data” in a dictionary and the construction of a GUI class that listens to events originating in a separate model class thread and using Invoke to protect against a cross-thread exception are all included in this application.
|
|
REFEREED ARTICLES |
A Rule-Driven Approach for composing Viewpoint-oriented Models
By Adil Anwar, Sophie Ebersold, Bernard Coulette, Mahmoud Nassar, and Abdelaziz Kriouile
|
PDF |
The VUML profile was developed to meet the needs of complex systems analysis and design according to various viewpoints. In VUML, a viewpoint represents the perspective from which a given actor interacts with the system. In other words, a viewpoint expresses an actor's requirements and rights. A view is the result of the application of a viewpoint on a given entity of the system.
|
|
Automatic Test Data Synthesis using UML Sequence Diagrams By Ashalatha Nayak and Debasis Samanta
|
PDF |
The goal oriented test data generation procedure is employed to overcome the difficulty of path execution methods in deciding path feasibility. For the selected node in a program known as goal node g, the procedure ¯nds program input so that the node g will be executed irrespective of the path taken. Thus the path selection procedure is eliminated, instead a goal node is selected.
|
|
Converting Relational Databases into Object-relational Databases By Abdelsalam Maatuk, M. Akhtar Ali, and Nick Rossiter
|
PDF |
We propose a method for migrating RDBs into ORDBs. The method comprises three basic steps. In the first step, the method produces a Canonical Data Model (CDM), which is enriched with RDB integrity constraints and data semantics that may not have been explicitly expressed in its metadata. The CDM so obtained is translated into an ORDB schema in the second step. Data conversion is the third step, in which RDB data are converted into their equivalents in the ORDB environment.
|
|
SOA Web Security and Applications
By Raymond Wu, and Masayuki Hisada
|
PDF |
To deal with taint prediction, we propose token based metadata to validate semantic notation. We introduce SOA service bus and token based framing technique as supplementary solutions to strengthen token based architectural foundation. This enables the parser analyzer to isolate semantics from the frame in performing input string validation. In service industry, as componentization and our token based strategy encapsulate robust validation and tracking, point of failure can be precisely identified at transaction level, and business impact can be minimized.
|
|
UML Profiles for Modeling Real-Time Communication Protocols
By Barath Kumar and Juergen Jasperneite
|
PDF |
UML profile for schedulability, Performance and Time (UML/SPT) [OMG05b] is an OMG standard UML profile suitable for modeling and analysis of real-time systems. It is a framework to model resource, time and concurrency concepts, and to support predictive quantitative analysis of UML models by supporting schedulability and performance analysis.
|
|