scholarly journals Dependability Modeling and Assessment in UML-Based Software Development

2012 ◽  
Vol 2012 ◽  
pp. 1-11 ◽  
Author(s):  
Simona Bernardi ◽  
José Merseguer ◽  
Dorina C. Petriu

Assessment of software nonfunctional properties (NFP) is an important problem in software development. In the context of model-driven development, an emerging approach for the analysis of different NFPs consists of the following steps: (a) to extend the software models with annotations describing the NFP of interest; (b) to transform automatically the annotated software model to the formalism chosen for NFP analysis; (c) to analyze the formal model using existing solvers; (d) to assess the software based on the results and give feedback to designers. Such a modeling→analysis→assessment approach can be applied to any software modeling language, be it general purpose or domain specific. In this paper, we focus on UML-based development and on the dependability NFP, which encompasses reliability, availability, safety, integrity, and maintainability. The paper presents the profile used to extend UML with dependability information, the model transformation to generate a DSPN formal model, and the assessment of the system properties based on the DSPN results.

Author(s):  
Martin Monperrus ◽  
Jean-Marc Jézéquel ◽  
Joël Champeau ◽  
Brigitte Hoeltzener

Model-Driven Engineering (MDE) is an approach to software development that uses models as primary artifacts, from which code, documentation and tests are derived. One way of assessing quality assurance in a given domain is to define domain metrics. We show that some of these metrics are supported by models. As text documents, models can be considered from a syntactic point of view i.e., thought of as graphs. We can readily apply graph-based metrics to them, such as the number of nodes, the number of edges or the fan-in/fan-out distributions. However, these metrics cannot leverage the semantic structuring enforced by each specific metamodel to give domain specific information. Contrary to graph-based metrics, more specific metrics do exist for given domains (such as LOC for programs), but they lack genericity. Our contribution is to propose one metric, called s, that is generic over metamodels and allows the easy specification of an open-ended wide range of model metrics.


Author(s):  
Roy Gelbard

Applications require short development cycles and constant interaction with customers. Requirement gathering has become an ongoing process, reflecting continuous changes in technology and market demands. System analysis and modeling that are made at the initial project stages are quickly abandoned and become outmoded. Model driven architecture (MDA), rapid application development (RAD), adaptive development, extreme programming (XP), and others have resulted in a shift from the traditional waterfall model. These methodologies attempt to respond to the needs, but do they really fulfill their objectives, which are essential to the success of software development? Unified modeling language (UML) was created by the convergence of several well-known modeling methodologies. Despite its popularity and the investments that have been made in UML tools, UML is not yet translatable into running code. Some of the problems that have been discovered have to do with the absence of action semantics language and its size. This chapter reviews and evaluates the UML evolution (UML2, xUML), providing criteria and requirements to evaluate UML and the xUML potential to raise levels of abstraction, flexibility, and productivity enhancement. At the same time, it pinpoints its liabilities that keep it from completely fulfilling the vision of software development through a continuous exactable modeling process, considered to be the future direction for modeling and implementation.


2009 ◽  
pp. 2728-2743
Author(s):  
Anna E. Bobkowska

Successful realization of the model-driven software development visions in practice requires high quality models. This chapter focuses on the quality of models themselves. It discusses context-free and context-dependent quality criteria for models and then moves on to methods of evaluation which facilitate checking whether a model is good enough. We use linguistic theories to understand groups of criteria and their impact on other models, software product and the process of software development. We propose a strict distinction of the impacts of visual modeling languages, models of the system and tools for quality criteria. This distinction is helpful when designing the methods of evaluation and making decision about the point in time, scope and personnel responsible for quality assessment. As the quality criteria and several methods of evaluation has usually been considered separately we propose a methodology which integrates them. Such an integrated approach provides the following benefits. It allows for designing methods of evaluation based on quality criteria and elements of the model (or modeling language) in the context of specific needs. It can be applied for management of the scope of evaluation with quality criteria as well as configuration of the method to a specific situation. It allows for flexible and efficient conduct of the evaluation with selection of the methods of evaluation. Finally, this chapter presents case studies which illustrate the approach.


Author(s):  
Miroslaw Staron

