185 research outputs found

    Aspect-oriented design model.

    Get PDF
    Designing crosscutting concerns (aspects) is a challenging task. Since crosscutting concerns were not addressed while developing contemporary software design techniques, so they lack support for accommodating representation of such concerns along with base program. Some design languages like UML have been extended to express aspects and their elements but they do not fully represent aspects. Some lack adequate representation of aspect elements and some lack an efficient and reusable composition technique. In this paper, some of the aspect-oriented design techniques have been critically discussed. A proposed aspect model has been discussed which helps in overcoming the deficiencies in the contemporary aspect-oriented design techniques. This model represents aspects and their elements throughout the software development life cycle

    Watch out for the preview: The effects of a preview on the usability of a Content Management System and on the user's confidence level

    Get PDF
    As time moves on, a trend crystallizes that sets new requirements on content management systems. The circle of users shifts from a small technically experienced group to a large network of inexperienced editors. Literature stresses that a higher need for usability is present if personnel with a low grade of human computer interaction expertise is using a system. But how can system designers accomplish a high level of usability? This study suggests a preview as an important factor for strengthening the usability (effectiveness, efficiency and satisfaction) of a content management system. The findings of this study support the hypothesis: the results showed that a preview enhances the userspsila satisfaction with the system. Moreover, the study shows that the userspsila confidence to be able to work with the system is an important factor; the results showed positive correlations between confidence and satisfaction and between confidence and effectiveness

    Taming aspects with monads and membranes

    Get PDF
    International audienceWhen a software system is developed using several aspects, special care must be taken to ensure that the resulting behavior is correct. This is known as the aspect interference problem, and existing approaches essentially aim to detect whether a system exhibits problematic interferences of aspects. In this paper we describe how to control aspect interference by construction by relying on the type system. More precisely, we combine a monadic embedding of the pointcut/advice model in Haskell with the notion of membranes for aspect-oriented programming. Aspects must explicitly declare the side effectsa nd the context they can act upon. Allowed patterns of control flow interference are declared at the membrane level and statically enforced. Finally, computational interference between aspects is controlled by the membrane topology. To combine independent and reusable aspects and monadic components into a program specification we use monad views, a recent technique for conveniently handling the monadic stack

    Open Programming Language Interpreters

    Get PDF
    Context: This paper presents the concept of open programming language interpreters and the implementation of a framework-level metaobject protocol (MOP) to support them. Inquiry: We address the problem of dynamic interpreter adaptation to tailor the interpreter's behavior on the task to be solved and to introduce new features to fulfill unforeseen requirements. Many languages provide a MOP that to some degree supports reflection. However, MOPs are typically language-specific, their reflective functionality is often restricted, and the adaptation and application logic are often mixed which hardens the understanding and maintenance of the source code. Our system overcomes these limitations. Approach: We designed and implemented a system to support open programming language interpreters. The prototype implementation is integrated in the Neverlang framework. The system exposes the structure, behavior and the runtime state of any Neverlang-based interpreter with the ability to modify it. Knowledge: Our system provides a complete control over interpreter's structure, behavior and its runtime state. The approach is applicable to every Neverlang-based interpreter. Adaptation code can potentially be reused across different language implementations. Grounding: Having a prototype implementation we focused on feasibility evaluation. The paper shows that our approach well addresses problems commonly found in the research literature. We have a demonstrative video and examples that illustrate our approach on dynamic software adaptation, aspect-oriented programming, debugging and context-aware interpreters. Importance: To our knowledge, our paper presents the first reflective approach targeting a general framework for language development. Our system provides full reflective support for free to any Neverlang-based interpreter. We are not aware of any prior application of open implementations to programming language interpreters in the sense defined in this paper. Rather than substituting other approaches, we believe our system can be used as a complementary technique in situations where other approaches present serious limitations

    A Domain-specific Modeling Approach to the Development of Online Peer Assessment

    Get PDF
    Miao, Y., & Koper, R. (2007). A Domain-specific Modeling Approach to the Development of Online Peer Assessment. In T. Navarette, J. Blat & R. Koper (Eds.). Proceedings of the 3rd TENCompetence Open Workshop 'Current Research on IMS Learning Design and Lifelong Competence Development Infrastructures' (pp. 81-88). June, 21-22, 2007, Barcelona, Spain.Modelling a peer assessment using IMS LD and IMS QTI is difficult for average practitioners. In this paper, we apply domain-specific modelling technologies to develop a peer assessment modelling language, in which notations are directly chosen from the concepts and rules used to describe peer assessment. Thus, practitioners can easily understand such a high-level language and use it to specify online peer assessment. The paper also discuss some related issues to develop an authoring tool for modelling with the peer assessment modelling language and to map a peer assessment model represented in the peer assessment modelling language to a corresponding executable model represented in IMS LD and IMS QTI.The work on this publication has been sponsored by the TENCompetence Integrated Project that is funded by the European Commission's 6th Framework Programme, priority IST/Technology Enhanced Learning. Contract 027087 [http://www.tencompetence.org

    Horn Binary Serialization Analysis

    Full text link
    A bit layout is a sequence of fields of certain bit lengths that specifies how to interpret a serial stream, e.g., the MP3 audio format. A layout with variable length fields needs to include meta-information to help the parser interpret unambiguously the rest of the stream; e.g. a field providing the length of a following variable length field. If no such information is available, then the layout is ambiguous. I present a linear-time algorithm to determine whether a layout is ambiguous or not by modelling the behaviour of a serial parser reading the stream as forward chaining reasoning on a collection of Horn clauses.Comment: In Proceedings HCVS2016, arXiv:1607.0403

    Using Domain Features to Handle Feature Interactions

    Get PDF
    International audienceSoftware Product Lines in general and feature diagrams in particular support the modeling of software variability. Unfortunately, features may interact with each other, leading to feature interaction issues. Even if detected at the implementation level, interaction resolution choices are part of the business variability. In this paper, we propose to use a stepwise process to deal with feature interactions at the domain level: the way an interaction is resolved is considered as a variation point in the configuration process. This method and the associated implementation are applied onto a concrete case study (the jSeduite information system)

    Conflict Detection for Edits on Extended Feature Models using Symbolic Graph Transformation

    Full text link
    Feature models are used to specify variability of user-configurable systems as appearing, e.g., in software product lines. Software product lines are supposed to be long-living and, therefore, have to continuously evolve over time to meet ever-changing requirements. Evolution imposes changes to feature models in terms of edit operations. Ensuring consistency of concurrent edits requires appropriate conflict detection techniques. However, recent approaches fail to handle crucial subtleties of extended feature models, namely constraints mixing feature-tree patterns with first-order logic formulas over non-Boolean feature attributes with potentially infinite value domains. In this paper, we propose a novel conflict detection approach based on symbolic graph transformation to facilitate concurrent edits on extended feature models. We describe extended feature models formally with symbolic graphs and edit operations with symbolic graph transformation rules combining graph patterns with first-order logic formulas. The approach is implemented by combining eMoflon with an SMT solver, and evaluated with respect to applicability.Comment: In Proceedings FMSPLE 2016, arXiv:1603.0857

    Processing Domain-Specific Modeling Languages: A Case Study in Telephony Services

    Get PDF
    International audienceThe Domain-Specific Language (DSL) approach is being actively studied from both a software engineering viewpoint and a programming language viewpoint. It is being successfully applied to a variety of areas such as banking, graphics and networking. Yet, the concept of a DSL is still very vague, making both its applicability and implementation difficult. This paper introduces a layered approach to DSLs where (1) domain experts are provided with Domain-Specific Modeling Languages (DSMLs), requiring no programming skills and (2) implementation experts deal with Domain-Specific Programming Languages (DSPLs) that require a programming background but abstracts over the intricacies of underlying technologies. By separating domain and implementation concerns, we show that our layered DSL approach enables high-level tools to be used to both compile and reason about DSML programs. Compilation and program verification amount to defining high-level generative processes. We illustrate our approach with the domain of telephony service creation. We introduce a DSML for service creation and demonstrate the ease of compiling DSML programs using the Stratego/XT program transformation environment. Two compilation processes are defined for DSML programs targeting (1) a DSPL, illustrating a high-level compilation process and (2) the TLA+ specification language, exemplifying the verification of domain-specific properties
    • …
    corecore