173,346 research outputs found

    A ”Framework” for Object Oriented Frameworks Design

    Get PDF

    EventView - The Design Behind an Analysis Framework

    Get PDF
    The development of software used to process petabytes of data per year is an elaborate project. The complexity of the detector means components of very diverse nature are required to process the data and one needs well defined frameworks that are both flexible and maintainable. Modern programming architecture based on object-oriented component design supports desirable features of such frameworks. The principle has been applied in almost all sub-systems of ATLAS software and its robustness has benefited the collaboration. An implementation of such framework for physics analysis, however, did not exist before the work presented in this paper. As it turns out the realisation of object-oriented analysis framework is closely related to the design of the event data object. In this paper, we well review the design behind the analysis framework developed around a data class called ``EventView''. It is a highly integrated part of the ATLAS software framework and is now becoming a standard platform for physics analysis in the collaboration

    An object-oriented bridge among architectural styles, aspects and frameworks

    Get PDF
    We propose an architecture-driven design approach based on the concept of proto-frameworks, aiming to provide an intermediate stage in the transition from architectural models to object-oriented frameworks or applications. The approach is based on an object-oriented materialization of domain-specific architectures derived from domain models, that is the production of concrete computational representations of abstract architectural descriptions using object-oriented technology. A proto-framework materializes, in object-oriented terms, the infrastructure required for cooperation and communication of each architectural component type. In other words, a proto-framework provides the essential abstractions to derive new applications or frameworks by inheritance from the proto-framework classes. In this case, the framework provides very abstract hooks to map specific domain components into a class hierarchy in a white-box fashion. This mapping can produce a specific application, but more important yet, it can produce new domain-specific frameworks that adopt the underlying architectural model. Using an architecture-oriented approach, developers are able to better identify relevant concerns and reason about them at the very conception of the system architecture.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Synthesizing framework models for symbolic execution

    Get PDF
    Symbolic execution is a powerful program analysis technique, but it is difficult to apply to programs built using frameworks such as Swing and Android, because the framework code itself is hard to symbolically execute. The standard solution is to manually create a framework model that can be symbolically executed, but developing and maintaining a model is difficult and error-prone. In this paper, we present Pasket, a new system that takes a first step toward automatically generating Java framework models to support symbolic execution. Pasket's focus is on creating models by instantiating design patterns. Pasket takes as input class, method, and type information from the framework API, together with tutorial programs that exercise the framework. From these artifacts and Pasket's internal knowledge of design patterns, Pasket synthesizes a framework model whose behavior on the tutorial programs matches that of the original framework. We evaluated Pasket by synthesizing models for subsets of Swing and Android. Our results show that the models derived by Pasket are sufficient to allow us to use off-the-shelf symbolic execution tools to analyze Java programs that rely on frameworks.National Science Foundation (U.S.) (CCF-1139021)National Science Foundation (U.S.) (CCF-1139056)National Science Foundation (U.S.) (CCF-1161775

    Building and Using Object-Oriented Frameworks for Semi-Structures Domains: The Sales Promotion Domain as Example

    Get PDF
    Object-oriented (00) frameworks are considered an important step forward in developing software applications efficiently. Success of frameworks has however predominantly been limited to structured domains.This paper describes a method for developing 00 domainframeworks for semi-structured domains. The complexityof such domains requires the use of more elaborate analysis and design techniques than those normallyused in 00 analysis and design. In the method describedhere, the knowledge of domain experts forms the basis for developing the framework. The 00 framework is constructed on the design level using a CASE-tool.Using the design model, the framework can be customized and extended to develop a variety of applicationsfor the domain. The approach is illustrated by developing a framework for the sales-promotions domain,and using this framework to build an application for product managers. It is concluded that the approach described here is beneficial to build and use 00 frameworksfor semi-structured domains

    Multi-Party Coordination in the Context of MOWS

    Get PDF
    Separation of concerns has been presented as a promising tool to tackle the design of complex systems in which cross-cutting properties that do not fit into the scope of a class must be satisfied. In this paper, we show that interactions amongst a number of objects can also be described separately from functionality, which enhances reusability of functional code and interaction patterns. We present our proposal in the context of Multi-Qrganisational Web-Based Systems (MOWS) and also present a framework that provides the infrastructure needed to implement multiparty coordination as an independent aspect

    Software as a service: Undo

    Get PDF
    This paper proposes a highly automated mechanism to build an undo facility into a new or existing system easily. Our proposal is based on the observation that for a large set of operators it is not necessary to store in-memory object states or executed system commands to undo an action; the storage of input data is instead enough. This strategy simplifies greatly the design of the undo process and encapsulates most of the functionalities required in a framework structure similar to the many object-oriented programming frameworks

    Framework for software architecture visualization assessment.

    Get PDF
    In order to assess software architecture visualisation strategies, we qualitatively characterize then construct an assessment framework with 7 key areas and 31 features. The framework is used for evaluation and comparison of various strategies from multiple stakeholder perspectives. Six existing software architecture visualisation tools and a seventh research tool were evaluated. All tools exhibited shortcomings when evaluated in the framework

    An object-oriented bridge among architectural styles, aspects and frameworks

    Get PDF
    We propose an architecture-driven design approach based on the concept of proto-frameworks, aiming to provide an intermediate stage in the transition from architectural models to object-oriented frameworks or applications. The approach is based on an object-oriented materialization of domain-specific architectures derived from domain models, that is the production of concrete computational representations of abstract architectural descriptions using object-oriented technology. A proto-framework materializes, in object-oriented terms, the infrastructure required for cooperation and communication of each architectural component type. In other words, a proto-framework provides the essential abstractions to derive new applications or frameworks by inheritance from the proto-framework classes. In this case, the framework provides very abstract hooks to map specific domain components into a class hierarchy in a white-box fashion. This mapping can produce a specific application, but more important yet, it can produce new domain-specific frameworks that adopt the underlying architectural model. Using an architecture-oriented approach, developers are able to better identify relevant concerns and reason about them at the very conception of the system architecture.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Automated recognition of design patterns for framework understanding

    Get PDF
    System design is one of the most important tasks in the software development cycles but it is also one of the most complex and time-consuming tasks. Thus, reuse of existing designs becomes very important. Object-oriented frameworks are generic designs for specific application domains that enable the reuse of designs and domain expert experience. In spite of this, frameworks are not simple to reuse because they are difficult to comprehend, mainly due to a lack of good documentation and supporting tools. In this work, an approach to framework comprehension based on the automated recognition and visualization of design patterns is presented. A tool was built to support this approach, by trying to automatically identify and explain the potentia~ patterns existing in a given designo Experimental results and conclusions of tool utilization are also presented
    corecore