Spelling suggestions: "subject:"domainspecific languages"" "subject:"domainspecific ianguages""
71 |
Formalisierung gestischer Eingabe für Multitouch-SystemeKammer, Dietrich 31 January 2014 (has links)
Die Mensch-Computer-Interaktion wird dank neuer Eingabemöglichkeiten jenseits von Tastatur und Maus reicher, vielseitiger und intuitiver. Durch den Verzicht auf zusätzliche Geräte beim Umgang mit Computern geht seitens der Eingabeverarbeitung jedoch eine erhöhte Komplexität einher: Die Programmierung gestischer Eingabe für Multitouch-Systeme ist in derzeitigen Frameworks abgesehen von den verfügbaren Standard-Gesten mit hohem Aufwand verbunden.
Die entwickelte Gestenformalisierung für Multitouch (GeForMT) definiert eine domänenspezifische Sprache zur Beschreibung von Multitouch-Gesten. Statt wie verwandte Formalisierungsansätze detaillierte Filter für die Rohdaten zu definieren, bedient sich GeForMT eines bildhaften Ansatzes, um Gesten zu beschreiben. Die Konzeption von Gesten wird unterstützt, indem beispielsweise in einem frühen Stadium der Entwicklung Konflikte zwischen ähnlichen Gesten aufgedeckt werden. Die formalisierten Gesten lassen sich direkt in den Code einbetten und vereinfachen damit die Programmierung. Das zugrundeliegende Framework sorgt für die Verbindung zu den Algorithmen der Gestenerkennung. Die Übertragung des semiotischen Ansatzes zur Formalisierung auf andere Formen gestischer Eingabe wird abschließend diskutiert.:1 Einleitung
1.1 Motivation
1.2 Zielstellung und Abgrenzung
1.3 Aufbau der Arbeit
2 Interdisziplinäre Grundlagenbetrachtung
2.1 Semiotik
2.1.1 Begriffe und Zeichenklassen
2.1.2 Linguistik
2.1.3 Graphische Semiologie
2.1.4 Formgestaltung und Produktsprache
2.1.5 Interfacegestaltung
2.2 Gestenforschung
2.2.1 Kendons Kontinuum für Gesten
2.2.2 Taxonomien
2.2.3 Einordnung
2.3 Gestische Eingabe in der Mensch-Computer-Interaktion
2.3.1 Historische Entwicklung von Ein- und Ausgabetechnologien
2.3.2 Begreifbare Interaktion
2.3.3 Domänenspezifische Modellierung
2.4 Zusammenfassung
3 Verwandte Formalisierungsansätze
3.1 Räumliche Gesten
3.1.1 XML-Beschreibung mit der Behaviour Markup Language
3.1.2 Detektornetze in multimodalen Umgebungen
3.1.3 Gestenvektoren zur Annotation von Videos
3.1.4 Vergleich
3.2 Gesten im Sketching
3.2.1 Gestenfunktionen für Korrekturzeichen
3.2.2 Sketch Language zur Beschreibung von Skizzen
3.2.3 Domänenspezifische Skizzen mit LADDER
3.2.4 Vergleich
3.3 Flächige Gesten
3.3.1 Regelbasierte Definition mit Midas
3.3.2 Gesture Definition Language als Beschreibungssprache
3.3.3 Reguläre Ausdrücke von Proton
3.3.4 Gesture Interface Specification Language
3.3.5 Logische Formeln mit Framous
3.3.6 Gesture Definition Markup Language
3.3.7 Vergleich
3.4 Zusammenfassung
4 Semiotisches Modell zur Formalisierung
4.1 Phasen gestischer Eingabe
4.2 Syntax gestischer Eingabe
4.3 Semantik gestischer Eingabe
4.4 Pragmatik gestischer Eingabe
4.5 Zusammenfassung
5 Gestenformalisierung für Multitouch
5.1 Ausgangslage für die Konzeption
5.1.1 Ikonographische Einordnung flächiger Gesten
5.1.2 Voruntersuchung zur Programmierung flächiger Gesten
5.1.3 Anforderungskatalog für die Formalisierung
5.2 Semiotische Analyse flächiger Gesten
5.2.1 Syntax flächiger Gesten
5.2.2 Semantik flächiger Gesten
5.2.3 Pragmatik flächiger Gesten
5.3 Präzedenzfälle für die Formalisierung
5.3.1 Geschicklichkeit bei der Multitouch-Interaktion
5.3.2 Präzision bei flächigen Gesten
5.3.3 Kooperation in Multitouch-Anwendungen
5.4 Evaluation und Diskussion
5.4.1 Vergleich der Zeichenanzahl
5.4.2 Evaluation der Beschreibungsfähigkeit
5.4.3 Limitierungen und Erweiterungen
6 Referenzarchitektur
6.1 Analyse existierender Multitouch-Frameworks
6.2 Grundlegende Architekturkomponenten
6.2.1 Parser
6.2.2 Datenmodell
6.2.3 Gestenerkennung und Matching
6.2.4 Programmierschnittstelle
6.3 Referenzimplementierung für JavaScript
6.3.1 Komponenten der Bibliothek
6.3.2 Praktischer Einsatz
6.3.3 Gesteneditor zur bildhaften Programmierung
7 Praxisbeispiele
7.1 Analyse prototypischer Anwendungen
7.1.1 Workshop zur schöpferischen Zerstörung
7.1.2 Workshop zu semantischen Dimensionen
7.1.3 Vergleich
7.2 Abbildung von Maus-Interaktion auf flächige Gesten in DelViz
7.2.1 Datengrundlage und Suchkonzept
7.2.2 Silverlight-Implementierung von GeForMT
7.3 Flächige Gesten im 3D-Framework Bildsprache LiveLab
7.3.1 Komponentenarchitektur
7.3.2 Implementierung von GeForMT mit C++
7.4 Statistik und Zusammenfassung
8 Weiterentwicklung der Formalisierung
8.1 Räumliche Gesten
8.1.1 Verwandte Arbeiten
8.1.2 Prototypischer Aufbau
8.1.3 Formalisierungsansatz
8.2 Substanzen des Alltags
8.2.1 Verwandte Arbeiten
8.2.2 Experimente mit dem Explore Table
8.2.3 Formalisierungsansatz
8.3 Elastische Oberflächen
8.3.1 Verwandte Arbeiten
8.3.2 Der Prototyp DepthTouch
8.3.3 Formalisierungsansatz
9 Zusammenfassung
9.1 Kapitelzusammenfassungen und Beiträge der Arbeit
9.2 Diskussion und Bewertung
9.3 Ausblick und zukünftige Arbeiten
Anhang
Vergleichsmaterial Formalisierungsansätze
Fragebogen
Nachbefragung
Ablaufplan studentischer Workshops
Grammatikdefinitionen
Statistische Auswertung Gestensets
Literatur
Webreferenzen
Eigene Veröffentlichungen
Betreute studentische Arbeiten
Abbildungsverzeichnis
Tabellen
Verzeichnis der Code-Beispiele
|
72 |
Агентски, домен-оријентисани језик за развој интелигентних агената за дистрибуирано не-аксиоматско резоновање / Agentski, domen-orijentisani jezik za razvoj inteligentnih agenata za distribuirano ne-aksiomatsko rezonovanje / Agent-oriented domain-specific language for the development of intelligentdistributed non-axiomatic reasoning agentsSredojević Dejan 09 December 2019 (has links)
<p>У дисертацији је представљен прототип агентског, домен-оријентисаног језика ALAS. Основни мотиви развоја ALAS језика су подршка дистрибуираном не-аксиоматском резоновању као и омогућавање интероперабилности и хетерогене мобилности Siebog агената јер је приликом анализе постојећих агентских домен-оријентисаних језика утврђено да ни један језик не подржава ове захтеве. Побољшање у односу на сличне постојеће агентске, домен-оријентисане језике огледа се и у програмским конструктима које нуди ALAS језик а чија је основна сврха писање концизних агената који се извршавају у специфичним доменима.</p> / <p>U disertaciji je predstavljen prototip agentskog, domen-orijentisanog jezika ALAS. Osnovni motivi razvoja ALAS jezika su podrška distribuiranom ne-aksiomatskom rezonovanju kao i omogućavanje interoperabilnosti i heterogene mobilnosti Siebog agenata jer je prilikom analize postojećih agentskih domen-orijentisanih jezika utvrđeno da ni jedan jezik ne podržava ove zahteve. Poboljšanje u odnosu na slične postojeće agentske, domen-orijentisane jezike ogleda se i u programskim konstruktima koje nudi ALAS jezik a čija je osnovna svrha pisanje konciznih agenata koji se izvršavaju u specifičnim domenima.</p> / <p>The dissertation presents the prototype of an agent-oriented, domainspecific<br />language ALAS. The basic motives for the development of the<br />ALAS language are support for distributed non-axiomatic reasoning, as well<br />as enabling the interoperability and heterogeneous mobility of agents,<br />because it is concluded by analysing existing agent-oriented, domainspecific<br />languages, that there is no language that supports these<br />requirements. The improvement compared to similar existing agentoriented,<br />domain-specific languages are also reflected in program<br />constructs offered by ALAS language, whose the main purpose is to enable<br />writing the concise agents that are executed in specific domains.</p>
|
73 |
[en] MODEL DRIVEN QUESTIONNAIRES BASED ON A DOMAIN SPECIFIC LANGUAGE / [pt] QUESTIONÁRIOS ORIENTADOS POR MODELOS BASEADOS EM DSLLUCIANE CALIXTO DE ARAUJO 04 May 2020 (has links)
[pt] Pesquisas são pervasivas no mundo moderno e seu uso vai de medidas de
satisfação de consumidores ao rastreamento de tendências econômicas globais. No
centro do processo de pesquisa está a coleta de dados que é, usualmente, assistida
por computador. O desenvolvimento de software destinado à coleta de dados em
pesquisas envolve a codificação de questionários que variam de simples sequências
de questões abertas à questionários complexos nos quais validações, cálculo de
dados derivados, gatilhos para garantia de consistência e objetos de interesse
criados dinamicamente são a regra. A especificação do questionário é parte dos
metadados da pesquisa e é um fator chave na garantia da qualidade dos dados
coletados e dos resultados atingidos por uma pesquisa. São os metadados da
pesquisa que estabelecem a maior parte dos requisitos para os sistemas de suporte
a pesquisas, incluindo requisitos para o software de coleta de dados. À medida que
a pesquisa é planejada e executada, esses requisitos devem ser compreendidos,
comunicados, codificados e implantados, numa sequência de atividades que
demanda técnicas adequadas para que a pesquisa seja eficaz e efetiva. A Engenharia
Orientada a Modelos (Model Driven Engineering) propõe estratégias que visam
alcançar esse objetivo. Neste contexto, esta dissertação propõe o uso de Linguagens
de Domínio Específico (Domain-specific Languages - DSLs) para modelar
questionários, apresenta um protótipo e avalia DSLs como uma técnica para
diminuir a distância entre especialistas de domínio e desenvolvedores de software,
incentivar o reuso, eliminar a redundância e minimizar o retrabalho. / [en] Surveys are pervasive in the modern world with its usage ranging from the
field of customer satisfaction measurement to global economic trends tracking. At
the core of survey processes is data collection which is, usually, computer aided.
The development of data collection software involves the codification of
questionnaires which vary from simple straightforward questions to complex
questionnaires in which validations, derived data calculus, triggers used to
guarantee consistency and dynamically created objects of interest are the rule. The
questionnaire specification is part of what is called survey metadata and is a key
factor for collected data and survey quality. Survey metadata establishes most of
the requirements for survey support systems including data collection software. As
the survey process is executed, those requirements need to be translated, coded and
deployed in a sequence of activities that demands strategies for being efficient and
effective. Model Driven Engineering enters this picture with the concept of
software crafted directly from models. In this context, this dissertation proposes the
usage of a Domain Specific Language (DSL) for modeling questionnaires, presents
a prototype and evaluates DSL as a strategy to reduce the gap between survey
domain experts and software developers, improve reuse, eliminate redundancy and
minimize rework.
|
74 |
MDWA : Uma abordagem guiada por modelos para desenvolvimento de software WebTheodoro Júnior, Marcelo Brandão 13 November 2012 (has links)
Made available in DSpace on 2016-06-02T19:06:01Z (GMT). No. of bitstreams: 1
4801.pdf: 4117819 bytes, checksum: b4df67024157ee1a2c79256315a97e7d (MD5)
Previous issue date: 2012-11-13 / Universidade Federal de Sao Carlos / Software development techniques continually evolve in order to improve development and maintenance processes in addition to lower costs and higher quality. The goal of MDD is to reduce the semantic distance between a problem and its solution specification. Therefore MDD focuses on high-level abstraction modeling and successive model transformations, until finally, generate code. Studies assert that model-driven development can be significantly more efficient than traditional source code-driven software development and still reduce the possibility of occurrence of several problems during the software life-cycle. Likewise, Web engineering can also be benefited by MDD adoption, especially when supported by approaches that facilitate MDD use. Web development is usually agile with frequent releases, these approaches must be flexible to adapt to this context. However, generally, the approaches proposed by the academic community have complex processes which involve many different model definitions, programming languages, plug-ins and IDEs. These features contradict the practices adopted by Web developers. This paper presents the MWDA (Model-Driven Web Applications) approach that provides a simple process to support model-driven web development. This approach does not depend on tools, technologies or plug-ins and encourage combination with other forms of reuse and development processes. Furthermore, the Ruby- MDWA was developed with Ruby language and Ruby on Rails framework support, in order to create Web applications with MDWA assistance. This tool provides a set of textual models and defines M2M and M2C transformation tools, maintaining the requirements traceability since its specification to its construction and further maintenance. In order to show the use of the approach and tool, it was performed a real study case with a software company, from São Carlos SP, where a project management system was developed. In parallel, two experiments were conducted with undergraduate students in Computer Science and Computer Engineering and a Masters in Computer Science, to evaluate the gains and limitations of the Ruby-MDWA tool. / As técnicas de desenvolvimento de software evoluem continuamente com a finalidade de melhorar processos de construção e manutenção de software, além de obter ganhos em tempo, custo e qualidade. O objetivo do MDD é reduzir a distância semântica entre um problema e a especificação de sua solução. Para isso, MDD tem enfoque na modelagem de alto nível de abstração e em sucessivos refinamentos dos modelos construídos em artefatos mais detalhados, até enfim, gerar código. Há afirmações de que o desenvolvimento orientado a modelos pode ser significativamente mais eficiente que o desenvolvimento tradicional guiado por código fonte, além de reduzir a possibilidade de ocorrência de uma série de problemas durante o ciclo de vida do software. Da mesma forma, a engenharia de aplicações Web também pode ser beneficiada pela adoção de MDD, em especial com o apoio de abordagens que facilitem sua utilização. Como o desenvolvimento de aplicações Web comumente é ágil e com publicações freqüentes, essas abordagens devem ser flexíveis para que se adaptem a esse contexto. Entretanto, em geral, as abordagens propostas pela comunidade acadêmica apresentam processos complexos que envolvem diversos modelos, linguagens de programação, plug-ins e ambientes de programação. Essas características contrariam as práticas aprovadas pelos desenvolvedores Web. Esta dissertação apresenta a abordagem MDWA (Model-Driven Web Applications) que fornece um processo simples para desenvolvimento de software Web com apoio de MDD. A abordagem não depende de ferramentas, tecnologias ou plug-ins e estimula a combinação com outras formas de reuso e processos de desenvolvimento. Além disso, foi construída uma ferramenta, denominada Ruby-MDWA, baseada na linguagem Ruby e no framework Ruby on Rails destinada à criação de aplicações Web com auxílio da abordagem MDWA. Essa ferramenta fornece um conjunto de quatro modelos textuais e define transformadores M2M e M2C, que mantém a rastreabilidade de um requisito desde sua especificação até sua construção e posterior manutenção. Para mostrar o uso da abordagem e da ferramenta, foi realizado um estudo de caso real em conjunto com uma empresa de software de São Carlos SP, onde um sistema de gerenciamento de projetos foi desenvolvido. De forma paralela, foram conduzidos dois experimentos com alunos de graduação em Bacharelado em Ciência da Computação e Engenharia de Computação e mestrado em computação da UFSCar, visando avaliar os ganhos e as limitações da ferramenta Ruby-MDWA.
|
75 |
Well-Formed and Scalable Invasive Software Composition / Wohlgeformte und Skalierbare Invasive SoftwarekompositionKarol, Sven 26 June 2015 (has links) (PDF)
Software components provide essential means to structure and organize software effectively. However, frequently, required component abstractions are not available in a programming language or system, or are not adequately combinable with each other. Invasive software composition (ISC) is a general approach to software composition that unifies component-like abstractions such as templates, aspects and macros. ISC is based on fragment composition, and composes programs and other software artifacts at the level of syntax trees. Therefore, a unifying fragment component model is related to the context-free grammar of a language to identify extension and variation points in syntax trees as well as valid component types. By doing so, fragment components can be composed by transformations at respective extension and variation points so that always valid composition results regarding the underlying context-free grammar are yielded. However, given a language’s context-free grammar, the composition result may still be incorrect.
Context-sensitive constraints such as type constraints may be violated so that the program cannot be compiled and/or interpreted correctly. While a compiler can detect such errors after composition, it is difficult to relate them back to the original transformation step in the composition system, especially in the case of complex compositions with several hundreds of such steps. To tackle this problem, this thesis proposes well-formed ISC—an extension to ISC that uses reference attribute grammars (RAGs) to specify fragment component models and fragment contracts to guard compositions with context-sensitive constraints. Additionally, well-formed ISC provides composition strategies as a means to configure composition algorithms and handle interferences between composition steps.
Developing ISC systems for complex languages such as programming languages is a complex undertaking. Composition-system developers need to supply or develop adequate language and parser specifications that can be processed by an ISC composition engine. Moreover, the specifications may need to be extended with rules for the intended composition abstractions.
Current approaches to ISC require complete grammars to be able to compose fragments in the respective languages. Hence, the specifications need to be developed exhaustively before any component model can be supplied. To tackle this problem, this thesis introduces scalable ISC—a variant of ISC that uses island component models as a means to define component models for partially specified languages while still the whole language is supported. Additionally, a scalable workflow for agile composition-system development is proposed which supports a development of ISC systems in small increments using modular extensions.
All theoretical concepts introduced in this thesis are implemented in the Skeletons and Application Templates framework SkAT. It supports “classic”, well-formed and scalable ISC by leveraging RAGs as its main specification and implementation language. Moreover, several composition systems based on SkAT are discussed, e.g., a well-formed composition system for Java and a C preprocessor-like macro language. In turn, those composition systems are used as composers in several example applications such as a library of parallel algorithmic skeletons.
|
76 |
Well-Formed and Scalable Invasive Software CompositionKarol, Sven 18 May 2015 (has links)
Software components provide essential means to structure and organize software effectively. However, frequently, required component abstractions are not available in a programming language or system, or are not adequately combinable with each other. Invasive software composition (ISC) is a general approach to software composition that unifies component-like abstractions such as templates, aspects and macros. ISC is based on fragment composition, and composes programs and other software artifacts at the level of syntax trees. Therefore, a unifying fragment component model is related to the context-free grammar of a language to identify extension and variation points in syntax trees as well as valid component types. By doing so, fragment components can be composed by transformations at respective extension and variation points so that always valid composition results regarding the underlying context-free grammar are yielded. However, given a language’s context-free grammar, the composition result may still be incorrect.
Context-sensitive constraints such as type constraints may be violated so that the program cannot be compiled and/or interpreted correctly. While a compiler can detect such errors after composition, it is difficult to relate them back to the original transformation step in the composition system, especially in the case of complex compositions with several hundreds of such steps. To tackle this problem, this thesis proposes well-formed ISC—an extension to ISC that uses reference attribute grammars (RAGs) to specify fragment component models and fragment contracts to guard compositions with context-sensitive constraints. Additionally, well-formed ISC provides composition strategies as a means to configure composition algorithms and handle interferences between composition steps.
Developing ISC systems for complex languages such as programming languages is a complex undertaking. Composition-system developers need to supply or develop adequate language and parser specifications that can be processed by an ISC composition engine. Moreover, the specifications may need to be extended with rules for the intended composition abstractions.
Current approaches to ISC require complete grammars to be able to compose fragments in the respective languages. Hence, the specifications need to be developed exhaustively before any component model can be supplied. To tackle this problem, this thesis introduces scalable ISC—a variant of ISC that uses island component models as a means to define component models for partially specified languages while still the whole language is supported. Additionally, a scalable workflow for agile composition-system development is proposed which supports a development of ISC systems in small increments using modular extensions.
All theoretical concepts introduced in this thesis are implemented in the Skeletons and Application Templates framework SkAT. It supports “classic”, well-formed and scalable ISC by leveraging RAGs as its main specification and implementation language. Moreover, several composition systems based on SkAT are discussed, e.g., a well-formed composition system for Java and a C preprocessor-like macro language. In turn, those composition systems are used as composers in several example applications such as a library of parallel algorithmic skeletons.
|
Page generated in 0.0609 seconds