7 research outputs found

    Simulación Educativa Mediante Meta-Modelado y Gramáticas de Grafos

    Full text link
    En este artículo se propone el uso de meta-modelado y de gramáticas de grafos como un medio de especificar formalmente simulaciones discretas con un enfoque educativo. Por medio del meta-modelado, se pueden describir de forma gráfica formalismos de simulación y utilizar los meta-modelos para generar automaticamente herramientas de modelado para estos formalismos. Por medio de las gramáticas de grafos, se pueden describir de manera formal el tipo de manipulaciones permitidas sobre los modelos (optimizaciones, transformaciones, simulaciones, generación de código, etc.). En particular en este artículo, se presenta un ejemplo en el que se describe un lenguaje gráfico sencillo de simulación discreta al estilo de Interacción de Procesos. Se presenta además una gramática de grafos que permite la simulación de los modelos definidos mediante este formalismo, de tal forma que se puede observar paso a paso de forma gráfica la evolución de la simulación

    Modelización y verificación automática de un proceso software

    Get PDF
    En este artículo se presenta la modelización y verificación de los aspectos dinámicos y temporales de un proceso software convencional. La modelización de los aspectos dinámicos se representa mediante un metamodelo de diagramas de actividades de UML y la modelización de los aspectos temporales con un modelo de Red de Petri. Posteriormente se comprueban las propiedades funcionales y temporales con el lenguaje de lógica temporal CTL (Computational Tree Logic). Tanto para la modelización como para la verificación se utiliza AToM3, una herramienta que posibilita el metamodelado mediante la utilización de multiformalismos, y la verificación automática mediante técnicas de comprobación o model checking. En este trabajo ha sido posible analizar el comportamiento del proceso para determinar la coherencia y consistencia de las especificaciones efectuadas como resultado de los requerimientos del diseño, permitiendo detectar los posibles fallos del modelo y efectuar las correcciones correspondientes. Así mismo se destaca la importancia de contar con herramientas de metamodelación, multiformalismos y verificación integrados, como soportes fundamentales de apoyo a los métodos convencionales de análisis y diseño del proceso software.II Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Modelización y verificación automática de un proceso software

    Get PDF
    En este artículo se presenta la modelización y verificación de los aspectos dinámicos y temporales de un proceso software convencional. La modelización de los aspectos dinámicos se representa mediante un metamodelo de diagramas de actividades de UML y la modelización de los aspectos temporales con un modelo de Red de Petri. Posteriormente se comprueban las propiedades funcionales y temporales con el lenguaje de lógica temporal CTL (Computational Tree Logic). Tanto para la modelización como para la verificación se utiliza AToM3, una herramienta que posibilita el metamodelado mediante la utilización de multiformalismos, y la verificación automática mediante técnicas de comprobación o model checking. En este trabajo ha sido posible analizar el comportamiento del proceso para determinar la coherencia y consistencia de las especificaciones efectuadas como resultado de los requerimientos del diseño, permitiendo detectar los posibles fallos del modelo y efectuar las correcciones correspondientes. Así mismo se destaca la importancia de contar con herramientas de metamodelación, multiformalismos y verificación integrados, como soportes fundamentales de apoyo a los métodos convencionales de análisis y diseño del proceso software.II Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Computer aided multi-paradigm modelling to process Petri-nets and statecharts

    No full text
    This paper proposes a Multi-Paradigm approach to the modelling of complex systems. The approach consists of the combination of meta-modelling, multi-formalism modelling, and modelling at multiple levels of abstraction. We implement these concepts in AToM(3), A Tool for Multi-formalism, Meta-Modelling. In AToM(3), modelling formalisms are modelled in their own right at a meta-level within an appropriate formalism. AToM(3) uses the information found in the meta-models to automatically generate tools to process (create, edit, check, optimize, transform and generate simulators for) the models in the described formalism. Model processing is described at a meta-level by means of models in the graph grammar formalism. As an example, meta-models for both syntax and semantics of Statecharts (without hierarchy) and Petri-Nets are presented. This includes a graph grammar modelling the transformation between Statecharts and Petri-Nets

    A model driven approach to analysis and synthesis of sequence diagrams

    Get PDF
    Software design is a vital phase in a software development life cycle as it creates a blueprint for the implementation of the software. It is crucial that software designs are error-free since any unresolved design-errors could lead to costly implementation errors. To minimize these errors, the software community adopted the concept of modelling from various other engineering disciplines. Modelling provides a platform to create and share abstract or conceptual representations of the software system – leading to various modelling languages, among them Unified Modelling Language (UML) and Petri Nets. While Petri Nets strong mathematical capability allows various formal analyses to be performed on the models, UMLs user-friendly nature presented a more appealing platform for system designers. Using Multi Paradigm Modelling, this thesis presents an approach where system designers may have the best of both worlds; SD2PN, a model transformation that maps UML Sequence Diagrams into Petri Nets allows system designers to perform modelling in UML while still using Petri Nets to perform the analysis. Multi Paradigm Modelling also provided a platform for a well-established theory in Petri Nets – synthesis to be adopted into Sequence Diagram as a method of putting-together different Sequence Diagrams based on a set of techniques and algorithms

    Self-Organizing Software Architectures

    Get PDF
    Looking at engineering productivity is a source for improving the state of software engineering. We present two approaches to improve productivity: bottom-up modeling and self-configuring software components. Productivity, as measured in the ability to produce correctly working software features using limited resources is improved by performing less wasteful activities and by concentrating on the required activities to build sustainable software development organizations. Bottom-up modeling is a way to combine improved productivity with agile software engineering. Instead of focusing on tools and up-front planning, the models used emerge, as the requirements to the product are unveiled during a project. The idea is to build the modeling formalisms strong enough to be employed in code generation and as runtime models. This brings the benefits of model-driven engineering to agile projects, where the benefits have been rare. Self-configuring components are a development of bottom-up modeling. The notion of a source model is extended to incorporate the software entities themselves. Using computational reflection and introspection, dependent components of the software can be automatically updated to reflect changes in the dependence. This improves maintainability, thus making software changes faster. The thesis contains a number of case studies explaining the ways of applying the presented techniques. In addition to constructing the case studies, an empirical validation with test subjects is presented to show the usefulness of the techniques.Itseorganisoituvat ohjelmistoarkkitehtuurit Ohjelmistokehityksen tuottavuus on monen ohjelmistokehitysorganisaation huolenaihe. Erityisesti ylläpitovaiheessa ohjelmistojen heikko muokattavuus tuottaa turhia kustannuksia ja pettymyksiä asiakassuhteissa, kun vaikeasti muokattavaan ohjelmistoon tulisi tehdä muutoksia. Tässä työssä esitetään kaksi menetelmää ohjelmistojen muokattavuuden parantamiseksi: kokoava mallinnuskielten käyttäminen sekä itseorganisoituvat ohjelmistokomponentit. Mallipohjaisessa ohjelmistotuotannossa ohjelmistoille kehitetään soveltuvat mallinnuskielet ja -työkalut, joiden pohjalta kehitettävä ohjelmisto voidaan automaattisesti tuottaa. Uuden mallinnuskielen kehittäminen ja sitä tukevan välineistön rakentaminen on kuitenkin aikaaviepää ja vaikeaa. Vaarana on, että kehitetty kieli on valmistuessaan vanhentunut. Niin kutsutuissa ketterissä ohjelmistomenetelmissä yritetään välttää perinteisten, suunittelupainotteisten kehitysmenetelmien tuottamia sudenkuoppia. Liiallinen ketteryys voi kuitenkin kostautua heikkona tuottavuutena, kun kehitysväen kaikki aika kuluu näppäryysharjoituksiin varsinaisen tuottavan työn sijaan. Kokoava mallipohjainen tuotanto keskittyy kehittämään vain riittävän hyviä malleja, joiden perusteella voidaan yhdistää mallipohjaisen ohjelmistotuotannon ja ketterien prosessimallien tuomat edut. Ulkoisten, erikseen kehiteltyjen mallikielten lisäksi työssä esitellään ajatus ohjelmakoodin itsensä käyttämisestä mallipohjaisen ohjelmistotuotannon työkaluna. Näin syntyy itseorganisoituva ohjelmistoarkkitehtuuri. Tällä tavoin kehitystyön tuottavuus paranee, sillä ohjelmakoodin sisäisten riippuvuuksien määrä laskee, ja näin ollen muokkausten tekeminen on helpompaa. Työssä esitellään tapaustutkimuksia ohjelmakoodiin perustuvasta mallipohjaisen ohjelmistotuotannon ohjelmistokehyksistä sekä empiirinen validointi itseorganisoituvuuden hyödyllisyydestä tuottavuusnäkökulmasta katsoen

    Développement de concepts et outils d’aide à la décision pour l’optimisation via simulation: Intégration des métaheuristiques au formalisme DEVS

    Get PDF
    In the world in which we live the efficient needs are increasing in various fields like industrymedecine and environnemtale monitoring. To meet this needs, many optimization methods nammed« metaheuristics » have been created over the last forty years. They are based on probabilistic andrandom reasoning and allow user to solve problems for which conventional methods can not be usedin acceptable computing times. Victim of their methods succes, the developers of the methods have toanswer to several questions : « How can the fitness of solutions be assessed ? », « How to use thesame method for several projects without change the code? », « What method will we choose for aspecific problem ? », « How to parametrize algorithms ? ».To deal with this problem, we have developed a set of concepts and tools. They have beendeveloped in the context of modeling and simulation of discrete event systems with DEVS formalism.The aims pursued are : allow temporized and spacialized optimization of existing DEVS models,improve the optimization process efficiency (quality of solutions, computing time). Modeling andsimulation are used to propose parameters toward the input of problem to optimize. This one generateresults used to improve the next proposed solutions. In order to combine optimization and simulation,we propose to represent the optimization method as models which can be easily interconnected andsimulated. We focus on consistency of exchanges between optimization models and problem models.Our approach allows early stopping of useless simulations and reduce the computing time as a result.Modeling optimization methods in DEVS formalism also allows to autimatically choose theoptimization algorithm and its parameters. Various algorithms and parameters can be used for thesame problem during optimization process at different steps. This changes are influenced by collectedresults of problem simulation. They lead on a self adaptation to the visible or/and hidden features ofthe studied problem.Our models architecture has been tested on three different problems : parametric optimizationof mathematical functions, spacialized optimization of a sensor network deployment, temporizedoptimization of a medical treatment. Genericity of our concepts and scalability of our modelsunderline the usabily of proposed tool. Concerning performance, simulation breaks and dynamicoptimization have obtained higher quality solutions in a short time.Nous vivons dans un monde où le besoin d’efficacité s’impose de plus en plus. Ce besoin s’exprime dans différents domaines, allant de l’industrie à la médecine en passant par la surveillance environnementale. Engendrées par cette demande, de nombreuses méthodes d’optimisation « modernes » également appelées « métaheuristiques » sont apparues ces quarante dernières années. Ces méthodes se basent sur des raisonnements probabilistes et aléatoires et permettent la résolution de problèmes pour lesquels les méthodes d’optimisation « classiques » également appelées « méthodes déterministes » ne permettent pas l’obtention de résultats dans des temps raisonnables. Victimes du succès de ces méthodes, leurs concepteurs doivent aujourd’hui plus que jamais répondre à de nombreuses problématiques qui restent en suspens : « Comment évaluer de manière fiable et rapide les solutions proposées ? », « Quelle(s) méthode(s) choisir pour le problème étudié ? », « Comment paramétrer la méthode utilisée ? », « Comment utiliser une même méthode sur différents problème sans avoir à la modifier ? ». Pour répondre à ces différentes questions, nous avons développé un ensemble de concepts et outils. Ceux-ci ont été réalisés dans le cadre de la modélisation et la simulation de systèmes à évènements discrets avec le formalisme DEVS. Ce choix a été motivé par deux objectifs : permettre l’optimisation temporelle et spatiale de modèles DEVS existants et améliorer les performances du processus d’optimisation (qualité des solutions proposées, temps de calcul). La modélisation et la simulation de l’optimisation permettent de générer directement des propositions de paramètres sur les entrées du modèle à optimiser. Ce modèle, quant à lui, génère des résultats utiles à la progression de l’optimisation. Pour réaliser ce couplage entre optimisation et simulation, nous proposons l’intégration des méthodes d’optimisation sous la forme de modèles simulables et facilement interconnectables. Notre intégration se concentre donc sur la cohérence des échanges entre les modèles dédiés à l’optimisation et les modèles dédiés à la représentation du problème. Elle permet également l’arrêt anticipé de certaines simulations inutiles afin de réduire au maximum la durée de l’optimisation. La représentation des méthodes d’optimisation sous formes de modèles simulables apporte également un élément de réponse dans le choix et le paramétrage des algorithmes. Grace à l’usage de la simulation, différents algorithmes et paramètres peuvent être utilisés pour un même processus d’optimisation. Ces changements sont également influencés par les résultats observés et permettent une adaptation automatique de l’optimisation aux spécificités connues et/ou cachées du problème étudié ainsi qu’à ses différentes étapes de résolution.L’architecture de modèle que nous proposons a été validée sur trois problèmes distincts : l’optimisation de paramètres pour des fonctions mathématiques, l’optimisation spatialisée d’un déploiement de réseau de capteurs sans fil, l’optimisation temporisée de traitements médicaux. La généricité de nos concepts et la modularité de nos modèles ont permis de mettre en avant la facilité d’utilisation de notre outil. Au niveau des performances, l’interruption de certaines simulations ainsi que dynamisme de l’optimisation ont permis l’obtention de solutions de qualité supérieure dans des temps inférieurs
    corecore