1 |
A Lightweight Framework for Universal Fragment CompositionHenriksson, Jakob 06 January 2009 (has links) (PDF)
Domain-specific languages (DSLs) are useful tools for coping with complexity in software development. DSLs provide developers with appropriate constructs for specifying and solving the problems they are faced with. While the exact definition of DSLs can vary, they can roughly be divided into two categories: embedded and non-embedded. Embedded DSLs (E-DSLs) are integrated into general-purpose host languages (e.g. Java), while non-embedded DSLs (NE-DSLs) are standalone languages with their own tooling (e.g. compilers or interpreters). NE-DSLs can for example be found on the Semantic Web where they are used for querying or describing shared domain models (ontologies). A common theme with DSLs is naturally their support of focused expressive power. However, in many cases they do not support non–domain-specific component-oriented constructs that can be useful for developers. Such constructs are standard in general-purpose languages (procedures, methods, packages, libraries etc.). While E-DSLs have access to such constructs via their host languages, NE-DSLs do not have this opportunity. Instead, to support such notions, each of these languages have to be extended and their tooling updated accordingly. Such modifications can be costly and must be done individually for each language. A solution method for one language cannot easily be reused for another. There currently exist no appropriate technology for tackling this problem in a general manner. Apart from identifying the need for a general approach to address this issue, we extend existing composition technology to provide a language-inclusive solution. We build upon fragment-based composition techniques and make them applicable to arbitrary (context-free) languages. We call this process for the composition techniques’ universalization. The techniques are called fragment-based since their view of components— reusable software units with interfaces—are pieces of source code that conform to an underlying (context-free) language grammar. The universalization process is grammar-driven: given a base language grammar and a description of the compositional needs wrt. the composition techniques, an adapted grammar is created that corresponds to the specified needs. The result is thus an adapted grammar that forms the foundation for allowing to define and compose the desired fragments. We further build upon this grammar-driven universalization approach to allow developers to define the non–domain-specific component-oriented constructs that are needed for NE-DSLs. Developers are able to define both what those constructs should be, and how they are to be interpreted (via composition). Thus, developers can effectively define language extensions and their semantics. This solution is presented in a framework that can be reused for different languages, even if their notion of ‘components’ differ. To demonstrate the approach and show its applicability, we apply it to two Semantic Web related NE-DSLs that are in need of component-oriented constructs. We introduce modules to the rule-based Web query language Xcerpt and role models to the Web Ontology Language OWL.
|
2 |
A Lightweight Framework for Universal Fragment CompositionHenriksson, Jakob 19 December 2008 (has links)
Domain-specific languages (DSLs) are useful tools for coping with complexity in software development. DSLs provide developers with appropriate constructs for specifying and solving the problems they are faced with. While the exact definition of DSLs can vary, they can roughly be divided into two categories: embedded and non-embedded. Embedded DSLs (E-DSLs) are integrated into general-purpose host languages (e.g. Java), while non-embedded DSLs (NE-DSLs) are standalone languages with their own tooling (e.g. compilers or interpreters). NE-DSLs can for example be found on the Semantic Web where they are used for querying or describing shared domain models (ontologies). A common theme with DSLs is naturally their support of focused expressive power. However, in many cases they do not support non–domain-specific component-oriented constructs that can be useful for developers. Such constructs are standard in general-purpose languages (procedures, methods, packages, libraries etc.). While E-DSLs have access to such constructs via their host languages, NE-DSLs do not have this opportunity. Instead, to support such notions, each of these languages have to be extended and their tooling updated accordingly. Such modifications can be costly and must be done individually for each language. A solution method for one language cannot easily be reused for another. There currently exist no appropriate technology for tackling this problem in a general manner. Apart from identifying the need for a general approach to address this issue, we extend existing composition technology to provide a language-inclusive solution. We build upon fragment-based composition techniques and make them applicable to arbitrary (context-free) languages. We call this process for the composition techniques’ universalization. The techniques are called fragment-based since their view of components— reusable software units with interfaces—are pieces of source code that conform to an underlying (context-free) language grammar. The universalization process is grammar-driven: given a base language grammar and a description of the compositional needs wrt. the composition techniques, an adapted grammar is created that corresponds to the specified needs. The result is thus an adapted grammar that forms the foundation for allowing to define and compose the desired fragments. We further build upon this grammar-driven universalization approach to allow developers to define the non–domain-specific component-oriented constructs that are needed for NE-DSLs. Developers are able to define both what those constructs should be, and how they are to be interpreted (via composition). Thus, developers can effectively define language extensions and their semantics. This solution is presented in a framework that can be reused for different languages, even if their notion of ‘components’ differ. To demonstrate the approach and show its applicability, we apply it to two Semantic Web related NE-DSLs that are in need of component-oriented constructs. We introduce modules to the rule-based Web query language Xcerpt and role models to the Web Ontology Language OWL.
|
3 |
Microservices to Address the Change Challenges in Socio-Technical Evolutionary-Teal Organizations / A Design-Science-Research ApproachSell, Johann 06 September 2023 (has links)
Neue Organisationsformen, wie evolutionäre Organisationen, bilden in vielen Kooperationsszenarien sozio-technische Konstrukte mit modernen CSCW Anwendungen aus. Daher erfordern Veränderungen dieser sozialen Systeme eine kontinuierliche Anpassung der technischen Tools an die neuen sozialen Konfigurationen.
Diese Dissertation ist als Design Science Research (DSR) Projekt konzipiert und addressiert die folgende Forschungsfrage (RQ): “Wie können soziotechnische, evolutionäre Organisationen die Herausforderungen der joint optimization und des organizational choice während ihrer autopoietischen Veränderungsprozesse addressieren?”
Die Fallstudie Viva con Agua de St. Pauli e.V. wurde mittels qualitativer und ethnographischer Methoden im Rahmen der entsprechenden DSR Zyklen untersucht. Das Forschungsprojekt fokussiert die Entwicklung von Artefakten indem sowohl eine technische, als auch eine soziale Perspektive eingenommen wird.
Aus der technische Perspektive wird die RQ durch eine Microservice-Plattform adressiert. Die Architektur dient der Verteilung von Verantwortlichkeit für die Software in einem heterogenen Netzwerk von Entwickler:innen. Dabei müssen diverse neue Herausforderungen beachtet werden, wie etwa die Verteilung des User Interface.
Durch die Betrachtung der RQ aus der sozialen Perspektive wird der USMU Workshop entwickelt. Dieses Artefakt dient der Verbindung der Charakteristika evolutionärer Organisationen mit agiler Software Entwicklung und mit Methoden des partizipativen Designs.
Die Studien zeigen, dass beide Artefakte die RQ adressieren. Zudem konnte ich für beide Artefakte wertvolle Verbesserungsmöglichkeiten aufzeigen. Somit motivieren die Ergebnisse den nächsten Schritt des Projekts und die vorliegende Thesis wird Bestandteil des zyklischen Ablaufs eines DSR Projekts. / The emergence of new types of organizational structures, such as evolutionary-teal organizations, almost always leads to the development of socio-technical constructs when it comes to working in collaboration with modern CSCW applications. A consequence of this is that the social system’s autopoietic change processes create challenges that compel one to adjust the implementation of the technical tool to the social system’s new configuration.
This thesis is structured according to the design science research (DSR) approach and focuses on the research question (RQ): “How can socio-technical evolutionary-teal organizations address the challenges of joint optimization and organizational choice during their autopoietic processes?”
For this purpose, the case study Viva con Agua de St. Pauli e.V. is investigated using a qualitative ethnographical approach during the DSR cycles. Addressing the RQ, two artifacts are designed from a technical as well as a social perspective. While the technical perspective primarily investigates the adjustments of technology, the social perspective focuses on the management of change in socio-technical evolutionary-teal organizations.
I propose a microservice platform as an artifact that addresses the RQ from a technical perspective. The microservice architecture aims at spreading the responsibility for the software through a heterogeneous ecosystem of developers.
The newly designed USMU workshop is addressing the RQ from the social perspective. It strives to intertwine the characteristics of evolutionary-teal organizations with agile software development and participatory design methods.
In my studies, I examine the fact that both artifacts can be used to address the RQ. Additionally, I was able to identify valuable improvements for both of my artifacts. Hence, the project follows the lifecycle of a DSR project by reasoning through the results presented here for its next iteration.
|
Page generated in 0.0895 seconds