Spelling suggestions: "subject:"domain apecific anguage"" "subject:"domain apecific 1anguage""
31 |
Developing and Testing Pervasive Computing Applications: A Tool-Based MethodologyBruneau, Julien 16 May 2012 (has links) (PDF)
Malgré des progrès récents, développer une application d'informatique ubiquitaire reste un défi à cause d'un manque de canevas conceptuels et d'outils aidant au développement. Ce défi implique de prendre en charge des objets communicants hétérogènes, de surmonter la complexité des technologies de systèmes distribués, de définir l'architecture d'une application, et d'encoder cela dans un programme. De plus, tester des applications d'informatique ubiquitaire est problématique car cela implique d'acquérir, de tester et d'interfacer une variété d'entités logicielles et matérielles. Ce procédé peut rapidement devenir coûteux en argent et en temps lorsque l'environnement ciblé implique de nombreuses entités. Cette thèse propose une méthodologie outillée pour dévelop- per et tester des applications d'informatique ubiquitaire. Notre méthodologie fournit tout d'abord le langage de conception DiaSpec. Ce langage permet de définir une taxonomie d'entités spécifiques à un domaine applicatif, s'abstrayant ainsi de leur hétérogénéité. Ce langage inclut également une couche permettant de définir l'architecture d'une application. Notre suite outillée fournit un compilateur qui, à partir de descriptions DiaSpec, génère un canevas de programmation guidant les phases d'implémentation et de test. Afin d'aider à la phase de test, nous proposons une approche de simulation et un outil intégré dans notre méthodologie outillée : l'outil DiaSim. Notre approche utilise le support de test généré par DiaSpec pour tester les applications de manière transparente dans un environnement physique simulé. La simulation d'une application est rendue graphiquement dans un outil de visualisation 2D. Nous avons combiné DiaSim avec un langage dédié permet- tant de décrire les phénomènes physiques en tant qu'équations différentielles, permettant des simulations réalistes. DiaSim a été utilisé pour simuler des applications dans des domaines applicatifs variés. Notre approche de simulation a également été appliquée à un système avionique, démontrant la généralité de notre approche de simulation.
|
32 |
Feature Oriented Domain Specific Language For Dependency Injection In Dynamic Software Product LinesDayibas, Orcun 01 September 2009 (has links) (PDF)
Base commonality of the Software Product Line (SPL) Engineering processes is to analyze commonality and variability of the product family though, SPLE defines many various processes in different abstraction levels. In this thesis, a new approach to configure (according to requirements) components as building blocks of the architecture is proposed. The main objective of this approach is to support domain design and application design processes in SPL context. Configuring the products is made into a semi-automatic operation by defining a Domain Specific Language (DSL) which is built on top of domain and feature-component binding model notions. In order to accomplish this goal, dependencies of the components are extracted from the software by using the dependency injection method and these
dependencies are made definable in CASE tools which are developed in this work.
|
33 |
Sričiai orientuotos informacinės sistemos kūrimo metodikos tyrimas ir taikymas / Research of DSL for information system developmentStrakšys, Justinas 04 March 2009 (has links)
Viena iš naujausių sistemų kūrimo metodikų – sričiai orientuotas modeliavimas (angl. domain specific modeling). Ji paremta sričiai orientuotos kalbos kūrimu ir jos panaudojimu sistemos kūrimui. Ši metodika leidžia sistemos kūrimui naudoti sąvokas, artimas probleminei sričiai, kas padidina abstrakcijos lygi projektavimo metu. Srities sąvokos aptariamos ir įvardinamos kartu su ekspertais ar paprastais darbuotojais, dirbančiais analizuojamoje srityje, ir nebūtinai išmanančiais sistemų kūrimo metodus. Ši metodika leidžia sistemos projektuotojui lengviau susikalbėti su užsakovais, nes modeliuose figūruojančios sąvokos yra užsakovui suprantamos ir aiškios. / Domain Specific Modeling is a software engineering methodology for designing and developing information systems. It involves systematic use of a graphical domain specific language (DSL) to represent the various facets of a system. DSM languages tend to support higher-level abstractions than general purpose modeling languages, so they require less effort and fewer low-level details to specify a given system which is very important nowadays, when the functionality of information system must be maximized with minimum development time and cost. This paper compares usage of DSL for information system development with other two, most often used methodologies for this purpose: MDA and usage of UML. It gives basic advantages and disadvantages of DSL and DSM usage, describes differences of DSL (DSM), UML and MDA. This paper also describes usage of DSM methodology (creating DSL and using it for software development) for creating information system. It covers main steps of creation process’s: describing the domain concepts, describing the artifacts that are planning for the DSL, building domain model, building the designer for DSL, building the artifact generator, implementing validations and constraints, testing and deploying the DSL.
|
34 |
AirNet, le modèle de virtualisation « Edge-Fabric » comme plan de contrôle pour les réseaux programmables / AirNet, the "edge-fabric" virtualization model as a control plane for programmable networksAouadj, Messaoud 08 November 2016 (has links)
Les travaux de cette thèse s'inscrivent dans le contexte général des réseaux logiciels, dits "Software-Defined Networking" (SDN). Ce paradigme récent est l'une des initiatives les plus notables pour rendre les réseaux actuels programmables ou, en d'autres termes, plus simple à configurer, à tester, à corriger et à faire évoluer. Dans un écosystème SDN, l'interface nord (Northbound API) est utilisée par l'administrateur réseaux pour définir ses politiques et programmer le plan de contrôle, elle représente donc un enjeu majeur. Idéalement, cette interface nord devrait permettre aux administrateurs de décrire, le plus simplement possible, des services réseaux et leurs interactions, plutôt que de spécifier comment et sur quels équipements physiques ils doivent être déployés. Des travaux existants montrent que cela peut être notamment réalisé grâce à des solutions de virtualisation de réseaux et des langages de programmation dédiés de haut niveau. L'objectif de ce travail de thèse est de proposer une nouvelle interface nord qui, d'une part, exploiterait la virtualisation de réseau et, d'autre part, exposerait ses services sous la forme d'un langage de programmation dédié. Actuellement, plusieurs langages intégrant des solutions de virtualisation de réseau existent. Néanmoins, nous pensons que les modèles d'abstraction qu'ils utilisent pour construire des réseaux virtuels restent inappropriés pour assurer des critères de simplicité, modularité et flexibilité des topologies virtuelles et des programmes de contrôle. Dans ce contexte, nous proposons un nouveau langage de contrôle de réseaux nommé AirNet. Ce dernier intègre un modèle d'abstraction dont la principale caractéristique est d'offrir une séparation nette entre les équipements de bordure (Edge) et de cœur de réseau (Fabric). Cette idée est bien connue et acceptée dans le domaine des architectures réseaux. L'originalité de notre contribution étant de faire remonter ce concept au niveau du plan de contrôle virtuel et non de le restreindre au seul plan physique. Ainsi, des frontières logiques entre les différents types de politiques existeront (fonctions de contrôle et de données vs. fonctions de transport), garantissant ainsi la modularité et la réutilisabilité de tout ou partie du programme de contrôle. De plus, dans l'approche proposée, la définition du réseau virtuel et des politiques peut être totalement dissociée de l'infrastructure physique cible, favorisant ainsi la portabilité des applications de contrôle. Une implémentation du langage AirNet a également été réalisée. Ce prototype inclut en particulier une bibliothèque des primitives et opérateurs du langage, ainsi qu'un hyperviseur qui assure la composition des politiques de contrôle sur un réseau virtuel, et leur transposition (mapping) sur l'infrastructure physique. Afin de s'appuyer sur des contrôleurs SDN existants, l'hyperviseur inclut des modules d'intégration des contrôleurs POX et RYU. Une validation expérimentale a été menée sur différents cas d'étude (filtrage, répartition de charge, authentification dynamique, limitation de bande passante, etc.) dont les résultats attestent de la faisabilité de la solution. Enfin, des mesures de performances ont montré que le surcoût apporté par cette nouvelle couche d'abstraction est parfaitement acceptable. / The work of this thesis falls within the general context of software-defined networking (SDN). This new paradigm is one of the most significant initiatives to enable networks programmability or, in other words, to make current networks easier to configure, test, debug and evolve. Within an SDN ecosystem, the Northbound interface is used by network administrators to define policies and to program the control plane, it thus represents a major challenge. Ideally, this northbound interface should allow administrators to describe, as simply as possible, network services and their interactions, rather than specifying how and on what physical device they need to be deployed. Current related works show that this can be partly achieved through virtualization solutions and high-level domain specific languages (DSL). The objective of this thesis is to propose a new Northbound interface which will, on the one hand, rely on network virtualization and, on the other hand, expose its services as a domain specific programming language. Currently, several languages that include network virtualization solutions exist. Nevertheless, we believe that the abstract models they are using to build virtual networks remain inadequate to ensure simplicity, modularity and flexibility of virtual topologies and control programs. In this context, we propose a new network control language named AirNet. Our language is built on top of an abstraction model whose main feature is to provide a clear separation between edge and core network devices. This concept is a well-known and accepted idea within the network designer community. The originality of our contribution is to lift up this concept at the virtual control plane, not limiting it solely at the physical plane. Thus, logical boundaries between different types of policies will exist (control and data functions vs. transport functions), ensuring modularity and reusability of the control program. Moreover, in the proposed approach, the definition of the virtual network and policies is totally dissociated from the target physical infrastructure, promoting the portability of control applications. An implementation of the AirNet language has also been done. This prototype includes in particular a library that implements the primitives and operators of the language, and a hypervisor that achieves the composition of the control policies on the virtual network, and their mapping on the physical infrastructure. In order to rely on existing SDN controllers, the hypervisor includes integration modules for the POX and RYU controllers. An experimental validation has been also conducted on different use cases (filtering, load balancing, dynamic authentication, bandwidth throttling, etc.), whose results demonstrate the feasibility of our solution. Finally, performance measurements have shown that the additional cost brought by this new abstraction layer is perfectly acceptable.
|
35 |
Domain Specific Test LanguageYusupov, Roman, Artan, Stefan January 2012 (has links)
Testing is an important part of software development. It ensures that the developed product is of high standard and quality. Tieto frequently develops large complex systems which require comprehensive testing. Testing employs manually designed test cases. According to recent development within software testing it has been shown that design of test cases can be simplified with domain specific test languages (DSTL). The thesis project is a research and development study in the field of software testing and has been performed at Tieto office in Karlstad. The project concerns the development of a DSTL and a suitable development environment based on the Eclipse Platform. The project evaluates the development of a domain specific test language using the tools Eclipse JDT, developed by Eclipse Foundation, and Xtext, developed by itemis AG. The experiment was evaluated by its functionality and integrability. The project has shown promise in using a domain specific test language with a suitable development environment. The result and evaluation have shown that the subject shows promise, but needs further development if it is to be adapted within Tieto´s organization.
|
36 |
Supporting resource awareness in managed runtime environment / Soutien efficace pour créer des systèmes «conscient des ressources» sur des environnements d'exécution gérésGonzalez Herrera, Inti Yulien 14 December 2015 (has links)
Aujourd'hui, les systèmes logiciels sont omniprésents. Parfois, les applications doivent fonctionner sur des dispositifs à ressources limitées. Toutefois, les applications nécessitent un support d'exécution pour faire face à de telles limitations. Cette thèse aborde le problème de la programmation pour créer des systèmes "conscient des ressources" supporté par des environnements d'exécution adaptés (MRTEs). En particulier, cette thèse vise à offrir un soutien efficace pour recueillir des données sur la consommation de ressources de calcul (par exemple, CPU, mémoire), ainsi que des mécanismes efficaces pour réserver des ressources pour des applications spécifiques. Dans les solutions existantes, nous trouvons deux inconvénients importants. Les solutions imposent un impact important sur les performances à l'exécution des applications. La création d'outils permettant de gérer finement les ressources pour ces abstractions est encore une tâche complexe. Les résultats de cette thèse forment trois contributions : Un cadre de surveillance des ressources optimiste qui réduit le coût de la collecte des données de consommation de ressources ; une méthodologie pour sélectionner les le support d'exécution des composants au moment du déploiement afin d’exécuter la réservation de ressources ; un langage pour construire des profileurs de mémoire personnalisées qui peuvent être utilisés à la fois au cours du développement des applications, ainsi que dans un environnement de production. / Software systems are more pervasive than ever nowadays. Occasionally, applications run on top of resource-constrained devices where efficient resource management is required ; hence, they must be capable of coping with such limitations. However, applications require support from the run-time environment to properly deal with resource limitations. This thesis addresses the problem of supporting resource-aware programming in execution environments. In particular, it aims at offering efficient support for collecting data about the consumption of computational resources (e.g., CPU, memory), as well as efficient mechanisms to reserve resources for specific applications. In existing solutions we find two important drawbacks. First, they impose performance overhead on the execution of applications. Second, creating resource management tools for these abstractions is still a daunting task. The outcomes of this thesis are three contributions: an optimistic resource monitoring framework that reduces the cost of collecting resource consumption data ; a methodology to select components' bindings at deployment time in order to perform resource reservation ; a language to build customized memory profilers that can be used both during applications' development, and also in a production environment.
|
37 |
Ontology-based Analysis and Scalable Model Checking of Embedded Systems ModelsMahmud, Nesredin January 2017 (has links)
Currently, there is lack of effective and scalable methods to specify and ana-lyze requirements specifications, and verify the behavioral models of embed-ded systems. Most embedded systems requirements are expressed in naturallanguage which is flexible and intuitive but frequently ambiguous, vague andincomprehensive. Besides to natural language, template-based requirementsspecification methods are used to specify requirements specifications (esp. insafety-critical applications), which reduce ambiguity and improves the com-prehensibility of the specifications. However, the template-based method areusually rigid due to the fixed structures of the templates. They also lack meta-models for extensibility, and template selection is challenging.In this thesis, we proposed a domain specific language for embedded sys-tems, called ReSA, which is constrained natural language but flexible enoughto allow engineers to use different constructs to specify requirements. Thelanguage has formal semantics in proportional logic and description logic thatenables non-trivial and rigorous analysis of requirements specification, e.g.,consistency checking, completeness of specifications, etc.Moreover, we propose a scalable formal verification of Simulink models,whichisusedtodescribethebehaviorofsystemsthroughcommunicatingfunc-tional blocks. In industry, Simulink is the de facto modeling and analysis en-vironment of embedded systems. It is also used to generate code automati-cally from special Simulink models for various hardware platforms. However,Simulink lacks formal approach to verify large and hybrid Simulink models.Therefore, we also propose a formal verification of Simulink models, repre-sented as stochastic timed automata, using statistical model checking, whichhas proven to scale for industrial applications.We validate our approaches on industrial use cases from the automotiveindustry. These includes Adjustable Speed Limiter (ASL) and Brake-By-Wire(BBW) systems from Volvo Group Trucks Technology, both safety-critical. / Verispec
|
38 |
Vers une méthodologie dédiée à l'orchestration d'entités communicantesDrey, Zoé 22 September 2010 (has links)
Les technologies omniprésentes dans notre environnement intègrent désormais des éléments logiciels facilitant leur utilisation. Ces technologies offrent un vaste laboratoire d’expérimentation pour la recherche et en particulier pour l’informatique appliquée. Ces technologies sont un support évident pour rendre des services aux personnes dans leur vie quotidienne. Ces services concernent divers champs d’applications, chacun servant des objectifs spécifiques : confort,sécurité, accès à l’information ou encore assistance à la personne. Puisque les applications offrant ces services sont intimement liées aux besoins des utilisateurs, il est indispensable qu’elles s’adaptent facilement à leurs besoins. Une manière de répondre à ce défi est de proposer à l’utilisateur des outils pour programmer lui-même ses applications.Notre contribution consiste non seulement à définir un tel outil, sous la forme d’un langage visuel paramétré par un champ d’applications, mais aussi à proposer une méthodologie dont l’objectif est de guider un utilisateur dans la programmation d’applications à l’aide de ce langage. Cette méthodologie est dédiée à l’orchestration d’entités communicantes : elles représentent les technologies déployées dans nos environnements. Notre approche, associant une méthodologie à un langage, est accessible à un programmeur novice et suffisamment expressive pour traiter divers champs d’applications. Afin d’augmenter la confiance de l’utilisateur dans le développement de ses applications, nous étendons la méthodologie en proposant une approche de développement dirigée par la vérification de quelques propriétés. Cette vérification est permise par la sémantique du langage, formellement définie. / Networked technologies, omnipresent in our surroundings, have increasingly more computing power, offering interfaces to easily access their functionalities. These technologies offer a widetesting ground for research, especially in applied computer science. They form an evident assistive support to help people in their daily activities. Applications that address people needs arefound in various application areas, each related to specific goals : comfort, security, information management, or assisted-living.The goal of this thesis is to propose an approach that bridges the gap between a user requirements and the applications that satisfy them. To do so, we define Pantagruel, an expressive and accessible visual language that is parameterized by an application area. To further reconcile accessibility with expressiveness, we provide the user with a domain-specific methodology toguide the development of applications. This methodology draws a bridge between the user needs and the applications, and is strongly coupled with the language concepts. In doing so, satisfying the requirements and evolving the applications according to new requirements is facilitated. To increase the user confidence in using Pantagruel language, and because the applications aimat being seamlessly integrated in his everyday life, Pantagruel programs need to be reliable.To this end, we extend our methodology with a programming approach driven by properties.These properties can be verified using the language semantics, which is formally defined.
|
39 |
Automatic synthesis of hardware accelerator from high-level specifications of physical layers for flexible radio / Synthèse automatique d'accélérateurs matériels depuis des spécifications de haut niveau de formes d'ondes pour la radio flexibleOuedraogo, Ganda Stéphane 10 December 2014 (has links)
L'internet des objets vise à connecter des milliards d'objets physiques ainsi qu'à les rendre accessibles depuis le monde numérique que représente l'internet d'aujourd'hui. Pour ce faire, l'accès à ces objets sera majoritairement réalisé sans fil et sans utiliser d'infrastructures prédéfinies ou de normes spécifiques. Une telle technologie nécessite de définir et d'implémenter des nœuds radio intelligents capables de s'adapter à différents protocoles physiques de communication. Nos travaux de recherches ont consisté à définir un flot de conception pour ces nœuds intelligents partant de leur modélisation à haut niveau jusqu'à leur implémentation sur des cibles de types FPGA. Ce flot vise à améliorer la programmabilité des formes d'ondes par l'utilisation de spécification de haut niveau exécutables et synthétisables, il repose sur la synthèse de haut niveau (HLS pour High Level Synthesis) pour le prototypage rapide des briques de base ainsi que sur le modèle de calcul de types flot de données des formes d'ondes radio. Le point d'entrée du flot consiste en un langage à usage spécifique (DSL pour Domain Specific Language) qui permet de modéliser à haut niveau une forme d'onde tout en insérant des contraintes d'implémentation pour des architectures reconfigurables telles que les FPGA. Il est associé à un compilateur qui permet de générer du code synthétisable ainsi que des scripts de synthèse. La forme d'onde finale est composée d'un chemin de données et d'une entité de contrôle implémentée sous forme d'une machine d'état hiérarchique. / The Internet of Things (IoT) aims at connecting billions of communicating devices through an internet-like network. To this aim, the access to these things is expected to be performed via wireless technologies without using any predefined infrastructures or standards. This technology requires defining and implementing smart nodes capable to adapt to different radio communication protocols. In this thesis, we have defined a design methodology/flow, for such smart nodes, starting from their high-level specification down to their implementation in FPGA fabrics. This flow aims at improving the programmability of the waveforms by leveraging some high-level specifications. Thus, it relies on the High-Level Synthesis (HLS) for rapid prototyping of the waveforms functional blocks as well as the dataflow model of computation. Its entry point is Domain-Specific Language which enables modeling a waveform while inserting some implementation constraints for reconfigurable architectures such as the FPGAs. The flow is featured with a compiler which purpose is to produce some synthesis scripts and generate some RTL source code. The final waveform consists of a datapath and a control unit implemented as a Hierarchical Finite State Machine (HFSM).
|
40 |
A virtual machine framework for domain-specific languagesFick, David 19 October 2007 (has links)
Experts in a field regularly apply a defined set of rules or procedures to carry out a problem-solving task or analysis on a given problem. Often the problem can be represented as a computer model, be it mathematical, chemical, or physics based, and so on. It would certainly be advantageous for a domain expert who is not proficient in software development to express solutions to problems in a domain-specific notation that can be executed as a program. Many new ideas aim to make software development easier and shift the development role closer to the end-user. One such means of development is the use of a small, intuitive programming language called a Domain-Specific Language (DSL.) This dissertation examines a generic approach to constructing a Virtual Machine (VM) to provide the runtime semantics for a particular DSL. It proposes a generic, object-oriented framework, called a VM Framework, in which to build a VM by subtyping abstract instruction and environment classes that are part of the VM Framework. The subtyped classes constitute an environment and an interface called an instruction set architecture and the instructions can access and operate on the environment in a deterministic way to provide the runtime semantics of a DSL program. Both instruction classes and environment classes encapsulate functionality of an existing domain, represented programmatically as a namespace construct. The namespace is home to related classes that provide the various concepts inherent of a domain. These are concepts understood by a domain expert and in this dissertation it is shown how they are exposed as DSL constructs. With the use of compiler writing tools, a compiler can be created for a DSL that generates an appropriate instruction sequence that can be executed by the VM. The grammar of the DSL is shown to feature constructs that allow a domain expert to express concepts of the underlying domain in an intuitive manner. The dissertation details how a VM is configured for a specific set of instructions and an environment. Instruction sets and environments can be extended creating VMs with additional semantics for DSLs that are similar, or contain subsets of semantics of other DSLs. The languages are intended to be intuitive and it is shown using examples how a specific DSL program is mapped to an instruction sequence with the instruction set architecture and environment in mind. Comparative performance in relation to other DSL implementations, including a hard-coded approach of a VM and an interpreted approach are also provided. The VM Framework is proven to be most effective in rapidly prototyping a DSL for a particular problem domain. The dissertation also provides examples of DSLs such as a real-valued expression language and a scene description language that uses a ray-tracer for rendering geometric objects onto a canvas. It is shown how the scene description language is an extension to the real-valued expression language in terms of their underlying VMs. All DSL grammars are provided. / Dissertation (MSc (Computer Science))--University of Pretoria, 2007. / Computer Science / MSc / unrestricted
|
Page generated in 0.066 seconds