Spelling suggestions: "subject:"domainspecific languages"" "subject:"domainhspecific languages""
21 |
Generating Learning Algorithms: Hidden Markov Models as a Case StudySzymczak, Daniel 04 1900 (has links)
<p>This thesis presents the design and implementation of a source code generator for dealing with Bayesian statistics. The specific focus of this case study is to produce usable source code for handling Hidden Markov Models (HMMs) from a Domain Specific Language (DSL).</p> <p>Domain specific languages are used to allow domain experts to design their source code from the perspective of the problem domain. The goal of designing in such a way is to increase the development productivity without requiring extensive programming knowledge.</p> / Master of Applied Science (MASc)
|
22 |
Machine checkable design patterns using dependent types and domain specific goal-oriented modelling languagesde Muijnck-Hughes, Jan January 2016 (has links)
Goal-Oriented Modelling Languages such as the Goal Requirements Language (GRL) have been used to reason about Design Patterns. However, the GRL is a general purpose modelling language that does not support concepts bespoke to the pattern domain. This thesis has investigated how advanced programming language techniques, namely Dependent Types and Domain Specific Languages, can be used to enhance the design and construction of Domain Specific Modelling languages (DSMLs), and apply the results to Design Pattern Engineering. This thesis presents Sif, a DSML for reasoning about design patterns as goal- oriented requirements problems. Sif presents modellers with a modelling language tailored to the pattern domain but leverages the GRL for realisation of the modelling constructs. Dependent types have influenced the design and implementation of Sif to provide correctness guarantees, and have led to the development of NovoGRL a novel extension of the GRL. A technique for DSML implementation called Types as (Meta) Modellers was developed in which the interpretation between a DSML and its host language is implemented directly within the type-system of the DSML. This provides correctness guarantees of DSML model instances during model construction. Models can only be constructed if and only if the DSML's type-system can build a valid representation of the model in the host language. This thesis also investigated design pattern evaluation, developing PREMES an evaluation framework that uses tailorable testing techniques to provide demonstrable reporting on pattern quality. Linking PREMES with Sif are: Freyja—an active pattern document schema in which Sif models are embedded within pattern documents; and Frigg—a tool for interacting with pattern documents. The proof-of-concept tools in this thesis demonstrate: machine enhanced interactions with design patterns; reproducible automation in the PREMES framework; and machine checking of pattern documents as Sif models. With the tooling and techniques presented, design pattern engineering can become a more rigorous, demonstrable, and machine checkable process.
|
23 |
Langages dédiés au développement de services de communications / Domain-Speci?c Languages for Developing Communication ServicesPalix, Nicolas 17 September 2008 (has links)
Les services de téléphonie IP automatisent le traitement des stimuli de communication en utilisant des ressources réseaux. Cependant, l'ajout de services rend vulnérable le système de téléphonie car certaines propriétés de fonctionnement des services déployés ne sont pas garanties. Aucune solution de développement de services ne permet de simultanément garantir des propriétés de fonctionnement et d'exploiter des ressources réseaux. Cette thèse propose une approche fondée sur le concept des langages dédiés pour développer des services de communications. Deux nouveaux langages dédiés au domaine des communications ont été développés : SPL et Pantaxou. Le premier sert à router des messages de signalisation tandis que le second, plus généraliste, permet la coordination d'entités communicantes. Dans cette thèse, nous démontrons, grâce à SPL et Pantaxou, que les services de communications peuvent être développés avec un langage de programmation expressif tout en préservant des propriétés critiques du domaine. / IP telephony services use network resources to automate communication stimuli processing. However, deploying services on a telephony system leads to safety issues and programmers need to ensure some safety properties on their services. Several approaches allowing service development have quickly emerged. However, none of them is both expressive and safe. This thesis proposes a new approach that relies on domain-specific languages (DSL) to develop communication services. Two new DSLs have been designed for communication services, namely SPL (Session Processing Language) and Pantaxou. The first one allows to route signaling messages while the second one, more generalist, enables to define coordination logics of communicating entities. In this thesis, we demonstrate thanks to SPL and Pantaxou that communication services could be developed with an expressive programming language that preserves some critical domain properties.
|
24 |
Multilayered analysis of co-development of business information systemsAram, Michael, Neumann, Gustaf 01 July 2015 (has links) (PDF)
Business information systems (BIS) comprise technological (e.g. programs), informational (e.g. content) and social artifacts (e.g. collaboration structures). Typically, such systems are constantly and collectively developed (co-developed) further by a variety of individuals within the organization. By recognizing these varying types of actors (concerning their goals, technical expertise and language means) and their predominantly developed artifact type, one can distinguish two types of subsystems: technical subsystems wherein the development of the system behavior is conducted by software developers; and business subsystems dominated by end-users developing informational artifacts. So far, co-development structures within and between these subsystems are not well understood, especially the aspect that - potentially driven by appropriate measures such as the provision of domain-specific languages - co-development might shift between these subsystems.
This paper presents an approach for characterizing the co-development of real-world BIS with respect to direct participation from different kinds of contributors. This multilayered approach allows us to analyze the co-development with programming languages, domain-specific languages and end-user tools. The approach is suited to assess the direct participation of individuals from different subsystems in the development of evolving BIS. We focus on the intersection of these subsystems, present appropriate metrics and a multilayered analysis scheme. Contributions to artifacts are analyzed using social network analysis to detect structural properties of continuous co-development.
The application to Learn@WU, a real-world BIS, demonstrates how end-user enabling technologies have shifted the co-development effort of the system from a small group of developers to a several orders of magnitude larger group of contributors. We observed an increase of direct participation over time on both informational and executable artifacts, while the number of technical experts was more or less constant.
Our approach may act as a trigger for the application and further development of rigorous instruments for assessing co-development of BIS. (authors' abstract)
|
25 |
CoMDD: uma abordagem colaborativa para auxiliar o desenvolvimento orientado a modelos / CoMDD: a collaborative model driven development approachFernandes Neto, David 01 June 2012 (has links)
O desenvolvimento orientado a modelos (Model Driven Development - MDD) é uma abordagem que tem ganhado cada vez mais espaço na indústria e na academia, trazendo grandes benefícios, como o aumento de produtividade. Uma forma de se trabalhar usando MDD em equipe é usando uma IDE (Integrated Development Environment) associada a um sistema de versionamento. Entretanto, trabalhar colaborativamente usando uma IDE associada a um sistema de versionamento pode trazer algumas complicações para o desenvolvimento como: conflitos de modelos, documentação descontinuada, dificuldades por parte dos interessados em usar sistemas de versionamento, etc. Nesse contexto, este trabalho propõe uma abordagem de uso de wiki para desenvolvimento de MDD, de modo que o desenvolvedor seja capaz de criar modelos, gerar código fonte, compartilhar e versionar os modelos e ainda documentar colaborativamente, de maneira mais simples e fácil do que abordagens tradicionais. Isso possibilita que mais usuários não desenvolvedores possam participar mais no processo de desenvolvimento e ainda permite o aumento de produtividade. Para tentar evidenciar de que é possível uma wiki ser usada para desenvolver software, foi criada uma Domain Specific Language - DSL em uma wiki e foram realizados três estudos de caso: um com estudantes do ensino médio e que representam os não desenvolvedores, um com quatro alunos de pós-graduação com experiência de desenvolvimento na indústria e o último estudo de caso foi realizado com 48 participantes entre desenvolvedores e alunos de pósgraduação em Ciências da Computação. Os estudos de caso mostraram que é viável usar uma wiki para desenvolvimento, que não desenvolvedores se adaptam bem à abordagem e que 86% dos desenvolvedores usariam a abordagem proposta se tivessem que trabalhar com MDD. Os estudos de caso também levantaram as principais barreiras para aumentar a aceitação da abordagem. Com isso, este trabalho apresenta além de uma abordagem relativamente inédita na literatura, resultados sobre uso de sistemas de versionamento, de IDEs e de desenvolvimento colaborativo / The Model Driven Development (MDD) is an approach that has gained more space in industry and academia, bringing great benefits such as increased productivity. One way of working in teams with MDD is using an IDE (Integrated Development Environment) with a versioning system. However, to collaboratively work with an IDE and a versioning system may have implications and problems for the development as: conflicts of models, documentation discontinued, difficulties for stakeholders to use versioning systems, etc. In this context, this work proposes an approach to use a wiki to develop MDD, so that the developer is able to create models, generate source code, sharing and versioning models and also to collaboratively document, in a more simple and easy way than the traditional approaches. This enables non developers can participate more in the development process and also allows increasing productivity. To try to show that a wiki can be used to develop software, we created a Domain Specific Language (DSL) in a wiki and were performed three case studies: one with high school students and represent the non developers, another one with four graduate students with experience in software development in the industry, and the last case study was conducted with 48 participants among developers and graduate students in Computer Science. The case studies showed the feasibility of using a wiki for development, that non developers adapted well to the approach and 86 % of the developers would use a wiki to develop MDD. The study also raised the main barriers to increase the acceptance of the approach. Therefore, this work presents also a relatively new approach in the literature and results on the use of versioning systems, IDEs and collaboratively development
|
26 |
Abstract interpretation of domain-specific embedded languagesBackhouse, Kevin Stuart January 2002 (has links)
A domain-specific embedded language (DSEL) is a domain-specific programming language with no concrete syntax of its own. Defined as a set of combinators encapsulated in a module, it borrows the syntax and tools (such as type-checkers and compilers) of its host language; hence it is economical to design, introduce, and maintain. Unfortunately, this economy is counterbalanced by a lack of room for growth. DSELs cannot match sophisticated domain-specific languages that offer tools for domainspecific error-checking and optimisation. These tools are usually based on syntactic analyses, so they do not work on DSELs. Abstract interpretation is a technique ideally suited to the analysis of DSELs, due to its semantic, rather than syntactic, approach. It is based upon the observation that analysing a program is equivalent to evaluating it over an abstract semantic domain. The mathematical properties of the abstract domain are such that evaluation reduces to solving a mutually recursive set of equations. This dissertation shows how abstract interpretation can be applied to a DSEL by replacing it with an abstract implementation of the same interface; evaluating a program with the abstract implementation yields an analysis result, rather than an executable. The abstract interpretation of DSELs provides a foundation upon which to build sophisticated error-checking and optimisation tools. This is illustrated with three examples: an alphabet analyser for CSP, an ambiguity test for parser combinators, and a definedness test for attribute grammars. Of these, the ambiguity test for parser combinators is probably the most important example, due to the prominence of parser combinators and their rather conspicuous lack of support for the well-known LL(k) test. In this dissertation, DSELs and their signatures are encoded using the polymorphic lambda calculus. This allows the correctness of the abstract interpretation of DSELs to be proved using the parametricity theorem: safety is derived for free from the polymorphic type of a program. Crucially, parametricity also solves a problem commonly encountered by other analysis methods: it ensures the correctness of the approach in the presence of higher-order functions.
|
27 |
CatchML: a modeling language for context aware exception handling verification and specification in ubiquitous systems / CatchML: uma linguagem de domÃnio especÃfico para modelagem do tratamento de exceÃÃo sensÃvel ao contextoRafael de Lima 28 August 2013 (has links)
Conselho Nacional de Desenvolvimento CientÃfico e TecnolÃgico / In ubiquitous systems, due to the complexity added by the use of contextual information, the application of context aware exception handling (CAEH) techniques has many challenges and in the literature several approaches have been found to define concepts and abstractions useful for modeling CAEH. However, only one of these approaches proposes a method for specification and verification of models in the field of ubiquitous systems, which provides
a tool for specifying the CAEH model using a Java API, and also generates an error report to a text file. The disadvantage of this approach is that the designer should strive to understand programming details that are irrelevant to the analysis process of the exceptional behavior of the system. Then, this work aims to propose a domain specific language for modeling CAEH, which provides abstractions and constructors that allow to express relevant concepts and make the task of designing CAEH models simpler and more intuitive. In addition, the language is integrated with the tool mentioned before that allows automatic model verification. The errors generated by the verifier are now shown directly in the source code making their identification and correction easier for the designer. In order to evaluate the language, a case study is
conducted to provide evidence of its viability as an alternative to modeling CAEH. / Em sistemas ubÃquos, devido à complexidade inserida pela utilizaÃÃo de informaÃÃes contextuais, a aplicaÃÃo de tÃcnicas de tratamento de exceÃÃo sensÃvel ao contexto (TESC) tem sido objeto de estudo para muitos pesquisadores. Na literatura sÃo encontradas diversas abordagens que definem conceitos e abstraÃÃes Ãteis para modelagem de TESC. Entretanto, apenas uma dessas abordagens propÃe um mÃtodo para especificaÃÃo e verificaÃÃo de modelos no domÃnio de sistemas ubÃquos o qual fornece uma ferramenta para especificaÃÃo do modelo de TESC atravÃs de uma API Java, e gera ainda um relatÃrio de erros em um arquivo texto. A desvantagem dessa abordagem à que o projetista deve se esforÃar para entender detalhes de programaÃÃo irrelevantes ao processo de anÃlise do comportamento excepcional do sistema. Esta dissertaÃÃo tem portanto como objetivo propor uma linguagem de domÃnio especÃfico para modelagem de TESC, com o intuito de oferecer abstraÃÃes e construtores que permitem expressar conceitos pertinentes e tornar a tarefa de projetar modelos de TESC mais simples e intuitiva. AlÃm disso, a linguagem à integrada com a ferramenta citada anteriormente, o que permite realizar a verificaÃÃo do modelo de forma automÃtica. Os erros gerados pelo verificador sÃo mostrados agora diretamente no cÃdigo do modelo facilitando a identificaÃÃo e correÃÃo dos mesmos pelo projetista. A fim de avaliar a linguagem, um estudo de caso à realizado para fornecer indÃcios de sua viabilidade como alternativa para modelagem de TESC.
|
28 |
A Language-Based Approach for Web Service Composition / Approche langage pour la composition de services webBen hadj yahia, Elyas 28 November 2017 (has links)
Au vu des dernières avancées dans le domaine de l’ingénierie web, ainsi qu’avec la baisse de coût du cloud computing, les architectures orientées services sont rapidement devenues la solution prépondérante pour fournir des services à valeur ajoutée aux clients. Suite à cette tendance, la composition de services tiers est devenue un paradigme de référence pour le développement d’applications robustes et riches, ou encore pour l’automatisation de processus métiers. Avec la disponibilité de centaines de milliers de services et APIs web, la réalisation de telles intégrations devient lourde et fastidieuse quand effectuée manuellement. Par ailleurs, chaque client peut exiger des besoins et politiques d’intégration différentes, ce qui complexifie davantage la tâche. De plus, fournir une telle solution qui soit à la fois robuste et scalable est une tâche non-triviale. Il est donc primordial d’étudier comment coordonner de manière efficace les interactions entre les services web existants. Ainsi, cette thèse vise à étudier les problématiques liées à la composition de services web dans le contexte des pratiques de développement web modernes. Nous présentons un cadre architectural permettant la spécification de compositions de services web grâce à une approche orientée langage, et montrons comment supporter leur exécution de manière scalable grâce à MEDLEY, une plateforme légère et orientée événements. / In light of the recent advances in the field of web engineering, along with the decrease of cost of cloud computing, service-oriented architectures rapidly became the leading solution in providing valuable services to clients. Following this trend, the composition of third-party services has become a successful paradigm for the development of robust and rich distributed applications, as well as automating business processes. With the availability of hundreds of thousands of web services and APIs, such integrations become cumbersome and tedious when performed manually. Furthermore, different clients may require different integration requirements and policies, which further complexifies the task. Moreover, providing such a solution that is both robust and scalable is a non-trivial task. Therefore, it becomes crucial to investigate how to efficiently coordinate the interactions between existing web services. As such, this thesis aims at investigating the underlying challenges in web service composition in the context of modern web development practices. We present an architectural framework to support the specification of web service compositions using a language-based approach, and show how we support their execution in a scalable manner using MEDLEY, a lightweight, event-driven platform.
|
29 |
Langage dédié au traitement des événements complexes et modélisation des usages pour les réseaux de capteurs / Complex event processing domain-specific language and modelling of usages for sensors networksGarnier, Alexandre 15 December 2016 (has links)
On assiste ces dernières années à une explosion des usages dans l’Internet des objets. La démocratisation de ce monde de capteurs est le fruit, d’une part de la baisse drastique des coûts dans l’informatique embarquée, d’autre part d’un support logiciel toujours plus mature. Que ce soit au niveau des protocoles et des réseaux (CoAP, IPv6, etc) ou de la standardisation des supports de développement, notamment sur microprocesseurs ATMEL, les outils à disposition permettent chaque jour une plus grande homogénéisation dans la communication entre des capteurs toujours plus variés. Cette diversification rassemble chaque jour des utilisateurs aux attentes et aux domaines de compétence différents, avec chacun leur propre compréhension des objets connectés. La complexification des réseaux de capteurs, confrontée à cette nécessité d’adresser des usages fondamentalement différents, pose problème. Sur la base d’un même réseau de capteurs hétéroclite, il est crucial de pouvoir répondre aux besoins de chacun des utilisateurs, sans réclamer d’eux une maîtrise du réseau de capteurs dépassant exagérément leur domaine de compétence. L’outil décrit dans ce document se propose d’adresser cette problématique au travers d’un moteur de requête dédié au traitement des données issus des capteurs. Pour ce faire, il repose sur une modélisation des capteurs au sein de différents contextes, chacun à même de répondre à un besoin utilisateur précis. Sur la base de ce modèle est mis à disposition un langage dédié pour le traitement des événements complexes issus des données mesurées par les capteurs. L’implémentation de cet outil permet en outre d’interagir avec d’éventuelles fonctionnalités d’actuation du réseau de capteurs. / Usages of the internet of things experience an exponential growth these last few years. As a matter of fact, this is the result of, on one hand the significantly lowercosts in embedded computing systems, on the other hand the maturing of the software layers. From protocols and networks (CoAP, IPv6, etc) to standardization of ATMEL microcontrollers, tools at hand allow a better communication between more and more various sensors. This diversification gather every day users with different needs, expectations and fields of expertise, each one of them having his own approch, his own understanding of the connected things. The main issue concerns the complexity of the sensor networks, with regard to this necessity to address deeply different usages. Based on a single heterogeneous sensor network, it is critical to be able to meet the needs of each user, without having them to master the network beyond their own field of expertise. The tool described in this document aims at addressing this issue via a query engine dedicated to the processing of data collected from the sensors. Towards this end, it relies on a modelling of the sensors within several contexts, each of them reflecting a specific usage. On this basis a domain-specific language is provided, allowing complex event processing over the data monitored by the sensors. Furthermore, the implementation of this tool allows to interact with optional actuation functionalities of the sensor network.
|
30 |
Domain-specific languages / Domain-specific languagesJasný, Vojtěch January 2009 (has links)
The topic of the thesis are domain-specific languages (DSL) and their use in software development. The target audience are developers interested in learning more about this progressive area of software development. It starts with a necessary theoretical introduction to programming languages. Then, a classification of DSLs is given and software development methodologies based on DSLs are described, notably Language Oriented Programming and Intentional Programming. Another important piece in construction of domain-specific langauges -- the language workbench is also described. In the next chapter, several important tools for DSL creation are presented, described and compared. Each of the tools represents a different possible approach to designing DSLs -- textual, projectional or graphical. The last chapter of the thesis contains a practical example of a DSL implementation in the Meta Programming System by Jet- Brains and Xtext from Eclipse. A domain-specific language for the description of questionnaires is designed from scratch and a code generator for that language is created. A comparison of the DSL based technique to traditional software development techniques is given and the tools used are compared.
|
Page generated in 0.0814 seconds