928 research outputs found

    Teaching Model Views with UML and OCL

    Get PDF
    The specification of any non-trivial system is normally composed of a set of models. Each model describes a different view of the system, focuses on a particular set of concerns, and uses its own notation. For example, UML defines a set of diagrams for modelling the structure and behavior of any software system. One of the problems we perceived with our students is that they are able to understand each one of these diagrams, but they have problems understanding how they are related, and how the overall system specifications work when composed of a set of views. This paper presents a simple case study that we have developed and successfully used in class, which permits students developing the principal views of a system, simulate them, and check their relations.Universidad de MĂĄlaga. Campus de Excelencia Internacional AndalucĂ­a Tech

    Generating natural language specifications from UML class diagrams

    Get PDF
    Early phases of software development are known to be problematic, difficult to manage and errors occurring during these phases are expensive to correct. Many systems have been developed to aid the transition from informal Natural Language requirements to semistructured or formal specifications. Furthermore, consistency checking is seen by many software engineers as the solution to reduce the number of errors occurring during the software development life cycle and allow early verification and validation of software systems. However, this is confined to the models developed during analysis and design and fails to include the early Natural Language requirements. This excludes proper user involvement and creates a gap between the original requirements and the updated and modified models and implementations of the system. To improve this process, we propose a system that generates Natural Language specifications from UML class diagrams. We first investigate the variation of the input language used in naming the components of a class diagram based on the study of a large number of examples from the literature and then develop rules for removing ambiguities in the subset of Natural Language used within UML. We use WordNet,a linguistic ontology, to disambiguate the lexical structures of the UML string names and generate semantically sound sentences. Our system is developed in Java and is tested on an independent though academic case study

    Avoiding OCL specification pitfalls

    Get PDF
    This paper discusses about teaching software modeling by using OCL specifications, in the context in which the web represents the main source of information. The raise of the interest for models induced a higher need for clear and complete specifications. In case of models specified by means of MOF-based languages, adding OCL constraints proved to be an interesting answer to this need. Several OCL examples posted on web include hasty specifications, that are often dissuasive with respect to complementing models with OCL specification. OCL beginners, and not only, need to know how to avoid potential specification traps.Our proposal is based on a complete and unambiguous description of requirements, that represents the first step towards good OCL specifications. The work highlights several major aspects that need to be understood and complied with to produce meaningful and efficient OCL specifications. This approach was tested while teaching OCL at Babes-Bolyai University of Cluj-Napoca

    A heuristic-based approach to code-smell detection

    Get PDF
    Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache

    OCL Tools Report based on the IDE4OCL Feature Model

    Get PDF
    Previously we have developed the idea of an Integrated Development Environment for OCL (IDE4OCL). Based on the OCL community's feedback we have also designed and published an IDE4OCL feature model. Here we present a report on selected OCL tools developed by the authors and their teams. Each author gives an overview of their OCL tool, provides a top level architecture, and gives an evaluation of the tool features in a web framework. The framework can also be used by other potential OCL users and tool developers. For users it may serve as an aid to choose a suitable tool for their OCL use scenarios. For tool developers it provides a comparative view for further development of the OCL tools. Our plans are to maintain the collected data and extend this web framework by further OCL tools. Additionally, we would like to encourage sharing of OCL development resources

    LEAP: a precise lightweight framework for enterprise architecture.

    Get PDF
    This paper proposes LEAP: a simple framework for Enterprise Architecture (EA) that views an organization as an engine that executes in terms of hierarchically decomposed communicating components. The approach allows all aspects of the architecture to be precisely dened using standard modelling notations. Given that the approach is simple and precisely dened it can form the basis for a wide range of EA analysis techniques including simulation, compliance and consistency checking. The paper denes the LEAP framework and shows that it can be used to represent the key features of ArchiMate whilst containing fewer orthogonal concepts. We also show that the precision of LEAP, achieved through the use of OCL, can be used to verify both the claims made for inter-layer relationships in EA models and for extensions to ArchiMate

    Clafer: Lightweight Modeling of Structure, Behaviour, and Variability

    Get PDF
    Embedded software is growing fast in size and complexity, leading to intimate mixture of complex architectures and complex control. Consequently, software specification requires modeling both structures and behaviour of systems. Unfortunately, existing languages do not integrate these aspects well, usually prioritizing one of them. It is common to develop a separate language for each of these facets. In this paper, we contribute Clafer: a small language that attempts to tackle this challenge. It combines rich structural modeling with state of the art behavioural formalisms. We are not aware of any other modeling language that seamlessly combines these facets common to system and software modeling. We show how Clafer, in a single unified syntax and semantics, allows capturing feature models (variability), component models, discrete control models (automata) and variability encompassing all these aspects. The language is built on top of first order logic with quantifiers over basic entities (for modeling structures) combined with linear temporal logic (for modeling behaviour). On top of this semantic foundation we build a simple but expressive syntax, enriched with carefully selected syntactic expansions that cover hierarchical modeling, associations, automata, scenarios, and Dwyer's property patterns. We evaluate Clafer using a power window case study, and comparing it against other notations that substantially overlap with its scope (SysML, AADL, Temporal OCL and Live Sequence Charts), discussing benefits and perils of using a single notation for the purpose

    LEAP: a precise lightweight framework for enterprise architecture.

    Get PDF
    This paper proposes LEAP: a simple framework for Enterprise Architecture (EA) that views an organization as an engine that executes in terms of hierarchically decomposed communicating components. The approach allows all aspects of the architecture to be precisely dened using standard modelling notations. Given that the approach is simple and precisely dened it can form the basis for a wide range of EA analysis techniques including simulation, compliance and consistency checking. The paper denes the LEAP framework and shows that it can be used to represent the key features of ArchiMate whilst containing fewer orthogonal concepts. We also show that the precision of LEAP, achieved through the use of OCL, can be used to verify both the claims made for inter-layer relationships in EA models and for extensions to ArchiMate

    Towards a refinement of the open distributed systems interactions signatures

    Get PDF
    International audienceThe ODP framework defines a set of concepts and an architecture for the construction of ODP systems in terms of five viewpoints. The computational viewpoint supports three models of interaction, each of which has an associated kind of computational interface: signals and signal interfaces, flows and stream interfaces, operations and operation interfaces. In this paper we address both the functional decomposition and constraints specification on interactions signatures. We show how to refine an operation signature into a signal signature. And finally, we use OCL to express constraints on interaction signatures refinements. The result is an UML model which can serve as a basis to define end-to-end QoS in open distributed systems, and the operation of multi-party binding and bindings between different kinds of interfaces (e.g. stream to operation interface bindings). That is, QoS require-ments on interactions in the computational viewpoint might be specified just using signals. We are investigating this issue
    • 

    corecore