14 research outputs found

    Integrating object-oriented modeling techniques with formal specification techniques

    Get PDF
    The increasing complexity of software systems makes their development complicated and error prone. A widely used and generally accepted technique in software engineering is the combination of different models (or views) for the description of software systems. The primary benefit of this approach is to model only related aspects (Iike structure or behavior). Using different models cIarifies different important aspects of the system, but it has to be taken into consideration that these models are not independent and they are semantically overlapping.\nThe models constitute the fundamental base of information upon which the problem domain experts, the analysts and the software developers interact. Thus, it is of a fundamental importance that it clearly and accurately expresses the essence of the problem. On the other hand, the model construction activity is a critical part in the development process.\nSince models are the result of a complex and creative activity, they tend to contain errors, omissions and inconsistencies. Model verification is very important, since errors in this stage have an expensive impact on the following stages of the software development process.Eje: Teorí

    Integrating object-oriented modeling techniques with formal specification techniques

    Get PDF
    The increasing complexity of software systems makes their development complicated and error prone. A widely used and generally accepted technique in software engineering is the combination of different models (or views) for the description of software systems. The primary benefit of this approach is to model only related aspects (Iike structure or behavior). Using different models cIarifies different important aspects of the system, but it has to be taken into consideration that these models are not independent and they are semantically overlapping. The models constitute the fundamental base of information upon which the problem domain experts, the analysts and the software developers interact. Thus, it is of a fundamental importance that it clearly and accurately expresses the essence of the problem. On the other hand, the model construction activity is a critical part in the development process. Since models are the result of a complex and creative activity, they tend to contain errors, omissions and inconsistencies. Model verification is very important, since errors in this stage have an expensive impact on the following stages of the software development process.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI

    Specifying the Behavior of UML Collaborations Using Object-Z

    Get PDF
    UML is a standard modelling language that is able to specify a wide range of object-oriented concepts. Among them, we have collaborations, that serve to realise use cases, a powerful abstraction concept. The behaviour part of a collaboration is rendered using collaboration diagrams. However, the lack of formalisation compromises the precision of the specification. By using formal description techniques, such as Object-Z, we can reason about the requirements and identify ambiguities and inconsistencies earlier in the development process. In general, we can say that formalisation helps obtaining a more reliable system. Our aim is to formalise collaborations Object-Z class schemas. This is accomplished by proposing an integrated formal process

    Towards Domain-Specific Modeling Methodology for Avionic Safety-Critical Systems

    Get PDF
    The use of domain-specific modeling languages and associated methodologies, provide support in application domain where the safe and reliable operations of the systems are of paramount importance to the users and organizations, and wherein the domains are well understood and documented. One such area of domain-specific modeling application is in the field of avionic systems. For software systems to be used onboard aircrafts they must be certified, and as such certification protocols have been established for developing these safety-critical systems. These established protocols are usually represented as textual documents and inherently are difficult to apply directly in software development environments. The work presented herein proposes a graphical modeling representation for an avionic software system certification specification and an accompanying model-driven methodology for implementing the certification specification. This work is based on the RTCA Software Consideration in Airborne Systems and Equipment specification and the Unified Modeling Language. The presented model-driven methodology, incorporates the use of formal specification techniques to satisfy many of the verification requirements of the RTCA specification. The benefit of this work is in the transformation of textual description to graphical models in support of precise software system development, and a rigorous model-driven software development methodology for avionic soft-ware system development

    Towards a Formal Approach to Validating and Verifying Functional Design for Complex Safety Critical Systems

    Get PDF
    The quality and reliability of safety criticalsoftware systems are highly dependent on proper systemvalidation and verification. In model-driven softwaredevelopment, semi-formal notations are often used inrequirements capture. Though semi-formal notations possessadvantages, their major disadvantage is their imprecision. Atechnique to eliminate imprecision is to transform semi-formalmodels into an analyzable representation using formalspecification techniques (FSTs). With this approach to systemvalidation and verification, safety critical systems can bedeveloped more reliably. This work documents early experienceof applying FSTs on UML class diagrams as attributeconstraints, and pre- post-conditions on procedures. Thevalidation and verification of the requirements of a system tomonitor unmanned aerial vehicles in unrestricted airspace is theorigin of this work. The challenge is the development of a systemwith incomplete specifications; multiple conflicting stakeholders’interests; existence of a prototype system; the need forstandardized compliance, where validation and verification areparamount, which necessitates forward and reverse engineeringactivities

    Refining Transformation Rules For Converting UML Operations To Z Schema

    Get PDF
    The UML (Unified Modeling Language) has its origin in mainstream software engineering and is often used informally by software designers. One of the limitations of UML is the lack of precision in its semantics, which makes its application to safety critical systems unsuitable. A safety critical system is one in which any loss or misinterpretation of data could lead to injury, loss of human lives and/or property. Safety Critical systems are usually specified by very precisely and frequently required formal verification. With the continuous use of UML in the software industry, there is a need to augment the informality of software models produced to remove ambiguity and inconsistency in models for verification and validation. To overcome this well-known limitation of UML, formal specification techniques (FSTs), which are mathematically tractable, are often used to represent these models. Formal methods are mathematical techniques that allow software developers to produce softwares that address issues of ambiguity and error in complex and safety critical systems. By building a mathematically rigorous model of a complex system, it is possible to verify the system\u27s properties in a more thorough fashion than empirical testing. In this research, the author refines transformation rules for aspects of an informally defined design in UML to one that is verifiable, i.e. a formal specification notation. The specification language that is used is the Z Notation. The rules are applied to UML class diagram operation signatures iteratively, to derive Z schema representation of the operation signatures. Z representation may then be analyzed to detect flaws and determine where there is need to be more precise in defining the operation signatures. This work is an extension of previous research that lack sufficient detail for it to be taken to the next phase, towards the implementation of a tool for semi-automated transformation

    Integrating object-oriented modeling techniques with formal specification techniques

    Get PDF
    The increasing complexity of software systems makes their development complicated and error prone. A widely used and generally accepted technique in software engineering is the combination of different models (or views) for the description of software systems. The primary benefit of this approach is to model only related aspects (Iike structure or behavior). Using different models cIarifies different important aspects of the system, but it has to be taken into consideration that these models are not independent and they are semantically overlapping. The models constitute the fundamental base of information upon which the problem domain experts, the analysts and the software developers interact. Thus, it is of a fundamental importance that it clearly and accurately expresses the essence of the problem. On the other hand, the model construction activity is a critical part in the development process. Since models are the result of a complex and creative activity, they tend to contain errors, omissions and inconsistencies. Model verification is very important, since errors in this stage have an expensive impact on the following stages of the software development process.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI

    El proceso de desarrollo de software basado en modelos

    Get PDF
    El objetivo de este artículo es describir las principales características del proceso de desarrollo de software basado en modelos, destacando la necesidad de integrar lenguajes de modelado gráficos, cercanos a las necesidades del dominio de la aplicación, con lenguajes de modelado formales, provistos de herramientas de análisis y verificación. A partir de la estandarización del lenguaje gráfico de modelado Unified Modeling Language (UML) han surgido activas discusiones acerca de la precisión semántica de sus construcciones. Mientras que el OMG fue responsable por la estandarización de UML como notación, la semántica de UML aún es un tema de investigación. Existe un número importante de trabajos teóricos que tratan diferentes partes de UML definiendo formalmente su semántica. En este artículo hemos seleccionamos los más representativos y los hemos clasificado en dos grupos: formalizaciones basadas en el modelo y formalizaciones basadas en el metamodelo. Realizamos un análisis comparativo de ambos grupos y finalmente describimos una propuesta intermedia que formaliza UML mediante una teoría formal de primer orden.Eje: Ingeniería de softwareRed de Universidades con Carreras en Informática (RedUNCI

    El proceso de desarrollo de software basado en modelos

    Get PDF
    El objetivo de este artículo es describir las principales características del proceso de desarrollo de software basado en modelos, destacando la necesidad de integrar lenguajes de modelado gráficos, cercanos a las necesidades del dominio de la aplicación, con lenguajes de modelado formales, provistos de herramientas de análisis y verificación. A partir de la estandarización del lenguaje gráfico de modelado Unified Modeling Language (UML) han surgido activas discusiones acerca de la precisión semántica de sus construcciones. Mientras que el OMG fue responsable por la estandarización de UML como notación, la semántica de UML aún es un tema de investigación. Existe un número importante de trabajos teóricos que tratan diferentes partes de UML definiendo formalmente su semántica. En este artículo hemos seleccionamos los más representativos y los hemos clasificado en dos grupos: formalizaciones basadas en el modelo y formalizaciones basadas en el metamodelo. Realizamos un análisis comparativo de ambos grupos y finalmente describimos una propuesta intermedia que formaliza UML mediante una teoría formal de primer orden.Eje: Ingeniería de softwareRed de Universidades con Carreras en Informática (RedUNCI
    corecore