173,346 research outputs found
EventView - The Design Behind an Analysis Framework
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
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
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
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
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
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.
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
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
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
- …