2,968 research outputs found

    Property specification and static verification of UML models

    Get PDF
    We present a static verification tool (SVT), a system that performs static verification on UML models composed of UML class and state machine diagrams. Additionally, the SVT allows the user to add extra behavior specification in the form of guards and effects by defining a small action language. UML models are checked against properties written in a special-purpose property language that allows the user to specify linear temporal logic formulas that explicitly reason about UML components. Thus, the SVT provides a strong foundation for the design of reliable systems and a step towards model-driven security

    Quality-aware model-driven service engineering

    Get PDF
    Service engineering and service-oriented architecture as an integration and platform technology is a recent approach to software systems integration. Quality aspects ranging from interoperability to maintainability to performance are of central importance for the integration of heterogeneous, distributed service-based systems. Architecture models can substantially influence quality attributes of the implemented software systems. Besides the benefits of explicit architectures on maintainability and reuse, architectural constraints such as styles, reference architectures and architectural patterns can influence observable software properties such as performance. Empirical performance evaluation is a process of measuring and evaluating the performance of implemented software. We present an approach for addressing the quality of services and service-based systems at the model-level in the context of model-driven service engineering. The focus on architecture-level models is a consequence of the black-box character of services

    A Feature Computation Tree Model to Specify Requirements and Reuse

    Get PDF
    A large subset of requirements for complex systems, services and product lines is traditionally specified by hierarchical structures of features. Features are usually gathered and represented in the form of a feature tree. The feature tree is a structural model. It represents mainly composition and specialization relations between features and does not provide the possibility to specify requirements in the form of ordering relations defined on functional features. Use case scenarios are usually employed for specification of the ordering relations. However, use case scenarios comprise isolated sequences of features, and therefore they may be inconsistent and even may contradict each other and the feature tree. Moreover, some use case scenarios defining relations on features may be incomplete. In order to support consistent specification of requirements, we suggest using a pair of related models: a feature tree model and a feature computation tree model. The pair of such related feature tree models provides the basis for the method of consistency checks of requirements. It introduces a united view on the system’s behavior at the stage of requirement specification and facilitates specification of forbidden sequences and construction complete sequences from incomplete ones. It allows designers to precisely specify the desired reuse and to find that a certain sort of reuse is not possible. Understanding already at the stage of requirements engineering that a subsystem cannot be reused without modification saves effort and money spent on development. The proposed method and models are explained using a case study of design of a system for electronic cards production

    Towards Model Checking Executable UML Specifications in mCRL2

    Get PDF
    We describe a translation of a subset of executable UML (xUML) into the process algebraic specification language mCRL2. This subset includes class diagrams with class generalisations, and state machines with signal and change events. The choice of these xUML constructs is dictated by their use in the modelling of railway interlocking systems. The long-term goal is to verify safety properties of interlockings modelled in xUML using the mCRL2 and LTSmin toolsets. Initial verification of an interlocking toy example demonstrates that the safety properties of model instances depend crucially on the run-to-completion assumptions

    Interacting Components

    Get PDF
    SystemCSP is a graphical modeling language based on both CSP and concepts of component-based software development. The component framework of SystemCSP enables specification of both interaction scenarios and relative execution ordering among components. Specification and implementation of interaction among participating components is formalized via the notion of interaction contract. The used approach enables incremental design of execution diagrams by adding restrictions in different interaction diagrams throughout the process of system design. In this way all different diagrams are related into a single formally verifiable system. The concept of reusable formally verifiable interaction contracts is illustrated by designing set of design patterns for typical fault tolerance interaction scenarios
    • 

    corecore