136 research outputs found

    Visual Unified Modeling Language for the Composition of Scenarios in Modeling and Simulation Systems

    Get PDF
    The Department of Defense uses modeling and simulation systems in many various roles, from research and training to modeling likely outcomes of command decisions. Simulation systems have been increasing in complexity with the increased capability of low-cost computer systems to support these DOD requirements. The demand for scenarios is also increasing, but the complexity of the simulation systems has caused a bottleneck in scenario development due to the limited number of individuals with knowledge of the arcane simulator languages in which these scenarios are written. This research combines the results of previous AFIT efforts in visual modeling languages to create a language that unifies description of entities within a scenario with its behavior using a visual tool that was developed in the course of this research. The resulting language has a grammar and syntax that can be parsed from the visual representation of the scenario. The language is designed so that scenarios can be described in a generic manner, not tied to a specific simulation system, allowing the future development of modules to translate the generic scenario into simulation system specific scenarios

    Modeling and managing tacit product line requirements knowledge

    Full text link
    The success of very large product lines systems with globally distributed stakeholders often builds significantly on the implicit knowledge of individuals. Final products are typically built by integrating numerous detailed specifications of subsystems. But how exactly all these parts can and need to be integrated to build valid end products is often left unspecified and to numerous discussions, reviews and the expertise of senior architects and product managers. Building a high-level product line requirements model that explicitly and formally specifies common and variable requirements, their precise integration semantics and the constraints for selecting variable features helps significantly to manage this crucial and often tacit requirements knowledge. Based on an industrial exemplar we motivate and demonstrate such an approach and discuss our early ïŹndings regarding knowledge and rationale management in product line requirements engineering

    SeamCAD: a hierarchy-oriented modeling language and a computer-aided tool for entreprise architecture

    Get PDF
    Modeling Enterprise Architecture requires representing multiple diagrams of an enterprise, which typically shows the multiples business entities, IT systems, even software components and the services they offer. This could be done by a team of stakeholders having different backgrounds. One way to do this is to structure the model into hierarchical levels each of which can be of interest of just some, not all, stakeholders. Due to the differences in their background, stakeholders – the modelers may not want to use a single modeling approach, even a widely-recognized one, to build the enterprise model, which can be shared by the whole team. Developing a modeling framework that can be applied uniformly throughout the entire enterprise model and that can be used by all stakeholders is challenging. First, the framework should have a uniform approach to specifying the services offered by business entities, IT systems and software components and to describing their implementation across hierarchical levels. Second, the framework should allow the stakeholders to represent the service specification and the service implementation of multiple business entities and IT systems, even within the same hierarchical level. Third, the services offered by those entities and systems should be represented at different levels of granularity. Last but not least, the modeling framework should maintain the well-formedness of the enterprise model and the consistency between different diagrams opened by different stakeholders of the team. Today, there exist a few modeling methods or development processes in the field of Enterprise Architecture, as well as in software and system modeling that can address these issues to some extent. Among them, Adora, KobrA and OPM best meet the aforementioned four criteria, although they were not initially developed for modeling Enterprise Architecture. As a study on the state of the art, we analyzed these methods with respect to the four aforementioned modeling challenges. In this thesis, we define a modeling language and present a computer-aided tool for modeling Enterprise Architecture hierarchically. This modeling language allows the modeler to structure an enterprise into hierarchical levels, in terms of both organization and services. The computer-aided modeling tool helps the modeler visually build her model across levels and brings all levels together to make a coherent, well-formed model. Enterprise models can be visually built and represented in a notation that is based on the Unified Modeling Language using this tool. The modeling language is formally defined in Alloy – a lightweight declarative language based on first order logic and set theory. The data manipulated in the tool is verified against the Alloy code that formalizes the language. The modeling language and the computer-aided modeling tool constitute a hierarchy-oriented framework called SeamCAD that specifically address the four aforementioned issues. This framework has been applied several projects, both in industry and academic settings. We evaluated it by inviting external practitioners, researchers and master's students in our university to use it and to give their feedback

    Formal semantics for refinement verification of entreprise models

    Get PDF
    In this dissertation we investigate how Business/IT alignment in enterprise models can be enhanced by using a software engineering stepwise refinement paradigm. To have an IT system that supports an enterprise and meets the enterprise business needs, management seeks to align business system with IT systems. Enterprise Architecture (EA) is the discipline that addresses the design of aligned business and IT systems. SEAM is an Enterprise Architecture method, developed in the Laboratory of Systemic Modeling (LAMS) at EPFL. SEAM defines a visual language for building an enterprise model of an organization. In this work, we develop a theory and propose a technique to validate an alignment between the system specifications expressed in the SEAM language. We base our reasoning on the idea that each system (an organization, a business system, or an IT system) can be modeled using a set of hierarchical specifications, explicitly related to each other. Considering these relations as refinement relations, we transform the problem of alignment validation into the problem of refinement verification for system specifications: we consider that two system specifications are aligned if one is correctly refines the other. Model-driven engineering (MDE) defines refinement as a transformation between two visual (or program) specifications, where a specification is gradually refined into an implementation. MDE, however, does not formalize refinement verification. Software engineering (SE) formalizes refinement for program specifications. It provides a theory and techniques for refinement verification. To benefit from the formal theories and the refinement verification techniques defined in SE, we extend the SEAM language with additional concepts (e.g. preconditions, postconditions, invariants, etc). This extension enables us to increase the precision of the SEAM visual specifications. Then we define a formal semantics for the extended SEAM modeling language. This semantics is based on first-order logic and set theory; it allows us to reduce the problem of refinement verification to the validation of a first-order logic formula. In software engineering, the tools for the automated analysis of program specifications are defined. To use these tools for refinement verification, we define a translation from SEAM visual specifications to formal specification languages. We apply, using case studies, our theory and technique in several problem areas to verify: (1) if a business process design and re-design correspond to high level business process specifications; (2) if a service implementation corresponds to its specifications. These case studies have been presented to a group of domain experts who practice business/IT alignment. This inquiry has shown that our research has a potential practical value

    Correctly defined concrete syntax

    Get PDF
    Due to their complexity, the syntax of modern modeling languages is preferably defined in two steps. The abstract syntax identifies all modeling concepts whereas the concrete syntax should clarify how these concepts are rendered by graphical and/or textual elements. While the abstract syntax is often defined in form of a metamodel, there does not exist such standard format yet for concrete syntax definitions. The diversity of definition formats—ranging from EBNF grammars to informal text—is becoming a major obstacle for advances in modeling language engineering, including the automatic generation of editors. In this paper, we propose a uniform format for concrete syntax definitions. Our approach captures both textual and graphical model representations and even allows to assign more than one rendering to the same modeling concept. Consequently, following our approach, a model can have multiple, fully equivalent representations, but—in order to avoid ambiguities when reading a model representation—two different models should always have distinguishable representations. We call a syntax definition correct, if all well-formed models are represented in a non-ambiguous way. As the main contribution of this paper, we present a rigorous analysis technique to check the correctness of concrete syntax definition

    Ontology-based methodology for error detection in software design

    Get PDF
    Improving the quality of a software design with the goal of producing a high quality software product continues to grow in importance due to the costs that result from poorly designed software. It is commonly accepted that multiple design views are required in order to clearly specify the required functionality of software. There is universal agreement as to the importance of identifying inconsistencies early in the software design process, but the challenge is how to reconcile the representations of the diverse views to ensure consistency. To address the problem of inconsistencies that occur across multiple design views, this research introduces the Methodology for Objects to Agents (MOA). MOA utilizes a new ontology, the Ontology for Software Specification and Design (OSSD), as a common information model to integrate specification knowledge and design knowledge in order to facilitate the interoperability of formal requirements modeling tools and design tools, with the end goal of detecting inconsistency errors in a design. The methodology, which transforms designs represented using the Unified Modeling Language (UML) into representations written in formal agent-oriented modeling languages, integrates object-oriented concepts and agent-oriented concepts in order to take advantage of the benefits that both approaches can provide. The OSSD model is a hierarchical decomposition of software development concepts, including ontological constructs of objects, attributes, behavior, relations, states, transitions, goals, constraints, and plans. The methodology includes a consistency checking process that defines a consistency framework and an Inter-View Inconsistency Detection technique. MOA enhances software design quality by integrating multiple software design views, integrating object-oriented and agent-oriented concepts, and defining an error detection method that associates rules with ontological properties

    Correctly Defined Concrete Syntax for Visual Modeling Languages

    Get PDF
    The syntax of modeling languages is usually defined in two steps. The abstract syntax identifies modeling concepts whereas the concrete syntax clarifies how these modeling concepts are rendered by visual and/or textual elements. While the abstract syntax is often defined in form of a metamodel there is no such standard format yet for concrete syntax definitions; at least as long as the concrete syntax is not purely text-based and classical grammar-based approaches are not applicable. In a previous paper, we proposed to extend the metamodeling approach also to concrete syntax definitions. In this paper, we present an analysis technique for our concrete syntax definitions that detects inconsistencies between the abstract and the concrete syntax of a modeling language. We have implemented our approach on top of the automatic decision procedure SIMPLIFY
    • 

    corecore