4,424 research outputs found
Lightweight and static verification of UML executable models
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.
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
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
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
- …