112,946 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

    Compositional Performance Modelling with the TIPPtool

    Get PDF
    Stochastic process algebras have been proposed as compositional specification formalisms for performance models. In this paper, we describe a tool which aims at realising all beneficial aspects of compositional performance modelling, the TIPPtool. It incorporates methods for compositional specification as well as solution, based on state-of-the-art techniques, and wrapped in a user-friendly graphical front end. Apart from highlighting the general benefits of the tool, we also discuss some lessons learned during development and application of the TIPPtool. A non-trivial model of a real life communication system serves as a case study to illustrate benefits and limitations

    Soft systems methodology analysis for scoping in environmental impact statement in Israel

    Get PDF
    The current working paper will focus on Soft System Methodology (SSM) analysis of the process of issuing guidelines for Environmental Impact Statements (EIS) to developers in the Israeli context. The paper’s goal is to make the reader familiar with the terminology and the concepts of SSM, while serving as a case study for practising SSM. The paper starts with a “crash” introduction to SSM, followed by a general description of the process in the centre of the discussion - the Israeli EIS process. After these two introductory sections, the paper turns to the main issue - a SSM analysis of the problem situation - the creation of guidelines for EIS in the Israeli context. This specific case study have been selected due to the author’s familiarity with it (is served as the main research field for his MA thesis). Also the author has the shorthand transcripts from a series workshops that were held as part of an evaluation study that the environmental planning department in the ministry of environment (EPD-MoE) have commissioned on the Israeli EIS system. Unless stated otherwise, the sources for SSM are “Information Systems Development: Methodologies, Techniques and Tools” (Avison and Fitzgerald, 1995), “Practical Soft Systems Analysis” (Patching, 1990), on-line lecture notes for the UCL “System Analysis and Design” course (Sasse and Fultun, 1997) and “Soft Systems Methodology: An Alternative Approach to Knowledge Elicitation in Complex and Poorly Defined Systems” (Finegan, 1994)

    Subtyping for Hierarchical, Reconfigurable Petri Nets

    Full text link
    Hierarchical Petri nets allow a more abstract view and reconfigurable Petri nets model dynamic structural adaptation. In this contribution we present the combination of reconfigurable Petri nets and hierarchical Petri nets yielding hierarchical structure for reconfigurable Petri nets. Hierarchies are established by substituting transitions by subnets. These subnets are themselves reconfigurable, so they are supplied with their own set of rules. Moreover, global rules that can be applied in all of the net, are provided

    Van Kampen Colimits and Path Uniqueness

    Full text link
    Fibred semantics is the foundation of the model-instance pattern of software engineering. Software models can often be formalized as objects of presheaf topoi, i.e, categories of objects that can be represented as algebras as well as coalgebras, e.g., the category of directed graphs. Multimodeling requires to construct colimits of models, decomposition is given by pullback. Compositionality requires an exact interplay of these operations, i.e., diagrams must enjoy the Van Kampen property. However, checking the validity of the Van Kampen property algorithmically based on its definition is often impossible. In this paper we state a necessary and sufficient yet efficiently checkable condition for the Van Kampen property to hold in presheaf topoi. It is based on a uniqueness property of path-like structures within the defining congruence classes that make up the colimiting cocone of the models. We thus add to the statement "Being Van Kampen is a Universal Property" by Heindel and Soboci\'{n}ski the fact that the Van Kampen property reveals a presheaf-based structural uniqueness feature
    • 

    corecore