4,424 research outputs found

    Lightweight and static verification of UML executable models

    Get PDF
    Executable models play a key role in many software development methods by facilitating the (semi)automatic implementation/execution of the software system under development. This is possible because executable models promote a complete and fine-grained specification of the system behaviour. In this context, where models are the basis of the whole development process, the quality of the models has a high impact on the final quality of software systems derived from them. Therefore, the existence of methods to verify the correctness of executable models is crucial. Otherwise, the quality of the executable models (and in turn the quality of the final system generated from them) will be compromised. In this paper a lightweight and static verification method to assess the correctness of executable models is proposed. This method allows us to check whether the operations defined as part of the behavioural model are able to be executed without breaking the integrity of the structural model and returns a meaningful feedback that helps repairing the detected inconsistencies.Peer ReviewedPostprint (author's final draft

    The use of the concept of event in enterprise ontologies and requirements engineering literature.

    Get PDF
    The concept of event is used in a lot of meanings. It can be the possible outcome of doing something (probability theory), it can be a business transaction (accounting), or just a plain happening. In software engineering, the concept of event is also used a lot. It is used to accomplish loose coupling between software components or to realise interaction between different services. There is however not a consensus on the meaning of `an event'. In enterprise ontologies, an event is defined as a happening at one point in time, or as an activity which takes time to complete. In requirement engineering, the same different uses can be found, together with an event as a request for something that needs to be done. These differences can also be found in implementation. All these distinct purposes of the word event make it difficult to integrate and use different requirement engineering techniques. Comparison or transformations between models drawn in different grammars is impossible because of the ambiguity of the concept of event. We define three meanings for an event that are used by enterprise ontologies and requirement engineering techniques: an achievement (happening at one point in time), an activity (happening over time) and a request (a demand for something that needs to be done). We also identify a missing link between real economic events, the events defined in the requirements model and the events used in implementation.Requirements modelling; Enterprise ontology; Process modelling; Dynamic; Event;

    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

    Meta-Packages: Painless Domain Specific Languages

    Full text link
    Domain Specific Languages are used to provide a tailored modelling notation for a specific application domain. There are currently two main approaches to DSLs: standard notations that are tailored by adding simple properties; new notations that are designed from scratch. There are problems with both of these approaches which can be addressed by providing access to a small meta-language based on packages and classes. A meta-modelling approach based on meta-packages allows a wide range of DSLs to be defined in a standard way. The DSLs can be processed using standard object-based extension at the meta-level and existing tooling can easily be defined to adapt to the new languages. This paper introduces the concept of meta-packages and provides a simple example
    corecore