101 |
Formal Guaranties for Safety Critical Code Generation : the Case of Highly Variable Languages / Garanties formelles pour la génération de code critique : L’affaire des langages fortement variablesDieumegard, Arnaud 30 January 2015 (has links)
Les fonctions de commande et de contrôle sont parmi les plus importantes des systèmes embarqués critiques utilisés dans des activités telles les transports, la santé ou la gestion de l’énergie. Leur impact potentiel sur la sûreté de fonctionnement fait de la vérification de leur correction l’un des points les plus critiques de leur développement. Cette vérification est usuellement effectuée en accord avec les normes de certification décrivant un ensemble d’objectifs à atteindre afin d’assurer un haut niveau de qualité du système et donc de prévenir l’apparition de défauts. Cette vérification du logiciel est traditionnellement basée sur de nombreux tests et des activitiés de relectures de code, toutefois les versions les plus récentes des standards de certification permettent l’utilisation de nouvelles approches de développement telles que l’ingénierie dirigée par les modèles et les méthodes formelles ainsi que l’utilisation d’outil pour assister les processus de développement. Les outils de génération automatique de code sont exploités dans la plupart des processus de développement de systèmes embarqués critiques afin d’éviter des erreurs de programmation liées à l’humain et pour assurer le respect des règles de production de code. Ces outils ayant pour vocation de remplacer les humains pour la production de code, des erreurs dans leur conception peuvent causer l’apparition d’erreurs dans le code généré. Il est donc nécessaire de vérifier que le niveau de qualité de l’outil est le même que celui du code produit en s’assurant que les objectifs spécifiées dans les normes de qualification sont couverts. Nos travaux visent à exploiter l’ingénierie dirigée par les modèles et les méthodes formelles pour développer ces outils et ainsi atteindre un niveau de qualité plus élevé que les approches traditionnelles. Les fonctions critiques de commande et de contrôle sont en grande partie conçues à l’aide de langages graphiques à flot de données. Ces langages sont utilisés pour modéliser des systèmes complexes à l’aide de blocs élémentaires groupés dans des librairies de blocs. Un bloc peut être un objet logiciel sophistiqué exposant une haute variabilité tant structurelle que sémantique. Cette variabilité est à la fois liée aux valeurs des paramètres du bloc ainsi qu’à son contexte d’utilisation. Dans notre travail, nous concentrons notre attention en premier lieu sur la spécification formelle de ces blocs ainsi que sur la vérification de ces spécifications. Nous avons évalué plusieurs approches et techniques dans le but d’assurer une spécification formelle, structurellement cohérente, vérifiable et réutilisable des blocs. Nous avons finalement conçu un langage basé sur l’ingénierie dirigées par les modèles dédié à cette tâche. Ce langage s’inspire des approches des lignes de produit logiciel afin d’assurer une gestion de la variabilité des blocs à la fois correcte et assurant un passage à l’échelle. Nous avons appliqué cette approche et la vérification associée sur quelques exemples choisis de blocs issus d’applications industrielles et l’avons validé sur des prototypes logiciels que nous avons développé. Les blocs sont les principaux éléments des langages d’entrée utilisés pour la génération automatique de logiciels de commande et de contrôle. Nous montrons comment les spécifications formelles de blocs peuvent être transformées en des annotations de code afin de simplifier et d’automatiser la vérification du code généré. Les annotations de code sont vérifiées par la suite à l’aide d’outils spécialisés d’analyse statique de code. En utilisant des observateur synchrones pour exprimer des exigences de haut niveau sur les modèles en entrée du générateur, nous montrons comment la spécification formelle de blocs peut être utilisée pour la génération d’annotations de code et par la suite pour la vérification automatique des exigences. / Control and command softwares play a key role in safety-critical embedded systems used for human related activities such as transportation, healthcare or energy. Their impact on safety makes the assessment of their correctness the central point in their development activities. Such systems verification activities are usually conducted according to normative certification guidelines providing objectives to be reached in order to ensure development process reliability and thus prevent flaws. Verification activities usually relies on tests and proof reading of the software but recent versions of certification guidelines are taking into account the deployment of new development paradigms such as model-based development, and formal methods; or the use of tools in assistance of the development processes. Automatic code generators are used in most safety-critical embedded systems development in order to avoid human related software production errors and to ensure the respect of development quality standards. As these tools are supposed to replace humans in the software code production activities, errors in these tools may result in embedded software flaws. It is thus in turn mandatory to ensure the same level of correctness for the tool itself than for the expected produced code. Tools verification shall be done according to qualification guidelines. We advocate in our work the use of model-based development and formal methods for the development of these tools in order to reach a higher quality level. Critical control and command software are mostly designed using graphical dataflow languages. These languages are used to express complex systems relying on atomic operations embedded in blocks that are gathered in block libraries. Blocks may be sophisticated pieces of software with highly variable structure and semantics. This variability is dependent on the values of the block parameters and of the block's context of use. In our work, we focus on the formal specification and verification of such block based languages. We experimented various techniques in order to ensure a formal, sound, verifiable and usable specification for blocks. We developed a domain specific formal model-based language specifically tailored for the specification of structure and semantics of blocks. This specification language is inspired from software product line concepts in order to ensure a correct and scalable management of the blocks variability. We have applied this specification and verification approach on chosen block examples from common industrial use cases and we have validated it on tool prototypes. Blocks are the core elements of the input language of automatic code generators used for control and command systems development. We show how our blocks formal specification can be translated as code annotations in order to ease and automate the generated code verification. Code annotations are verified using specialised static code analysis tools. Relying on synchronous observers to express high level requirements at the input model level, we show how formal block specification can also be used for the translation of high level requirements as verifiable code annotations discharged using the same specialised tooling. We finally target the assistance of code generation tools qualification activities by arguing on the ability to automatically generate qualification data such as requirements, tests or simulation results for the verification and development of automatic code generators from the formal block specification.
|
102 |
Amélioration des processus de vérification de programmes par combinaison des méthodes formelles avec l’Ingénierie Dirigée par les Modèles / Improvement of software verification processes by combining formal methods with Model Driven EngineeringFernandes Pires, Anthony 26 June 2014 (has links)
Lors d’un développement logiciel, et plus particulièrement d’un développement d’applications embarquées avioniques, les activités de vérification représentent un coût élevé. Une des pistes prometteuses pour la réduction de ces coûts est l’utilisation de méthodes formelles. Ces méthodes s’appuient sur des fondements mathématiques et permettent d’effectuer des tâches de vérification à forte valeur ajoutée au cours du développement. Les méthodes formelles sont déjà utilisées dans l’industrie. Cependant, leur difficulté d’appréhension et la nécessité d’expertise pour leur mise en pratique sont un frein à leur utilisation massive. Parallèlement au problème des coûts liés à la vérification logicielle, vient se greffer la complexification des logiciels et du contexte de développement. L’Ingénierie Dirigée par les Modèles (IDM) permet de faire face à ces difficultés en proposant des modèles, ainsi que des activités pour en tirer profit.Le but des travaux présentés dans cette thèse est d’établir un lien entre les méthodes formelles et l’IDM afin de proposer à des utilisateurs non experts une approche de vérification formelle et automatique de programmes susceptible d’améliorer les processus de vérification actuels. Nous proposons de générer automatiquement sur le code source des annotations correspondant aux propriétés comportementales attendues du logiciel, et ce, à partir de son modèle de conception. Ces annotations peuvent ensuite être vérifiées par des outils de preuve déductive, afin de s’assurer que le comportement du code est conforme au modèle. Cette thèse CIFRE s’inscrit dans le cadre industriel d’Atos. Il est donc nécessaire de prendre en compte le contexte technique qui s’y rattache. Ainsi, nous utilisons le standard UML pour la modélisation,le langage C pour l’implémentation et l’outil Frama-C pour la preuve du code. Nous tenons également compte des contraintes du domaine du logiciel avionique dans lequel Atos est impliqué et notamment les contraintes liées à la certification.Les contributions de cette thèse sont la définition d’un sous-ensemble des machines à états UML dédié à la conception comportementale de logiciel avionique et conforme aux pratiques industrielles existantes, la définition d’un patron d’implémentation C, la définition de patrons de génération des propriétés comportementales sur le code à partir du modèle et enfin l’implémentation de l’approche dans un prototype compatible avec l’environnement de travail des utilisateurs potentiels en lien avec Atos. L’approche proposée est finalement évaluée par rapport à l’objectif de départ, par rapport aux attentes de la communauté du génie logiciel et par rapport aux travaux connexes. / During software development, and more specifically embedded avionics applications development, verification is very expensive. A promising lead to reduce its costs is the use of formal methods. Formal methods are mathematical techniques which allow performing rigorous and high-valued verification tasks during software development. They are already applied in industry. However, the high level of expertise required for their use is a major obstacle for their massive use. In addition to the verification costs issue, today software and their development are subject to an increase in complexity. Model Driven Engineering (MDE) allows dealing with these difficulties by offering models, and tasks to capitalize on these models all along the development lifecycle. The goal of this PhD thesis is to establish a link between formal methods and MDE in order to propose to non-expert users a formal and automatic software verification approach which helps to improve software verification processes. We propose to automatically generate annotations, corresponding to the expected behavioural properties of the software, from the design model to the source code. Then, these annotations can be verified using deductive proof tools in order to ensure that the behaviour of the code conforms to the design model. This PhD thesis takes place in the industrial context of Atos. So, it is necessary to take into account its technical specificities. We use UML for the design modeling, the C language for the software implementation and the Frama-C tool for the proof of this implementation. We also take into account the constraints of the avionics field in which Atos intervenes, and specifically the certification constraints. The contributions of this PhD thesis are the definition of a subset of UML state machine dedicated to the behavioural design of embedded avionics software and in line with current industrial practices, the definition of a C implementation pattern, the definition of generation patterns for the behavioural properties from the design model to the source code and the implementation of the whole approach in a prototype in accordance with the working environment of the potential users associated with Atos. The proposed approach is then assessed with respect to the starting goal of the thesis, to the expectation of the software engineering community and to related work.
|
103 |
Model driven engineering methodology for design space exploration of embedded systems / Metodologia de engenharia dirigida por modelos para exploração do espaço de projeto de sistemas embarcados / Modellgetriebene entwicklungsmethodik für die entwurfsraumexploration von eingebetteten systemeOliveira, Marcio Ferreira da Silva January 2013 (has links)
Heutzutage sind wir von Geräten umgeben, die sowohl Hardware wie auch Software- Komponenten beinhalten. Diese Geräte unterstützen ein breites Spektrum an verschiedenen Domänen, so zum Beispiel Telekommunikation, Luftfahrt, Automobil und andere. Derartige Systeme sind überall aufzufinden und werden als Eingebettete Systeme bezeichnet, da sie zur Informationsverarbeitung in andere Produkte eingebettet werden, wobei die Informationsverarbeitung des eingebetteten Systems jedoch nicht die bezeichnende Funktion des Produkts ist. Die ständig zunehmende Komplexität moderner eingebettete Systeme erfordert die Verwendung von mehreren Komponenten um die Funktionen von einem einzelnen System zu implementieren. Eine solche Steigerung der Funktionalität führt jedoch ebenfalls zu einem Wachstum in der Entwurfs-Komplexität, die korrekt und effizient beherrscht werden muss. Neben hohen Anforderungen bezüglich Leistungsaufnahme, Performanz und Kosten hat auch Time-to-Market-Anforderungen großen Einfluss auf den Entwurf von Eingebetteten Systemen. Design Space Exploration (DSE) beschreibt die systematische Erzeugung und Auswertung von Entwurfs-Alternativen, um die Systemleistung zu optimieren und den gestellten Anforderungen an das System zu genügen. Bei der Entwicklung von Eingebetteten Systemen, speziell beim Platform-Based Design (PBD) führt die zunehmende Anzahl von Design-Entscheidungen auf mehreren Abstraktionsebenen zu einer Explosion der möglichen Kombinationen von Alternativen, was auch für aktuelle DSE Methoden eine Herausforderung darstellt. Jedoch vermag üblicherweise nur eine begrenzte Anzahl von Entwurfs-Alternativen die zusätzlich formulierten nicht-funktionalen Anforderungen zu erfüllen. Darüber hinaus beeinflusst jede Entwurfs- Entscheidung weitere Entscheidungen und damit die resultierenden Systemeigenschaften. Somit existieren Abhängigkeiten zwischen Entwurfs-Entscheidungen und deren Reihenfolge auf dem Weg zur Implementierung des Systems. Zudem gilt es zwischen einer spezifischen Heuristik für eine bestimmte DSE, welche zu verbesserten Optimierungsresultaten führt, sowie globalen Verfahren, welche ihrerseits zur Flexibilität hinsichtlich der Anwendbarkeit bei verschiedenen DSE Szenarien beitragen, abzuwägen. Um die genannten Herausforderungen zu lösen wird eine Modellgetriebene Entwicklung (englisch Model-Driven Engineering, kurz MDE) Methodik für DSE vorgeschlagen. Für diese Methodik wird ein DSE-Domain-Metamodell eingeführt um relevante DSEKonzepte wie Entwurfsraum, Entwurfs-Alternativen, Auswertungs- und Bewertungsverfahren, Einschränkungen und andere abzubilden. Darüber hinaus modelliert das Metamodell verschiedenen DSE-Frage- stellungen, was zur Verbesserung der Flexibilität der vorgeschlagenen Methodik beiträgt. Zur Umsetzung von DSE-Regeln, welche zur Steuerung, Einschränkung und Generierung der Ent- wurfs-Alternativen genutzt werden, finden Modell-zu-Modell-Transformationen Anwendung. Durch die Fokussierung auf die Zuordnung zwischen den Schichten in einem PBDAnsatz wird eine neuartige Entwurfsraumabstraktion eingeführt, um multiple Entwurfsentscheidungen als singuläres DSE Problem zu repräsentieren. Diese auf dem Categorial Graph Product aufbauende Abstraktion entkoppelt den Explorations-Algorithmus vom Entwurfsraum und ist für Umsetzung in automatisierte Werkzeugketten gut geeignet. Basierend auf dieser Abstraktion profitiert die DSE-Methode durch die eingeführte MDEMethodik als solche und ermöglicht nunmehr neue Optimierungsmöglichkeiten sowie die Verbesserung der Integration von DSE in Entwicklungsprozesse und die Spezifikation von DSE-Szenarien. / Atualmente dispositivos contendo hardware e software são encontrados em todos os lugares. Estes dispositivos prestam suporte a uma varieadade de domínios, como telecomunicações, automotivo e outros. Eles são chamados “sistemas embarcados”, pois são sistemas de processamento montados dentro de produtos, cujo sistema de processamento não faz parte da funcionalidade principal do produto. O acréscimo de funções nestes sistemas implica no aumento da complexidade de seu projeto, o qual deve ser adequadamente gerenciado, pois além de requisitos rigorosos em relação à dissipação de potência, desempenho e custos, a pressão sobre o prazo para introdução de um produto no mercado também dificulta seu projeto. Exploração do espaço de projeto (DSE) é a atividade sistemática de gerar e avaliar alternativas de projetos, com o objetivo de otimizar suas propriedades. No desenvolvimento de sistemas embarcados, especialmente em Projeto Baseado em Plataformas (PBD), metodologias de DSE atuais são desafiadas pelo crescimento do número de decisões de projeto, o qual implica na explosão da combinação de alternativas. Porém, somente algumas destas resultam em projetos que atedem os requisitos nãofuncionais. Além disso, as decisões influenciam umas às outras, de forma que a ordem em que estas são tomadas alteram a implementação final do sistema. Outro desafio é o balanço entre flexibilidade da metodologia e seu desempenho, pois métodos globais de otimização são flexíveis, mas apresentam baixo desempenho. Já heurísticas especialmente desenvolvidas para o cenário de DSE em questão apresentam melhor desempenho, porém dificilmente são aplicáveis a diferentes cenários. Com o intuito de superar os desafios é proposta uma metodologia de projeto dirigido por modelos (MDE) adquada para DSE. Um metamodelo do domínio de DSE é definido para representar conceitos como espaço de projeto, métodos de avaliação e restrições. O metamodelo também representa diferentes problemas de DSE aprimorando a flexibilidade da metodologia. Regras de transformações de modelos implementam as regras de DSE, as quais são utilizadas para restringir e guiar a geração de projetos alternativos. Restringindo-se ao mapeamento entre camadas no PBD é proposta uma abstração para representar o espaço de projeto. Ela representa múltiplas decisões de projeto envolvidas no mapeamento como um único problema de DSE. Esta representação é adequada para a implementação em ferramentas automática de DSE e pode beneficiar o processo de DSE com uma abordagem de MDE, aprimorando a especificação de cenários de DSE e sua integração no processo de desenvolvimento. / Nowadays we are surrounded by devices containing hardware and software components. These devices support a wide spectrum of different domains, such as telecommunication, avionics, automobile, and others. They are found anywhere, and so they are called Embedded Systems, as they are information processing systems embedded into enclosing products, where the processing system is not the main functionality of the product. The ever growing complexity in modern embedded systems requires the utilization of more components to implement the functions of a single system. Such an increasing functionality leads to a growth in the design complexity, which must be managed properly, because besides stringent requirements regarding power, performance and cost, also time-to-market hinders the design of embedded systems. Design Space Exploration (DSE) is the systematic generation and evaluation of design alternatives, in order to optimize system properties and fulfill requirements. In embedded system development, specifically in Platform-Based Design (PBD), current DSE methodologies are challenged by the increasing number of design decisions at multiple abstraction levels, which leads to an explosion of combination of alternatives. However, only a reduced number of these alternatives leads to feasible designs, which fulfill non-functional requirements. Moreover, each design decision influences subsequent decisions and system properties, hence there are inter-dependencies between design decisions, so that the order decisions are made matters to the final system implementation. Furthermore, there is a trade-off between heuristics for specific DSE, which improves the optimization results, and global optimizers, which improve the flexibility to be applied in different DSE scenarios. In order to overcome the identified challenges an MDE methodology for DSE is proposed. For this methodology a DSE Domain metamodel is proposed to represent relevant DSE concepts such as design space, design alternatives, evaluation method, constraints and others. Moreover, this metamodel represents different DSE problems, improving the flexibility of the proposed framework. Model transformations are used to implement DSE rules, which are used to constrain, guide, and generate design candidates. Focusing on the mapping between layers in a PBD approach, a novel design space abstraction is provided to represent multiple design decisions involved in the mapping as a single DSE problem. This abstraction is based on Categorical Graph Product, decoupling the exploration algorithm from the design space and being well suited to be implemented in automatic exploration tools. Upon this abstraction, the DSE method can benefit from the MDE methodology, opening new optimization opportunities, and improving the DSE integration into the development process and specification of DSE scenarios.
|
104 |
An aspect-oriented model-driven engineering approach for distributed embedded real-time systems / Uma abordagem de engenharia guiada por modelos para o projeto de sistemas tempo-real embarcados e distribuídosWehrmeister, Marco Aurélio January 2009 (has links)
Atualmente, o projeto de sistemas tempo-real embarcados e distribuídos está crescendo em complexidade devido à sua natureza heterogênea e ao crescente número e diversidade de funções que um único sistema desempenha. Sistemas de automação industrial, sistemas eletrônicos em automóveis e veículos aéreos, equipamentos médicos, entre outros, são exemplos de tais sistemas. Tais sistemas são compostos por componentes distintos (blocos de hardware e software), os quais geralmente são projetados concorrentemente utilizando modelos, ferramentas e linguagens de especificação e implementação diferentes. Além disso, estes sistemas tem requisitos específicos e importantes, os quais não representam (por si só) as funcionalidades esperadas do sistema, mas podem afetar a forma como o sistema executa suas funcionalidades e são muito importantes para a realização do projeto com sucesso. Os chamados requisitos não-funcionais são difíceis de tratar durante todo o ciclo de projeto porque normalmente um único requisito não-funcional afeta vários componentes diferentes. A presente tese de doutorado propõe a integração automatizada das fases de projeto de sistemas tempo-real embarcados e distribuídos focando em aplicações na área da automação. A abordagem proposta usa técnicas de engenharia guiada por modelos (do inglês Model Driven Engineering ou MDE) e projeto orientado a aspectos (do inglês Aspect-Oriented Design ou AOD) juntamente com o uso de plataformas previamente desenvolvidas (ou desenvolvida por terceiros) para projetar os componentes de sistemas tempo-real embarcados e distribuídos. Adicionalmente, os conceitos de AOD permitem a separação no tratamento dos requisitos de naturezas diferentes (i.e. requisitos funcionais e não-funcionais), melhorando a modularização dos artefatos produzidos (e.g. modelos de especificação, código fonte, etc.). Além disso, esta tese propõe uma ferramenta de geração de código, que suporta a transição automática das fases iniciais de especificação para as fases seguintes de implementação. Esta ferramenta usa um conjunto de regras de mapeamento, que descrevem como elementos nos níveis mais altos de abstração são mapeados (ou transformados) em elementos dos níveis mais baixos de abstração. Em outras palavras, tais regras de mapeamento permitem a transformação automática da especificação inicial, as quais estão mais próximo do domínio da aplicação, em código fonte para os componentes de hardware e software, os quais podem ser compilados e sintetizados por outras ferramentas para se obter a realização/implementação do sistema tempo-real embarcado e distribuído. / Currently, the design of distributed embedded real-time systems is growing in complexity due to the increasing amount of distinct functionalities that a single system must perform, and also to concerns related to designing different kinds of components. Industrial automation systems, embedded electronics systems in automobiles or aerial vehicles, medical equipments and others are examples of such systems, which includes distinct components (e.g. hardware and software ones) that are usually designed concurrently using distinct models, tools, specification, and implementation languages. Moreover, these systems have domain specific and important requirements, which do not represent by themselves the expected functionalities, but can affect both the way that the system performs its functionalities as well as the overall design success. The so-called nonfunctional requirements are difficult to deal with during the whole design because usually a single non-functional requirement affects several distinct components. This thesis proposes an automated integration of distributed embedded real-time systems design phases focusing on automation systems. The proposed approach uses Model- Driven Engineering (MDE) techniques together with Aspect-Oriented Design (AOD) and previously developed (or third party) hardware and software platforms to design the components of distributed embedded real-time systems. Additionally, AOD concepts allow a separate handling of requirement with distinct natures (i.e. functional and non-functional requirements), improving the produced artifacts modularization (e.g. specification model, source code, etc.). In addition, this thesis proposes a code generation tool, which supports an automatic transition from the initial specification phases to the following implementation phases. This tool uses a set of mapping rules, describing how elements at higher abstraction levels are mapped (or transformed) into lower abstraction level elements. In other words, suchmapping rules allow an automatic transformation of the initial specification, which is closer to the application domain, in source code for software and hardware components that can be compiled or synthesized by other tools, obtaining the realization/ implementation of the distributed embedded real-time system.
|
105 |
Méthode d'évolution de modèles produits dans les sytèmes PLM / A pattern based approach for the evolution of PLM tools in the extended enterprise.Izadpanah, Seyed Hamedreza 28 September 2011 (has links)
Le système PLM est l’un des outils stratégiques de l’entreprise. Ces systèmes sont sujets à des changements récurrents dans l’entreprise. Les évolutions organisationnelles, le changement de l’offre produit ou encore le remplacement de logiciels PLM peuvent déclencher l’évolution du système d’information PLM. Une des structures les plus importantes dans les systèmes PLM est le modèle du produit, autour duquel s’articule les informations et processus. C’est autour du modèle produit que se concentrent nos recherches. Les causes d’évolution des modèles produits sont des éléments signifiants qui différencient les étapes de la démarche à suivre. Les méthodes d’IDM sont utilisées afin de formaliser la transformation des modèles. En plus, cette démarche bénéfice d’un cadre de similarité spécialement développé pour la configuration de produit. Un exemple industriel est illustré et résolu en appliquant cette démarche. Il s’agit de l’évolution d’un système gérant les modèles spécifiques de produit vers un système qui est capable de construire et d’utiliser les modèles génériques de produit. Un outil informatique support à nos travaux est développé dans le cadre d'Eclipse. / PLM systems are among the strategic components of enterprise’s information system architecture. These systems undergo frequent evolutions of enterprise. Organizational evolution or product offer variation as well as PLM application replacement may launch PLM systems’ evolution.One of the important structures in PLM systems is the product configuration, which organize and structure all product’s information and processes. Our research activities concern product model evolution. Reasons of product model evolution specify the appropriate methodology and necessary steps in order to handle it. MDE methods are used to formalize the model transformation process.Moreover, our methodology contains a specific similarity framework dedicated to product configuration. An industrial example was illustrated and resolved by this methodology. The problematic of this example is the migration of a system which manage only specific product configuration to a new system that is capable to construct and use generic models of product.
|
106 |
Systèmes d'information sociaux / Social Information SystemsQuast, Marc 24 October 2012 (has links)
Les systèmes d'information d'entreprise actuels s'articulent autour d'applications centrales lourdes, qui ne fournissent pas l'agilité nécessaire pour survivre dans un environnement économique hautement concurrentiel. De nombreux acteurs (unités commerciales, individus, équipes et communautés) doivent introduire leurs propres applications pour pallier à ces limitations, avec pour résultat un système d'information fragmenté, incohérent et impossible à gouverner. Cette étude propose un paradigme d'architecture d'entreprise alternatif, qui s'appuie sur une décomposition plus fine du système d'information et une distribution différente des responsabilités. Il permet à tout acteur de contribuer au système d'information en introduisant des fragments, privés ou partagés avec d'autres acteurs, qui peuvent ensuite être composés pour former des applications dédiées à un profil. Les récents mécanismes de l'informatique sociale sont proposés pour gérer les volumes potentiels importants de fragments émergeant de la communauté d'employés. L'objectif des systèmes d'informations sociaux est à la fois d'améliorer la cohérence et la gouvernabilité du système d'information de l'entreprise et d'exploiter l'intelligence et l'énergie collective de l'entreprise à des fins d'agilité métier maximale. / Present enterprise information systems are centered on heavy corporate applications, which cannot and indeed do not provide the agility required to survive in todays' competitive business landscape. Actors (business units, individuals, teams and communities) must introduce their own applications to work around these limitations, resulting in a fragmented, inconsistent and ungovernable information system. This thesis proposes an alternative enterprise architecture paradigm based upon a finer-grained decomposition of information systems and a different distribution of responsibilities. It empowers all actors to contribute fragments to the information system, private or shared with other actors, which can then be composed to form profile-specific applications. Consumer-space social mechanisms are proposed to manage the potentially huge resulting numbers of fragments emerging from the employee community. The aim of social information systems is both to improve the overall consistency and governability of the enterprise information system and to leverage the collective intelligence and energy of the corporation towards maximum business agility.
|
107 |
L'introduction de la gestion du cycle de vie produit dans les entreprises de sous-traitance comme vecteur d'agilité opérationnelle et de maîtrise du produit / ‘Product Lifecycle Management’ (PLM) in the subcontracting industry as a key for operational agility and product managementPinel, Muriel 30 May 2013 (has links)
Pour faire face à un environnement en perpétuelle évolution, les entreprises doivent changer et parfois en profondeur. Ces évolutions en principe voulues et contrôlées se font au moyen de projets dits « d'entreprise ». Parmi les buts qu'il s'agit d'atteindre par le biais de ces projets, deux buts majeurs sont identifiables : le développement de l'agilité opérationnelle et la maîtrise des produits. Dans ces travaux de thèse, nous nous focalisons sur le projet PLM (Product Lifecycle Management) et plus particulièrement sur la mise en oeuvre du système d’information nécessaire à la gestion du cycle de vie des produits : le système PLM. Ce système d’information coordonne tout ou partie des informations liées à la définition, à la réalisation, à l’usage et au retrait des produits. Après un état de l’art permettant de définir de façon précise les concepts liés à la gestion du cycle de vie des produits, une méthode est proposée pour définir le cahier des charges du système PLM. La définition de cette méthode montre la nécessité d’assurer la cohérence entre les différents modèles du système PLM d’une part et entre les différentes représentations du produit utilisées tout au long de son cycle de vie d’autre part. Un cadre de modélisation basé sur le paradigme systémique, sur le paradigme d'ambivalence et sur des concepts de métamodélisation est alors proposé. Ce cadre de modélisation apporte des éléments de réponse aux besoins de cohérence identifiés. Il supporte également l'adoption du raisonnement synergique indispensable au développement de l'agilité opérationnelle recherchée par l’entreprise. Une expérimentation est réalisée pour illustrer les concepts introduits dans notre cadre de modélisation. / Faced with a constantly evolving environment, companies have to change and sometimes have to change in depth. These evolutions are usually intentional and monitored and they are done through business projects. Two major goals can be identified among the goals to be reached through these projects: the operational agility development and the product management expertise. This thesis work focuses on PLM (Product Lifecycle Management) project and more precisely on the implementation of the information system needed to manage products’ lifecycle : the PLM system. This information system manages all or part of information related to the definition, the manufacturing, the use and the treatment as a waste of products. First of all, a state of the art of the concepts related to product lifecycle management is done. Basing on these concepts, a method for defining the PLM system requirements is proposed. Defining this method highlights two consistency needs. The first one is related to consistency among the several PLM system models. The second one is related to consistency among the several product representations used throughout the product lifecycle. A modeling framework based on the systemic paradigm, on the ambivalence paradigm and on metamodeling concepts is then proposed. On the one hand, this modeling framework provides elements to respond to identified consistency needs. On the other hand, it supports the adoption of the synergistic reasoning that is essential for developing the operational agility sought by the enterprise. An experimentation is carried out to illustrate the concepts introduced by the modeling framework.
|
108 |
Uma abordagem dirigida por modelos para portabilidade entre plataformas de computação em nuvemSilva, Elias Adriano Nogueira da 20 May 2013 (has links)
Made available in DSpace on 2016-06-02T19:06:08Z (GMT). No. of bitstreams: 1
5466.pdf: 2178593 bytes, checksum: a3777aeb3757d619d7087258728cdde6 (MD5)
Previous issue date: 2013-05-20 / Financiadora de Estudos e Projetos / Cloud Computing has potential to revolutionize way that systems are developed and marketed. Among several research gaps related to this new model is the Lock-In. The Lock-In is the difficulty on migrating data and applications from a cloud platform to another. The lack of standardization, as well as other reasons, are causing the problem. This work presents a model-driven(MDE) approach for portability of applications between cloud platforms. With MDE software engineers can work at a high level of abstraction freeing themselves from repetitive tasks related to software implementation and specific details of cloud platforms. Besides portability, MDE brings additional benefits related to traditional software development approaches. The approach presented in this work, basically consists of a DSL and a set of automated transformations for two known cloud platforms Google App Engine and Microsoft Azure. The approach allows the development of cloud applications on a high abstraction level, showing that despite being simple, the elements of the approach are enough to generate many cloud applications, as well as facilitates its development. The evaluation confirms the benefits provided by MDE technologies. / A computação em nuvem tem potencial para revolucionar a maneira como sistemas são desenvolvidos e comercializados. Entre as diversas lacunas de pesquisa relacionados a esse novo modelo computacional está o Lock-In. Isto é, o aprisionamento do usuário ao provedor devido a dificuldade na migração de dados e aplicativos de uma plataforma de nuvem para outra. Tal aprisionamento ocorre, dentre outros motivos, devido a falta de um padrão para desenvolvimento de aplicações para a nuvem. Este trabalho apresenta uma abordagem dirigida por modelos (Model-Driven Engineering - MDE) para portabilidade de aplicações entre plataformas de Computação em nuvem. Com o MDE os engenheiros de software podem trabalhar em um nivel mais alto de abstração livrando-se de tarefas repetitivas de codificação, que ficam a cargo de transformações automatizadas, e ficando assim protegidos das complexidades requeridas para implementação nas diferentes plataformas. Além da portabilidade o MDE traz benefícios adicionais em relação a abordagens tradicionais de desenvolvimento de sistemas. Este trabalho apresenta o desenvolvimento de uma linguagem textual que possibilita a especificação de aplicações em um alto nível de abstração. Bem como geradores de código para duas conhecidas plataforma de nuvem, a Google App Engine(GAE) e a Windows Azure, mostrando que a linguagem desenvolvida pode servir de entrada para a geração de grande parte do código necessário para muitas aplicações de nuvem e que facilita seu desenvolvimento. O MDE oferece uma maior produtividade, melhor manutenção e documentação e reúso. A avaliação realizada observou alguns desses benefícios, o que comprova a viabilidade da abordagem MDE.
|
109 |
Model driven engineering methodology for design space exploration of embedded systems / Metodologia de engenharia dirigida por modelos para exploração do espaço de projeto de sistemas embarcados / Modellgetriebene entwicklungsmethodik für die entwurfsraumexploration von eingebetteten systemeOliveira, Marcio Ferreira da Silva January 2013 (has links)
Heutzutage sind wir von Geräten umgeben, die sowohl Hardware wie auch Software- Komponenten beinhalten. Diese Geräte unterstützen ein breites Spektrum an verschiedenen Domänen, so zum Beispiel Telekommunikation, Luftfahrt, Automobil und andere. Derartige Systeme sind überall aufzufinden und werden als Eingebettete Systeme bezeichnet, da sie zur Informationsverarbeitung in andere Produkte eingebettet werden, wobei die Informationsverarbeitung des eingebetteten Systems jedoch nicht die bezeichnende Funktion des Produkts ist. Die ständig zunehmende Komplexität moderner eingebettete Systeme erfordert die Verwendung von mehreren Komponenten um die Funktionen von einem einzelnen System zu implementieren. Eine solche Steigerung der Funktionalität führt jedoch ebenfalls zu einem Wachstum in der Entwurfs-Komplexität, die korrekt und effizient beherrscht werden muss. Neben hohen Anforderungen bezüglich Leistungsaufnahme, Performanz und Kosten hat auch Time-to-Market-Anforderungen großen Einfluss auf den Entwurf von Eingebetteten Systemen. Design Space Exploration (DSE) beschreibt die systematische Erzeugung und Auswertung von Entwurfs-Alternativen, um die Systemleistung zu optimieren und den gestellten Anforderungen an das System zu genügen. Bei der Entwicklung von Eingebetteten Systemen, speziell beim Platform-Based Design (PBD) führt die zunehmende Anzahl von Design-Entscheidungen auf mehreren Abstraktionsebenen zu einer Explosion der möglichen Kombinationen von Alternativen, was auch für aktuelle DSE Methoden eine Herausforderung darstellt. Jedoch vermag üblicherweise nur eine begrenzte Anzahl von Entwurfs-Alternativen die zusätzlich formulierten nicht-funktionalen Anforderungen zu erfüllen. Darüber hinaus beeinflusst jede Entwurfs- Entscheidung weitere Entscheidungen und damit die resultierenden Systemeigenschaften. Somit existieren Abhängigkeiten zwischen Entwurfs-Entscheidungen und deren Reihenfolge auf dem Weg zur Implementierung des Systems. Zudem gilt es zwischen einer spezifischen Heuristik für eine bestimmte DSE, welche zu verbesserten Optimierungsresultaten führt, sowie globalen Verfahren, welche ihrerseits zur Flexibilität hinsichtlich der Anwendbarkeit bei verschiedenen DSE Szenarien beitragen, abzuwägen. Um die genannten Herausforderungen zu lösen wird eine Modellgetriebene Entwicklung (englisch Model-Driven Engineering, kurz MDE) Methodik für DSE vorgeschlagen. Für diese Methodik wird ein DSE-Domain-Metamodell eingeführt um relevante DSEKonzepte wie Entwurfsraum, Entwurfs-Alternativen, Auswertungs- und Bewertungsverfahren, Einschränkungen und andere abzubilden. Darüber hinaus modelliert das Metamodell verschiedenen DSE-Frage- stellungen, was zur Verbesserung der Flexibilität der vorgeschlagenen Methodik beiträgt. Zur Umsetzung von DSE-Regeln, welche zur Steuerung, Einschränkung und Generierung der Ent- wurfs-Alternativen genutzt werden, finden Modell-zu-Modell-Transformationen Anwendung. Durch die Fokussierung auf die Zuordnung zwischen den Schichten in einem PBDAnsatz wird eine neuartige Entwurfsraumabstraktion eingeführt, um multiple Entwurfsentscheidungen als singuläres DSE Problem zu repräsentieren. Diese auf dem Categorial Graph Product aufbauende Abstraktion entkoppelt den Explorations-Algorithmus vom Entwurfsraum und ist für Umsetzung in automatisierte Werkzeugketten gut geeignet. Basierend auf dieser Abstraktion profitiert die DSE-Methode durch die eingeführte MDEMethodik als solche und ermöglicht nunmehr neue Optimierungsmöglichkeiten sowie die Verbesserung der Integration von DSE in Entwicklungsprozesse und die Spezifikation von DSE-Szenarien. / Atualmente dispositivos contendo hardware e software são encontrados em todos os lugares. Estes dispositivos prestam suporte a uma varieadade de domínios, como telecomunicações, automotivo e outros. Eles são chamados “sistemas embarcados”, pois são sistemas de processamento montados dentro de produtos, cujo sistema de processamento não faz parte da funcionalidade principal do produto. O acréscimo de funções nestes sistemas implica no aumento da complexidade de seu projeto, o qual deve ser adequadamente gerenciado, pois além de requisitos rigorosos em relação à dissipação de potência, desempenho e custos, a pressão sobre o prazo para introdução de um produto no mercado também dificulta seu projeto. Exploração do espaço de projeto (DSE) é a atividade sistemática de gerar e avaliar alternativas de projetos, com o objetivo de otimizar suas propriedades. No desenvolvimento de sistemas embarcados, especialmente em Projeto Baseado em Plataformas (PBD), metodologias de DSE atuais são desafiadas pelo crescimento do número de decisões de projeto, o qual implica na explosão da combinação de alternativas. Porém, somente algumas destas resultam em projetos que atedem os requisitos nãofuncionais. Além disso, as decisões influenciam umas às outras, de forma que a ordem em que estas são tomadas alteram a implementação final do sistema. Outro desafio é o balanço entre flexibilidade da metodologia e seu desempenho, pois métodos globais de otimização são flexíveis, mas apresentam baixo desempenho. Já heurísticas especialmente desenvolvidas para o cenário de DSE em questão apresentam melhor desempenho, porém dificilmente são aplicáveis a diferentes cenários. Com o intuito de superar os desafios é proposta uma metodologia de projeto dirigido por modelos (MDE) adquada para DSE. Um metamodelo do domínio de DSE é definido para representar conceitos como espaço de projeto, métodos de avaliação e restrições. O metamodelo também representa diferentes problemas de DSE aprimorando a flexibilidade da metodologia. Regras de transformações de modelos implementam as regras de DSE, as quais são utilizadas para restringir e guiar a geração de projetos alternativos. Restringindo-se ao mapeamento entre camadas no PBD é proposta uma abstração para representar o espaço de projeto. Ela representa múltiplas decisões de projeto envolvidas no mapeamento como um único problema de DSE. Esta representação é adequada para a implementação em ferramentas automática de DSE e pode beneficiar o processo de DSE com uma abordagem de MDE, aprimorando a especificação de cenários de DSE e sua integração no processo de desenvolvimento. / Nowadays we are surrounded by devices containing hardware and software components. These devices support a wide spectrum of different domains, such as telecommunication, avionics, automobile, and others. They are found anywhere, and so they are called Embedded Systems, as they are information processing systems embedded into enclosing products, where the processing system is not the main functionality of the product. The ever growing complexity in modern embedded systems requires the utilization of more components to implement the functions of a single system. Such an increasing functionality leads to a growth in the design complexity, which must be managed properly, because besides stringent requirements regarding power, performance and cost, also time-to-market hinders the design of embedded systems. Design Space Exploration (DSE) is the systematic generation and evaluation of design alternatives, in order to optimize system properties and fulfill requirements. In embedded system development, specifically in Platform-Based Design (PBD), current DSE methodologies are challenged by the increasing number of design decisions at multiple abstraction levels, which leads to an explosion of combination of alternatives. However, only a reduced number of these alternatives leads to feasible designs, which fulfill non-functional requirements. Moreover, each design decision influences subsequent decisions and system properties, hence there are inter-dependencies between design decisions, so that the order decisions are made matters to the final system implementation. Furthermore, there is a trade-off between heuristics for specific DSE, which improves the optimization results, and global optimizers, which improve the flexibility to be applied in different DSE scenarios. In order to overcome the identified challenges an MDE methodology for DSE is proposed. For this methodology a DSE Domain metamodel is proposed to represent relevant DSE concepts such as design space, design alternatives, evaluation method, constraints and others. Moreover, this metamodel represents different DSE problems, improving the flexibility of the proposed framework. Model transformations are used to implement DSE rules, which are used to constrain, guide, and generate design candidates. Focusing on the mapping between layers in a PBD approach, a novel design space abstraction is provided to represent multiple design decisions involved in the mapping as a single DSE problem. This abstraction is based on Categorical Graph Product, decoupling the exploration algorithm from the design space and being well suited to be implemented in automatic exploration tools. Upon this abstraction, the DSE method can benefit from the MDE methodology, opening new optimization opportunities, and improving the DSE integration into the development process and specification of DSE scenarios.
|
110 |
Uma abordagem dirigida por modelos para desenvolvimento de aplicações multi-paas / A model-driven aproach to develop multi-PaaS applicationsElias Adriano Nogueira da Silva 01 September 2017 (has links)
No contexto da Engenharia de Software para a Computação em Nuvem as pesquisas relacionadas ao tema são cada vez mais crescentes e investiga-se como a Computação em Nuvem influenciará no desenvolvimento de sistemas de uma maneira geral. A atividade de construir sistemas para nuvem é uma tarefa complexa, criar aplicações de múltiplas nuvens, sobretudo, no contexto do modelo de serviço Plataforma-como-um-Serviço(PaaS), é ainda mais agravada devido especificidades de plataformas de nuvem que podem tornar a tarefa de desenvolvimento repetitiva, custosa e dependente de um provedor específico. As abordagens dirigidas por modelos(MDE) resolvem alguns desses problemas, elas propõem que a modelagem e mecanismos de transformação utilizados para gerar código a partir de modelos são uma melhor maneira de desenvolver sistemas de software, ao invés da codificação pura. Portanto, visando investigar como combinar os benefícios da Computação em Nuvem alinhados ao MDE, foi desenvolvida uma abordagem dirigida por modelos para desenvolvimento de aplicações multi-PaaS. Em direção a este objetivo foi realizado um Estudo de Caso em colaboração com uma empresa da indústria. Essa colaboração permitiu a criação de implementações de referencia que possibilitaram o desenvolvimento de uma Linguagem Específica de Domínio (DSL) e metaprogramas que compõem a abordagem. Para avaliar a abordagem desenvolvida foi realizado um Estudo de Caso. Os resultados mostram que MDE pode não só resolver o problema, mas trazer benefícios adicionais em relação a abordagens tradicionais de desenvolvimento de sistemas. Este trabalho explora esses benefícios, apresenta uma maneira de unir recursos heterogêneos de nuvem por meio de uma abordagem dirigida por modelos e aplicações orientadas a serviço. / Cloud computing is a computational paradigm that has increasingly been used in various sectors of industry and academia. Researchers have been studying how cloud technologies can influence several areas of science and research. In the context of Software Engineering, the researches related to cloud are increasingly increasing. Researchers are studying how to develop better cloud services offerings and how to find a strategy for combining existing resources to build improved services and solve problems. Building cloud systems is a complex task, in the context of the Platform-as-a-Service(PaaS) cloud service model; this activity is further aggravated by cloud platform specificities that can make the task of development repetitive, costly,and platform-specific. Model-driven approaches (MDE) solve some of these issues; they propose that the modeling and transformation mechanisms used to generate code from models are a better way to develop software systems, rather than pure coding. Development with MDE is a comprehensive and relevant research area and needs to be better explored in a wide range of contexts. Therefore, in order to investigate how to combine the benefits of multi-cloud appications aligned to the MDE, we developed a model-driven approach to build multi-PaaS applications.Toward this objective, we performed a case study in collaboration with an industry company.This collaboration allowed the creation of reference implementations that enabled the development of a Domain Specific Language (DSL) and metaprograms that constitute the approach. To evaluate the approach, we performed a case study. The results show that MDE cannot only solve the problem, but also bring additional benefits over traditional systems development approaches. This work explores these benefits, presents a way to combine heterogeneous cloud resources through a service-driven model and application-driven approach.
|
Page generated in 0.1223 seconds