Introducing Model Driven Software Development (MDSD) into industrial projects is rarely done as a “green field” development. The usual path is to make a transition from code-centric (CC) development in existing projects into MDSD in a step-wise manner. Similarly to all other software development activities; software quality assurance needs to be adjusted to meet the new challenges arising when using models instead of the code for the mainstream development. In this chapter we present a set of empirical data on the issues related to transitioning from CC to MDSD projects in industry. First; we present results from a set of experiments evaluating how a domain specific notation affects the effectiveness and efficiency of reading techniques used for inspecting models. Second; we present a comparison of productivity increase when changing to MDSD projects from one of the large Swedish companies. Finally we present a short survey on the prioritization of products; projects; and resource metrics in MDSD projects.


Author(s):  
Vicente García Díaz ◽  
Edward Rolando Núñez Valdez ◽  
B. Cristina Pelayo García-Bustelo ◽  
Jordan Pascual Espada ◽  
Carlos Enrique Montenegro Marín

ResumenLa ingeniería Dirigida por Modelos es una aproximación de desarrollo en continua evolución. Prueba de ello sin los numerosos estándares que están surgiendo y la reciente aparición de herramientas que facilitan el trabajo con este reciente paradigma de la ingeniería del software. Al trabajar con modelos, un aspecto clave esla generación automática de código de menor nivel de abstracción. Sin embargo, la forma de llevar a cabo dicha generación no tiene en cuenta la evolución de los sistemas, y esa es la razón por la que el proceso es lento y repetitivo. En este trabajo se presenta una propuesta para generar código incrementalmente a partir de modelos, de forma que se minimice el impacto sobre aplicaciones que ya podrían estar en funcionamiento y se permita obtener la evolución exacta que han tenido los sistemas desde su origen.Palabras ClaveEvolución, matamodelos, modelo, generación de artefactos.Abstract The Model-Driven Engineering is a software development approach that continues evolving. In fact, there are some emerging standards and tools that facilitate working with this new paradigm of software engineering. Working with models, a key point is the automatic generation of source code of lower level of abstraction. However, the natural evolution of systems is not taken into account and that is the reason for which the process is usually slow and repetitive. In this work, we are going to show a proposal for incremental generation of source code from models. That way, we will minimize the impact on deployed applications and we will make the traceability of the evolution of systems. KeywordsArtifacts generation, evolution, metamodel, model. 


Author(s):  
Hiroshi Wada ◽  
Junichi Suzuki ◽  
Adam Malinowski ◽  
Katsuya Oba

Traditional Model Driven Development (MDD) frameworks have three critical issues: (1) abstraction gap between modeling and programming layers, (2) a lack of traceability between models and programs, and (3) a lack of customizability to support various combinations of modeling technologies and implementation/deployment technologies. In order to address these issues, this chapter proposes a new MDD framework, called Matilda, which is a framework to build execution runtime engines (or virtual machines) for software models. It directly executes models defined with certain modeling technologies such as UML and BPMN by automatically transforming them to executable code. Matilda is designed based on the Pipes and Filters architectural pattern, which allows for configuring its structure and behavior flexibly by replacing one plugin with another one or changing the order of plugins. Also, plugins can be deployed on multiple network hosts and seamlessly connect them to form a pipeline. This facilitates distributed software development in which developers collaboratively work at physically dispersed places. This chapter overviews Matilda’s architectural design, describes the implementations of Matilda-based virtual machines, and evaluates their performance.


Author(s):  
Anna E. Bobkowska

Successful realization of the model-driven software development visions in practice requires high quality models. This chapter focuses on the quality of models themselves. It discusses context-free and context- dependent quality criteria for models and then moves on to methods of evaluation which facilitate checking whether a model is good enough. We use linguistic theories to understand groups of criteria and their impact on other models, software product and the process of software development. We propose a strict distinction of the impacts of visual modeling languages, models of the system and tools for quality criteria. This distinction is helpful when designing the methods of evaluation and making decision about the point in time, scope and personnel responsible for quality assessment. As the quality criteria and several methods of evaluation has usually been considered separately we propose a methodology which integrates them. Such an integrated approach provides the following benefits. It allows for designing methods of evaluation based on quality criteria and elements of the model (or modeling language) in the context of specific needs. It can be applied for management of the scope of evaluation with quality criteria as well as configuration of the method to a specific situation. It allows for flexible and efficient conduct of the evaluation with selection of the methods of evaluation. Finally, this chapter presents case studies which illustrate the approach.


Sign in / Sign up

Export Citation Format

Share Document