417 research outputs found

    Specifying OCL Constraints on Process Instantiations

    Get PDF
    Due to the variety of concerns affecting software development in large organisations, processes have to be adapted to project specific needs to be effectively applicable in individual projects. We describe a project aiming to provide tool support for this individualised instantiation of reference processes, based on an OCL-based specification of instantiation operations. The aim is not only to execute instantiation decisions made by humans but to automatically ensure correctness of the resulting process, potentially resulting in followup actions being executed or suggested

    UML-F: A Modeling Language for Object-Oriented Frameworks

    Full text link
    The paper presents the essential features of a new member of the UML language family that supports working with object-oriented frameworks. This UML extension, called UML-F, allows the explicit representation of framework variation points. The paper discusses some of the relevant aspects of UML-F, which is based on standard UML extension mechanisms. A case study shows how it can be used to assist framework development. A discussion of additional tools for automating framework implementation and instantiation rounds out the paper.Comment: 22 pages, 10 figure

    Evaluation of Kermeta for Solving Graph-based Problems

    Get PDF
    Kermeta is a meta-language for specifying the structure and behavior of graphs of interconnected objects called models. In this paper,\ud we show that Kermeta is relatively suitable for solving three graph-based\ud problems. First, Kermeta allows the specification of generic model\ud transformations such as refactorings that we apply to different metamodels\ud including Ecore, Java, and Uml. Second, we demonstrate the extensibility\ud of Kermeta to the formal language Alloy using an inter-language model\ud transformation. Kermeta uses Alloy to generate recommendations for\ud completing partially specified models. Third, we show that the Kermeta\ud compiler achieves better execution time and memory performance compared\ud to similar graph-based approaches using a common case study. The\ud three solutions proposed for those graph-based problems and their\ud evaluation with Kermeta according to the criteria of genericity,\ud extensibility, and performance are the main contribution of the paper.\ud Another contribution is the comparison of these solutions with those\ud proposed by other graph-based tools

    A UML/OCL framework for the analysis of fraph transformation rules

    Get PDF
    In this paper we present an approach for the analysis of graph transformation rules based on an intermediate OCL representation. We translate different rule semantics into OCL, together with the properties of interest (like rule applicability, conflicts or independence). The intermediate representation serves three purposes: (i) it allows the seamless integration of graph transformation rules with the MOF and OCL standards, and enables taking the meta-model and its OCL constraints (i.e. well-formedness rules) into account when verifying the correctness of the rules; (ii) it permits the interoperability of graph transformation concepts with a number of standards-based model-driven development tools; and (iii) it makes available a plethora of OCL tools to actually perform the rule analysis. This approach is especially useful to analyse the operational semantics of Domain Specific Visual Languages. We have automated these ideas by providing designers with tools for the graphical specification and analysis of graph transformation rules, including a backannotation mechanism that presents the analysis results in terms of the original language notation

    Consistency in multi-viewpoint architectural design

    Get PDF
    This thesis presents a framework that aids in preserving consistency in multi-viewpoint designs. In a multi-viewpoint design each stakeholder constructs his own design part. We call each stakeholder’s design part the view of that stakeholder. To construct his view, a stakeholder has a viewpoint. This viewpoint defines the design concepts, the notation and the tool support that the stakeholder uses. The framework presented in this thesis focuses on architectural multiviewpoint design of distributed systems. A distributed system is a system of which the parts execute on different physical system nodes. Interaction between the system parts plays an important role in such systems. An example of a distributed system is a mobile communication network. In such a network, the parts of the system execute on e.g. the mobile telephones of the clients, the desktops of the employees of the network operator and the mobile access points. Architectural design is the area of design that focuses on higher levels of abstraction in the design process. The lowest level of abstraction that we consider is the level at which the system parts correspond to parts that can be deployed on communication middleware. Using our framework, consistency is preserved through inter-viewpoint relations and consistency rules that must be specified by the stakeholders. The stakeholders use inter-viewpoint relations to specify how one view relates to another and they use consistency rules to specify what rules must at least be satisfied in a consistent design. To aid in preserving consistency, our framework defines: – a common set of basic design concepts; – pre-defined inter-viewpoint relations; – pre-defined consistency rules; – a language to represent inter-viewpoint relations and consistency rules. The basic design concepts that the framework defines have been adopted from earlier work. These concepts were developed by carefully examining the area of distributed systems design. Using our framework, viewpoint-specific design concepts must be defined as compositions or specializations of these basic concepts. Hence, the basic concepts form a common vocabulary that the different stakeholders can use to understand each other’s designs. The framework pre-defines inter-viewpoint relations that can be reused to specify how one view relates to another. The two main types of inter-viewpoint relations that it pre-defines are: refinement relations and overlap relations. Refinement relations exist between views that (partly) consider the same design concerns at different levels of abstraction. Overlap relations exist between views that (partly) consider the same design concerns at the same level of abstraction. We derived the pre-defined relations by examining existing frameworks for multi-viewpoint design and extracting frequently occurring relations between viewpoints in these frameworks. If a pre-defined inter-viewpoint relation exists between two views, this implies that certain consistency rules must be satisfied. Specifically, if two views have a refinement relation, this implies that one must preserve the system properties specified by the other. If two views have an overlap relation, this implies that the two views must be equivalent with respect to the overlap that they have. Our framework pre-defines consistency rules that can be re-used to verify these properties. We define an architecture for tool-support to aid in specifying view relations and consistency rules and to check whether the specified consistency rules hold. The architecture contains the pre-defined relations and consistency rules, such that they can be re-used. As a case study for the framework we define adapted versions of the RM-ODP enterprise, computational and information viewpoints, using our framework. We define the concepts from these viewpoints as compositions of the basic concepts. Also, we define the relations between views from these viewpoints, as well as the corresponding consistency rules, using the relations and consistency rules that are pre-defined by the framework. The results of the case study support the claim that our framework aids in preserving consistency in multi-viewpoint designs

    Abstract Platform and Transformations for Model-Driven Service-Oriented Development

    Get PDF
    In this paper, we discuss the use of abstract platforms and transformation for designing applications according to the principles of the service-oriented architecture. We illustrate our approach by discussing the use of the service discovery pattern at a platform-independent design level. We show how a trader service can be specified at a high-level of abstraction and incorporated in an abstract platform for service-oriented development. Designers can then build platform-independent models of applications by composing application parts with this abstract platform. Application parts can use the trader service to publish and discover service offers. We discuss how the abstract platform can be realized into two target platforms, namely Web Services (with UDDI) and CORBA (with the OMG trader)

    Simplification of UML/OCL schemas for efficient reasoning

    Get PDF
    Ensuring the correctness of a conceptual schema is an essential task in order to avoid the propagation of errors during software development. The kind of reasoning required to perform such task is known to be exponential for UML class diagrams alone and even harder when considering OCL constraints. Motivated by this issue, we propose an innovative method aimed at removing constraints and other UML elements of the schema to obtain a simplified one that preserve the same reasoning outcomes. In this way, we can reason about the correctness of the initial artifact by reasoning on a simplified version of it. Thus, the efficiency of the reasoning process is significantly improved. In addition, since our method is independent from the reasoning engine used, any reasoning method may benefit from it.Peer ReviewedPostprint (author's final draft
    corecore