2,078 research outputs found
The Jasper Framework: Towards a Platform Independent, Formal Treatment of Web Programming
This paper introduces Jasper, a web programming framework which allows web
applications to be developed in an essentially platform indepedent manner and
which is also suited to a formal treatment. It outlines Jasper conceptually and
shows how Jasper is implemented on several commonplace platforms. It also
introduces the Jasper Music Store, a web application powered by Jasper and
implemented on each of these platforms. And it briefly describes a formal
treatment and outlines the tools and languages planned that will allow this
treatment to be automated.Comment: In Proceedings WWV 2012, arXiv:1210.5783. Added doi references where
possibl
Declarative operations on nets
To increase the expressiveness of knowledge representations, the graph-theoretical basis of semantic networks is reconsidered. Directed labeled graphs are generalized to directed recursive labelnode hypergraphs, which permit a most natural representation of multi-level structures and n-ary relationships. This net formalism is embedded into the relational/functional programming language RELFUN. Operations on (generalized) graphs are specified in a declarative fashion to enhance readability and maintainability. For this, nets are represented as nested RELFUN terms kept in a normal form by rules associated directly with their constructors. These rules rely on equational axioms postulated in the formal definition of the generalized graphs as a constructor algebra. Certain kinds of sharing in net diagrams are mirrored by binding common subterms to logical variables. A package of declarative transformations on net terms is developed. It includes generalized set operations, structure-reducing operations, and extended path searching. The generation of parts lists is given as an application in mechanical engineering. Finally, imperative net storage and retrieval operations are discussed
MiniGPT-5: Interleaved Vision-and-Language Generation via Generative Vokens
Large Language Models (LLMs) have garnered significant attention for their
advancements in natural language processing, demonstrating unparalleled prowess
in text comprehension and generation. Yet, the simultaneous generation of
images with coherent textual narratives remains an evolving frontier. In
response, we introduce an innovative interleaved vision-and-language generation
technique anchored by the concept of "generative vokens," acting as the bridge
for harmonized image-text outputs. Our approach is characterized by a
distinctive two-staged training strategy focusing on description-free
multimodal generation, where the training requires no comprehensive
descriptions of images. To bolster model integrity, classifier-free guidance is
incorporated, enhancing the effectiveness of vokens on image generation. Our
model, MiniGPT-5, exhibits substantial improvement over the baseline Divter
model on the MMDialog dataset and consistently delivers superior or comparable
multimodal outputs in human evaluations on the VIST dataset, highlighting its
efficacy across diverse benchmarks.Comment: 20 pages, 9 figure
In Pursuit of Systems Theories for Describing and Analyzing Systems in Organizations
This research essay illustrates how the IS discipline might pursue systems theories with the goal of understanding IS in new ways, generating innovative and useful systems theories, and achieving more impact in the world. It discusses recent articles that compare different perspectives and expectations related to theories and theorizing in the IS discipline. It uses the term domain-specific systems theory (DSST) to accentuate the difference between general systems theory (GST) and specific systems theories. It provides examples illustrating how DSSTs can illuminate important concerns that variance and process perspectives do not address directly. It shows how work system theory (WST) and several of its extensions are DSSTs that provide useful lenses for understanding, analyzing, and theorizing about systems in organizations. It concludes by summarizing ways in which the IS discipline might welcome systems theories more wholeheartedly
Retrofitting Typestates into Rust
As software becomes more prevalent in our lives, bugs are able to cause significant disruption.
Thus, preventing them becomes a priority when trying to develop dependable
systems. While reducing their occurrence possibility to zero is infeasible, existing approaches
are able to eliminate certain subsets of bugs.
Rust is a systems programming language that addresses memory-related bugs by
design, eliminating bugs like use-after-free. To achieve this, Rust leverages the type system
along with information about object lifetimes, allowing the compiler to keep track of
objects throughout the program and checking for memory misusage. While preventing
memory-related bugs goes a long way in software security, other categories of bugs remain
in Rust. One of which would be Application Programming Interface (API) misusage,
where the developer does not respect constraints put in place by an API, thus resulting
in the program crashing.
Typestates elevate state to the type level, allowing for the enforcement of API constraints
at compile-time, relieving the developer from the burden that is keeping track
of the possible computation states at runtime, and preventing possible API misusage
during development. While Rust does not support typestates by design, the type system
is powerful enough to express and validate typestates.
I propose a new macro-based approach to deal with typestates in Rust; this approach
provides an embedded Domain-Specific Language (DSL) which allows developers to
express typestates using only existing Rust syntax. Furthermore, Rust’s macro system is
leveraged to extract a state machine out of the typestate specification and then perform
compile-time checks over the specification. Afterwards we leverage Rust’s type system to
check protocol-compliance. The DSL avoids workflow-bloat by requiring nothing but a
Rust compiler and the library itself.À medida que as nossas vidas estão cada vez mais dependentes de software, os erros do
mesmo têm o potencial de causar problemas significativos. Prevenir estes erros torna-se
uma tarefa prioritária durante o desenvolvimento de sistemas confiáveis. Erradicar erros
por completo é impossÃvel, mas é possÃvel eliminar certos conjuntos.
Rust é uma linguagem de programação de sistemas que, por desenho, endereça erros
de gestão de memória. Para o conseguir, a linguagem inclui no sistema de tipos informação
sobre o tempo de vida dos objetos, permitindo assim que o compilador conheça a
utilização dos mesmos e detecte erros de utilização de memória. Apesar da prevenção
de erros de memória ter um papel importante na segurança de software, existem ainda
outras categorias de erros em Rust, como o uso incorrecto de interfaces de programação,
em que o programador não respeita as restrições impostas pela mesma, o que resulta
numa falha do programa.
Typestates elevam o conceito de estado para o sistema de tipos, permitindo a aplicação
das restrições da interface durante a fase de compilação. Este conceito permite assim
aliviar o programador da responsabilidade que é conceptualizar e manter o estado do
programa em mente durante o desenvolvimento, prevenindo o mau uso das interfaces.
Apesar de Rust não suportar typestates de uma forma natural, o sistema de tipos permite
expressar e validar typestates.
Proponho uma nova abordagem de modo a lidar com typestates em Rust, tal abordagem
é baseada numa DSL embebida na linguagem, permitindo assim a descrição de
typestates usando apenas a sintaxe existente. A DSL vai mais além e providencia ainda
verificações estáticas sobre a especificação, tirando proveito do sistema de macros, extrai
uma máquina de estados que é depois verificada, por fim, a verificação de conformidade
é feita pelo compilador, tirando proveito do sistema de tipos. A DSL evita poluição do
ambiente trabalho, requerendo apenas um compilador de Rust e a sua própria biblioteca
Reasoning About Foreign Function Interfaces Without Modelling the Foreign Language
Foreign function interfaces (FFIs) allow programs written in one language (called the host language) to call functions written in another language (called the guest language), and are widespread throughout modern programming languages, with C FFIs being the most prevalent. Unfortunately, reasoning about C FFIs can be very challenging, particularly when using traditional methods which necessitate a full model of the guest language in order to guarantee anything about the whole language. To address this, we propose a framework for defining whole language semantics of FFIs without needing to model the guest language, which makes reasoning about C FFIs feasible. We show that with such a semantics, one can guarantee some form of soundness of the overall language, as well as attribute errors in well-typed host language programs to the guest language. We also present an implementation of this scheme, Poseidon Lua, which shows a speedup over a traditional Lua C FFI
The TRC Report: what kind of history? what kind of truth?
Paper presented at the Wits History Workshop: The TRC; Commissioning the Past, 11-14 June, 199
Attachment Matters for All - An Attachment Mapping Exercise for Children's Services in Scotland
As part of the first phase of the Looked After Strategic Implementation Group (LACSIG), the Scottish Children’s Reporter Administration (SCRA) undertook research into care and permanence planning for younger children in care.1 They focused on 100 children all aged under four years old when they first came to the attention of services and examined how long it took from that point to achieve permanence. For over 90% of children this process took longer than two years and more than half had still not achieved a permanent placement four years after first contact with services. Several children had also experienced multiple placements, with transitions between carers often occurring at critical developmental points. The research highlighted the negative impact on long-term outcomes of such continued disruption of children’s attachments
- …