4,504 research outputs found
Designing Software Architectures As a Composition of Specializations of Knowledge Domains
This paper summarizes our experimental research and software development activities in designing robust, adaptable and reusable software architectures. Several years ago, based on our previous experiences in object-oriented software development, we made the following assumption: ‘A software architecture should be a composition of specializations of knowledge domains’. To verify this assumption we carried out three pilot projects. In addition to the application of some popular domain analysis techniques such as use cases, we identified the invariant compositional structures of the software architectures and the related knowledge domains. Knowledge domains define the boundaries of the adaptability and reusability capabilities of software systems. Next, knowledge domains were mapped to object-oriented concepts. We experienced that some aspects of knowledge could not be directly modeled in terms of object-oriented concepts. In this paper we describe our approach, the pilot projects, the experienced problems and the adopted solutions for realizing the software architectures. We conclude the paper with the lessons that we learned from this experience
Tracing the Biological Roots of Knowledge
The essay is a critical review of three possible approaches in the theory of knowledge while tracing the biological roots of knowledge: empiricist, rationalist and developmentalist approaches.
Piaget's genetic epistemology, a developmentalist approach, is one of the first comprehensive
treatments on the question of tracing biological roots of knowledge. This developmental approach is
currently opposed, without questioning the biological roots of knowledge, by the more popular
rationalist approach, championed by Chomsky. Developmental approaches are generally coherent
with cybernetic models, of which the theory of autopoiesis proposed by Maturana and Varela made
a significant theoretical move in proposing an intimate connection between metabolism and
knowledge. Modular architecture is currently considered more or less an undisputable model for
both biology as well as cognitive science. By suggesting that modulation of modules is possible by
motor coordination, a proposal is made to account for higher forms of conscious cognition within
the four distinguishable layers of the human mind. Towards the end, the problem of life and
cognition is discussed in the context of the evolution of complex cognitive systems, suggesting the
unique access of phylogeny during the ontogeny of human beings as a very special case, and how
the problem cannot be dealt with independent of the evolution of coding systems in nature
Realizing live sequence charts in SystemVerilog.
The design of an embedded control system starts with an investigation of properties and behaviors of the process evolving within its environment, and an analysis of the requirement for its safety performance. In early stages, system requirements are often specified as scenarios of behavior using sequence charts for different use cases. This specification must be precise, intuitive and expressive enough to capture different aspects of embedded control systems. As a rather rich and useful extension to the classical message sequence charts, live sequence charts (LSC), which provide a rich collection of constructs for specifying both possible and mandatory behaviors, are very suitable for designing an embedded control system. However, it is not a trivial task to realize a high-level design model in executable program codes effectively and correctly. This paper tackles the challenging task by providing a mapping algorithm to automatically synthesize SystemVerilog programs from given LSC specifications
ImageJ2: ImageJ for the next generation of scientific image data
ImageJ is an image analysis program extensively used in the biological
sciences and beyond. Due to its ease of use, recordable macro language, and
extensible plug-in architecture, ImageJ enjoys contributions from
non-programmers, amateur programmers, and professional developers alike.
Enabling such a diversity of contributors has resulted in a large community
that spans the biological and physical sciences. However, a rapidly growing
user base, diverging plugin suites, and technical limitations have revealed a
clear need for a concerted software engineering effort to support emerging
imaging paradigms, to ensure the software's ability to handle the requirements
of modern science. Due to these new and emerging challenges in scientific
imaging, ImageJ is at a critical development crossroads.
We present ImageJ2, a total redesign of ImageJ offering a host of new
functionality. It separates concerns, fully decoupling the data model from the
user interface. It emphasizes integration with external applications to
maximize interoperability. Its robust new plugin framework allows everything
from image formats, to scripting languages, to visualization to be extended by
the community. The redesigned data model supports arbitrarily large,
N-dimensional datasets, which are increasingly common in modern image
acquisition. Despite the scope of these changes, backwards compatibility is
maintained such that this new functionality can be seamlessly integrated with
the classic ImageJ interface, allowing users and developers to migrate to these
new methods at their own pace. ImageJ2 provides a framework engineered for
flexibility, intended to support these requirements as well as accommodate
future needs
Integrated Reasoning and Proof Choice Point Selection in the Jahob System – Mechanisms for Program Survival
In recent years researchers have developed a wide range of powerful automated reasoning systems. We have leveraged these systems to build Jahob, a program specification, analysis, and verification system. In contrast to many such systems, which use a monolithic reasoning approach, Jahob provides a general integrated reasoning framework, which enables multiple automated reasoning systems to work together to prove the desired program correctness properties.
We have used Jahob to prove the full functional correctness of a collection of linked data structure implementations. The automated reasoning systems are able to automatically perform the vast majority of the reasoning steps required for this verification. But there are some complex verification conditions that they fail to prove. We have therefore developed a proof language, integrated into the underlying imperative Java programming language, that developers can use to control key choice points in the proof search space. Once the developer has resolved these choice points, the automated reasoning systems are able to complete the verification. This approach appropriately leverages both the developer’s insight into the high-level structure of the proof and the ability of the automated reasoning systems to perform the mechanical steps required to prove the verification conditions.
Building on Jahob’s success with this challenging program verification problem, we contemplate the possibility of verifying the complete absence of fatal errors in large software systems. We envision combining simple techniques that analyze the vast majority of the program with heavyweight techniques that analyze those more sophisticated parts of the program that may require arbitrarily sophisticated reasoning. Modularity mechanisms such as abstract data types enable the sound division of the program for this purpose. The goal is not a completely correct program, but a program that can survive any remaining errors to continue to provide acceptable service
Small
Screening functional phenotypes in small animals is important for genetics and drug discovery. Multiphase microfluidics has great potential for enhancing throughput but has been hampered by inefficient animal encapsulation and limited control over the animal's environment in droplets. Here, a highly efficient single-animal encapsulation unit, a liquid exchanger system for controlling the droplet chemical environment dynamically, and an automation scheme for the programming and robust execution of complex protocols are demonstrated. By careful use of interfacial forces, the liquid exchanger unit allows for adding and removing chemicals from a droplet and, therefore, generating chemical gradients inaccessible in previous multiphase systems. Using Caenorhabditis elegans as an example, it is demonstrated that these advances can serve to analyze dynamic phenotyping, such as behavior and neuronal activity, perform forward genetic screen, and are scalable to manipulate animals of different sizes. This platform paves the way for large-scale screens of complex dynamic phenotypes in small animals.P40 OD010440/CD/ODCDC CDC HHSUnited States/P40 OD010440/OD/NIH HHSUnited States/R01 AG056436/AG/NIA NIH HHSUnited States/R01NS096581/National Institute of Health/R01AG056436/National Institute of Health/ECCS-1542174/National Science Foundation/National Nanotechnology Coordinated Infrastructure/R01 NS096581/NS/NINDS NIH HHSUnited States/NIH R21NS117066/National Institute of Health/R21 NS117066/NS/NINDS NIH HHSUnited States
Modelling Reactive Multimedia: Design and Authoring
Multimedia document authoring is a multifaceted activity, and authoring tools tend to concentrate on a restricted set of the activities involved in the creation of a multimedia artifact. In particular, a distinction may be drawn between the design and the implementation of a multimedia artifact.
This paper presents a comparison of three different authoring paradigms, based on the common case study of a simple interactive animation. We present details of its implementation using the three different authoring tools, MCF, Fran and SMIL 2.0, and we discuss the conclusions that may be drawn from our comparison of the three approaches
- …