4,374 research outputs found

    A heuristic-based approach to code-smell detection

    Get PDF
    Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache

    The Requirements Editor RED

    Get PDF

    Trusted product lines

    Get PDF
    This thesis describes research undertaken into the application of software product line approaches to the development of high-integrity, embedded real-time software systems that are subject to regulatory approval/certification. The motivation for the research arose from a real business need to reduce cost and lead time of aerospace software development projects. The thesis hypothesis can be summarised as follows: It is feasible to construct product line models that allow the specification of required behaviour within a reference architecture that can be transformed into an effective product implementation, whilst enabling suitable supporting evidence for certification to be produced. The research concentrates on the following four main areas: 1. Construction of an argument framework in which the application of product line techniques to high-integrity software development can be assessed and critically reviewed. 2. Definition of a product-line reference architecture that can host components containing variation. 3. Design of model transformations that can automatically instantiate products from a set of components hosted within the reference architecture. 4. Identification of verification approaches that may provide evidence that the transformations designed in step 3 above preserve properties of interest from the product line model into the product instantiations. Together, these areas form the basis of an approach we term “Trusted Product Lines”. The approach has been evaluated and validated by deployment on a real aerospace project; the approach has been used to produce DO-178B/ED-12B Level A applications of over 300 KSLOC in size. The effect of this approach on the software development process has been critically evaluated in this thesis, both quantitatively (in terms of cost and relative size of process phases) and qualitatively (in terms of software quality). The “Trusted Product Lines” approach, as described within the thesis, shows how product line approaches can be applied to high-integrity software development, and how certification evidence created and arguments constructed for products instantiated from the product line. To the best of our knowledge, the development and effective application of product line techniques in a certification environment is novel and unique

    Workshop on Modelling of Objects, Components, and Agents, Aarhus, Denmark, August 27-28, 2001

    Get PDF
    This booklet contains the proceedings of the workshop Modelling of Objects, Components, and Agents (MOCA'01), August 27-28, 2001. The workshop is organised by the CPN group at the Department of Computer Science, University of Aarhus, Denmark and the "Theoretical Foundations of Computer Science" Group at the University of Hamburg, Germany. The papers are also available in electronic form via the web pages: http://www.daimi.au.dk/CPnets/workshop01

    Strong contracts: the relationship between power and action

    Get PDF
    Purpose – There is a view that strong preventative contracts are essential to control supplier opportunism and delivery during an outsourcing implementation. This paper tests the proposition that contractual environments, typical of outsourcing engagements, are essentially conflictual and that context and circumstance can act to overwhelm formal contractual and project control and lead to poor outcomes. Design/methodology/approach – The paper reports on a supply case study focused on the outsourced delivery of an application development in the defence sector. Data was gathered by a participant observation in situ for a period of three years. A grounded analysis from observations, diaries, semi-structured interviews, focus groups, documentary analysis, and emails was carried out with six case organisations within the extended supply chain. Findings – Collaboration between suppliers and buyers can be blocked by preventative fixed price contracts and as a result when requirements are incomplete or vague this adversely impacts success. Implications for practice Strong contractual control focused on compliance may actually impede the potential success of outsourcing contracts especially when collaborative approaches are needed to cope with variability in demand. Originality/value The research raises the important practical and conceptual notion that an outsourcing can be a conflictual inter-firm phenomenon, especially where multiple actors are involved and business uncertainty is present

    Overview of Infrastructure Charging, part 4, IMPROVERAIL Project Deliverable 9, “Improved Data Background to Support Current and Future Infrastructure Charging Systems”

    Get PDF
    Improverail aims are to further support the establishment of railway infrastructure management in accordance with Directive 91/440, as well as the new railway infrastructure directives, by developing the necessary tools for modelling the management of railway infrastructure; by evaluating improved methods for capacity and resources management, which allow the improvement of the Life Cycle Costs (LCC) calculating methods, including elements related to vehicle - infrastructure interaction and external costs; and by improving data background in support of charging for use of railway infrastructure. To achieve these objectives, Improverail is organised along 8 workpackages, with specific objectives, responding to the requirements of the task 2.2.1/10 of the 2nd call made in the 5th RTD Framework Programme in December 1999.This part is the task 7.1 (Review of infrastructure charging systems) to the workpackage 7 (Analysis of the relation between infrastructure cost variation and diversity of infrastructure charging systems).Before explaining the economic characteristics of railway and his basic pricing principles, authors must specify the objectives of railways infrastructure charging.principle of pricing ; rail infrastructure charging ; public service obligation ; rail charging practice ; Europe ; Improverail

    Sustaining a Vertically Disintegrated Network through a Bearer Service Market

    Get PDF
    Based upon the Internet perspective, this chapter will attempt to clarify and revise several ideas about the separation between infrastructure facilities and service offerings in digital communications networks. The key notions that we will focus on in this paper are: i) the bearer service as a technology-independent interface which exports blind network functionality to applications development; ii) the sustainability of an independent market for bearer service and the organizational consequences associated with such a market

    Model Transformation Languages with Modular Information Hiding

    Get PDF
    Model transformations, together with models, form the principal artifacts in model-driven software development. Industrial practitioners report that transformations on larger models quickly get sufficiently large and complex themselves. To alleviate entailed maintenance efforts, this thesis presents a modularity concept with explicit interfaces, complemented by software visualization and clustering techniques. All three approaches are tailored to the specific needs of the transformation domain
    • 

    corecore