99,527 research outputs found

    Extended Bridge Software Design Pattern

    Get PDF
    Software engineers are taught that they should separate form and function. This allows a user interface or front-end to be designed and implemented independently of the engine or back-end. Using an abstracted interface class provides the opportunity to develop different user interfaces for the same back-end, as each new user interface will all be derived from this agreed upon abstracted interface. Using the Bridge pattern allows the user to also decouple the abstraction from its implementation, providing additional flexibility as they developed multiple user interfaces. However, user interfaces are typically designed as a single unit, the renderer, even the Bridge pattern refers to it as the ConcreteImplementor. This thesis concentrated on the implementation of the renderer and merged the Bridge pattern with another design pattern, the Presentation Model. The Extended Bridge pattern also includes support for the Single Responsibility principle; a construct that improves upon the Presentation Model by decoupling the logic and the data from the rendering code. In short the Extended Bridge is an object oriented pattern that provides an abstract interface, an abstract implementation with decoupled logic, data and rendering, that is flexible, maintainable, reusable and highly testable

    Java Programming Language

    Get PDF
    The Java seminar covers the fundamentals of Java programming language. No prior programming experience is required for participation in the seminar. The first part of the seminar covers introductory concepts in Java programming including data types (integer, character, ..), operators, functions and constants, casts, input, output, control flow, scope, conditional statements, and arrays. Furthermore, introduction to Object-Oriented programming in Java, relationships between classes, using packages, constructors, private data and methods, final instance fields, static fields and methods, and overloading are explained. The second part of the seminar covers extending classes, inheritance hierarchies, polymorphism, dynamic binding, abstract classes, protected access. The seminar conclude by introducing interfaces, properties of interfaces, interfaces and abstract classes, interfaces and cailbacks, basics of event handling, user interface components with swing, applet basics, converting applications to applets, the applet HTML tags and attributes, exceptions and debugging

    Automatic extraction of heap reference properties in object-oriented programs

    Get PDF
    We present a new technique for helping developers understand heap referencing properties of object-oriented programs and how the actions of the program affect these properties. Our dynamic analysis uses the aliasing properties of objects to synthesize a set of roles; each role represents an abstract object state intended to be of interest to the developer. We allow the developer to customize the analysis to explore the object states and behavior of the program at multiple different and potentially complementary levels of abstraction. The analysis uses roles as the basis for three abstractions: role transition diagrams, which present the observed transitions between roles and the methods responsible for the transitions; role relationship diagrams, which present the observed referencing relationships between objects playing different roles; and enhanced method interfaces, which present the observed roles of method parameters. Together, these abstractions provide useful information about important object and data structure properties and how the actions of the program affect these properties. We have implemented the role analysis and have used this implementation to explore the behavior of several Java programs. Our experience indicates that, when combined with a powerful graphical user interface, roles are a useful abstraction for helping developers explore and understand the behavior of object-oriented programs

    Bridging the gap: building better tools for game development

    Get PDF
    The following thesis is about questioning how we design game making tools, and how developers may build easier tools to use. It is about the highlighting the inadequacies of current game making programs as well as introducing Goal-Oriented Design as a possible solution. It is also about the processes of digital product development, and reflecting on the necessity for both design and development methods to work cohesively for meaningful results. Interaction Design is in essence the abstracting of key relations that matter to the contextual environment. The result of attempting to tie the Interaction Design principles, Game Design issues together with Software Development practices has led to the production of the User-Centred game engine, PlayBoard

    Architecture of collaborating frameworks: simulation, visualisation, user interface and analysis

    Get PDF
    The Anaphe project is an ongoing effort to provide an Object Oriented software environment for data analysis in HENP experiments. A range of commercial and public domain libraries is used to cover basic functionalities; on top of these libraries a set of HENP-specific C++ class libraries for histogram management, fitting, plotting and ntuple-like data analysis has been developed. In order to comply with the user requirements for a command-line driven tool, we have chosen to use a scripting language (Python) as the front-end for a data analysis tool. The loose coupling provided by the consequent use of (AIDA compliant) Abstract Interfaces for each component in combination with the use of shared libraries for their implementation provides an easy integration of existing libraries into modern scripting languages thus allowing for rapid application development. This integration is simplified even further using a specialised toolkit (SWIG) to create "shadow classes" for the Python language, which map the definitions of the Abstract Interfaces almost at a one-to-one level. This paper will give an overview of the architecture and design choices and will present the current status and future developments of the project

    Experiences modelling and using object-oriented telecommunication service frameworks in SDL

    Get PDF
    This paper describes experiences in using SDL and its associated tools to create telecommunication services by producing and specialising object-oriented frameworks. The chosen approach recognises the need for the rapid creation of validated telecommunication services. It introduces two stages to service creation. Firstly a software expert produces a service framework, and secondly a telecommunications ‘business consultant' specialises the framework by means of graphical tools to rapidly produce services. Here the focus is given to the underlying technology required. In particular, the advantages and disadvantages of SDL and tools for this purpose are highlighted

    "Field Manager" Application Package

    Get PDF
    One of the important problems in the development of Decision Support Systems regards the issue of designing and implementation of man-machine interface. Importance of this component of the DSS follows from the fact that the end-user is usually not a computer specialist and, therefore, even the most useful decision-theoretic framework will be rejected if communication with the computer is too difficult for him. From the other side, design and implementation of user interface requires a lot of experience from the system designer, big resources for programming and a long time for for debugging and coding. Therefore, every attempt to simplify this aspect of DSS design and development is important. In this paper the software package Field Manager is presented. This package allows easy and quick development of user interfaces. The design is based on two novel ideas in the field of software management -- the abstract data type approach and object-oriented software specification. The package has been applied in several practical applications and the collected experience has shown its effectiveness and simplicity
    corecore