2. Advanced Computing Systems Engineering
General Information
Contact person : Prof Dr L.O. Hertzberger
Telephone : +31 - 20 - 525 7464
URL : http://www.science.uva.nl/research/arch/
Fax : +31 - 20 - 525 7419
E-mail : bob@science.uva.nl
Position within the Organisation
The Advanced Computing Systems Engineering programme is carried out by the Computer Architecture and Parallel Systems (CAPS) group, one of the three research groups of the Computing, System Architecture and Programming Laboratory at the Informatics Institute of the Faculty of Science.
The CAPS group participates in the Dutch Graduate School `ASCI'.
Characterization
Computer architecture is driven by the interaction between technology-push from the development of sub-micron technology and demand-pull for efficient and portable implementations of applications. Research in this field is relatively broad as it expands from single processor systems to complex parallel and heterogeneous computer systems. More specifically, computer architecture research may vary from the study of large-scale distributed systems such as applied for traffic control towards the study of embedded systems-on-chip, as being used in modern digital multimedia consumer electronics. The research field further expands when the consequences and requirements set by the applications on the underlying software and hardware systems are also taken into consideration. For instance, modern multimedia networking applications may tolerate lossy communication when dealing with audio and video streaming, whereas modern database applications require lossless and often redundant communication. These databases themselves form the basis for many new application areas such as virtual enterprises and virtual laboratories, of which we can observe an impact on the system architecture. In other situations, computer systems are embedded in a larger environment that will put their own specific (real-time) demands on the overall computer system.
Keywords
Parallel, distributed and grid-based system architectures, computer systems modeling and simulation, (federated) database architecture, cooperative and inter-operable systems, optical networking, AAA architecture.
NOAG-I-Theme: Parallel and Distributed Computing
Main themes
The leading objective of the Advanced Computing Systems Engineering programme is to let its research be driven by problems that are of relevance to society. The methodology applied is to find relevant problems that can be translated into interesting research questions that are challenging to be solved. As the relevant
real-world applications will mainly be found in industry and the governmental agencies, collaboration with these actors is essential. In our research we restrict ourselves to methods and tools for complex, typically parallel/distributed, computing systems design and realization. This research activity comprises two major tracks:
* Methods and tools for (embedded) computing systems design
* Advanced information management system support
The research on computing systems design (track 1) concentrates on modeling and simulation of complex computer based systems with the aim to predict performance. From two decades of modeling and simulation experience, we learned that the generalization of the models and the choice of abstraction levels is very dependent of the design questions posed, as well as of the system under study. We are currently applying this knowledge to the problem of embedded systems design. Modern embedded systems, like those for media processing, often have a heterogeneous system architecture with components in the range
from fully programmable to dedicated hardware. These components are integrated as a system-on-chip that exploits task-level parallelism. The design complexity of such embedded systems makes it essential
to have good tools available for exploring different design choices at an early design stage. Our research, which is performed in close collaboration with Philips Research Laboratories in Eindhoven and other Dutch universities, aims at developing modeling and simulation methods for the efficient design space exploration of heterogeneous embedded media systems. Key to this work is the definition of the abstraction levels at which these systems can be efficiently modeled.
Another field of embedded system design we are studying is that of road transport telematics applications, like electronic fee collection. Contrary to the previous case where the emphasis is on modeling the architecture and application(s) separately, here the emphasis has been on modeling the computer system and application, including the sensory system, as a whole. In the computing systems design track, we also perform research on advanced Internet topics. The main emphasis of this work is to get the best Internet Quality of Service (QoS) for different applications and to design policy and security architectures for GRID applications and Middleware.
The information management research (track 2) focuses on the design and the prototypical development of database systems to support the classification and manipulation of the information handled within advanced and complex data-intensive applications. Considering the wide variety of both the information handling characteristics and the environment heterogeneity required by such complex applications, multi-faceted methodologies and mechanisms are to be considered in this research. Two main areas of research and development are considered. The first area is focused on the design and development of fundamental infrastructures and mechanisms to support the advanced and complex data-intensive application domains. The second area is focused on certain specific system engineering applications, and the design and development of tailored frameworks and tools to support their needs. The Virtual Laboratory (VL) framework (discussed later on) is an important initiative that integrates the research in both areas.
Organizational changes
During 2004, Dr. H. Afsarmanesh left CAPS to join the Human-Computer Studies Lab. Also in 2004, Prof. C. Jesshope joined the UvA to form a new group, called Computer Systems Architecture (CSA). The CSA group currently still operates under the umbrella of CAPS. With the appointment of Prof. C. Jesshope, Dr. A.D. Pimentel moved to the CSA group.
Track 1: Methods and tools for (embedded) computing systems design
Architectures and meThods for Embedded MedIa Systems (Artemis)
In the Artemis project, an architecture modeling and simulation workbench is developed which aims at the efficient design space exploration of heterogeneous embedded media systems. In 2004, which was the final year of Artemis, we continued to address the problem of architecture model refinement. More specifically, we apply a refinement method -- based on Integer-controlled Data-Flow (IDF) models -- that allows for runtime transformation of application-level events to architecture-level events. Using case studies, we have shown that our method allows for refining both architectural communication behavior and computational behavior. In addition, we continued the development of our prototype modeling & simulation software framework, called Sesame, to support all developed modeling and simulation technology. Moreover, we performed several studies on mathematically modeling the mapping of application models onto architecture models. For this work, we developed a multi-objective optimization tool to quickly explore different mappings under multiple criteria. Finally, we developed a layer on top of the widely-used SystemC simulation language, raising the abstraction level of this language and allowing easier construction of so-called transaction-level models (these are the performance models applied in Artemis).
Advanced Internet Research (AIR)
The main emphasis is to map different demanding grid applications to optical/photonic networks and to
design control, policy and security architectures for Grid applications and Middleware. To that extent competence was gained in three areas of research: Authentication, Authorization and Accounting (AAA) architectures and models, Optical networks and high bandwidth data transport protocols and test environments. In 2004, a key demonstration was given at SuperComputing 2004 by showing the first working concept of software to provision dedicated optical paths (lambdas) in real time in a multi-domain scenario. The demonstrator worked over four domains using NORTEL software with our AAA toolkit interfaced and showed restoration functionality in case of a link failure. The next paragraphs describe work in the different subsections in the AIR group.
Optical networking architectures and models. Trans-oceanic optical transportation, 10 Gbps Ethernet WAN PHY and Lambda switching have already geared understanding on how to build an optical Internet exchange, but this understanding is still not yet fully developed. We are working on "terminology and modeling of networks". We studied the ITU G.805 standard (together with related ITU standards) and compared our terminology with the ITU definitions. The ITU definitions make it possible to accurately describe a network connection. We try to develop a simpler model, maybe giving more simplified descriptions of single end to end connections, which can be more suitable for describing complete networks
IP transport protocols, performances monitoring and measurements. In this field we have worked on tools to measure performances of network infrastructure, tools to graphically display that information and we worked on understanding why performances are as we measure them. We also enabled existing grid infrastructures to be used as throughput measurement tools. We performed a large number of throughput tests divided over various topology setups, and also worked on improving the tools used to test, measure and estimate the bandwidth. We want to use the grid infrastructure including distributed computing middleware to build a traffic generator. We have developed applications running under the Globus Toolkit with MPICH-G2 to use grid resources to generate known traffic profiles. We are also working on providing access to network elements via Web Services. This will allow end users and applications to dynamically monitor and possibly manage the various network components.
Authorization, Authentication and Accounting. This part of the research focuses on the development en testing of concepts around Generic AAA. The AIR group has developed a Generic AAA toolkit on a testbed build with various network components. This work focused on the RFC 2903 based Rule Based Engine and its associated language. Furthermore, we have been working on the next generation Application Specific Modules (ASMs), and have designed an ASM framework working in Service Oriented Architecture by making all ASM web-services compliant.
In 2004 we worked on positioning GAAA toolkit within various research projects.
Prototyping environment. This activity encompasses all work to build and maintain the research networking infrastructure and the build of prototypes and demonstrators. In cooperation with SARA, we have created an advanced networking and grid integration research laboratory, called the LightHouse.
Track 2: Advanced information management system support
Virtual Laboratory for e-Science (VL-e)
The aim of the ‘Virtual Laboratory for e-Science’ project is to bridge the gap between the technology push of the high performance networking and the Grid and the application pull of a wide range of scientific experimental applications. It will provide generic functionalities that support a wide class of specific e-Science application environments and set up an experimental infrastructure for the evaluation of the ideas.
Earlier work on virtual laboratory technology resulted in VLAM-G, the Grid-based Virtual Laboratory AMsterdam, which provides a science portal for distributed analysis in applied scientific research. It offers scientists the possibility to carry out their experiments in a familiar environment, where content and data are clearly separated. We have made the outcome of the VLAM-G project available to the VL-e consortium as an experimental environment on the DAS2 clusters. This included the migration of the expertise developed in the context of the VLAM-G project to the Virtual Lab School project. For the (near) future, we have planned work on dynamic workflow for e-science applications in Grid based environments, as well as resource management.
VL-e/COLIM (Collaborative Information Management)
VL-e is a multi-disciplinary environment aiming to support a variety of scientific environments from areas ranging from food informatics to bioinformatics and biodiversity. Collaborative Information Management (COLIM) is the subprogram of the VL-e project that addresses the management of information generated and manipulated by scientific experiments. COLIM addresses the design and implementation of a generic collaborative information management system (CIMS), design and development of necessary assisting tools, and exploration of the Grid technology for federated query processing. Based on the initial results of requirements analysis, the high-level COLIM architecture has been designed. Another task being performed in COLIM is to support specific information management requirements of some applications, such as biodiversity. In the near future, the design of the system will be finalized considering the requirements of the VL-e applications as well as the designs and directions of the other generic VL-e subprograms. The development activities for the system and the necessary assisting tools will start. The existing VLAM-G/VIMCO software will be migrated to the production environment and maintained. A database for biodiversity domain has been developed, which will be extended/updated taking the international developments in the domain into account.
NWO Flexworks – A Framework for Flexible Data Integration to Support System Biology
The aim of the Flexworks project was to combine data generated using different biomolecular techniques on a genome-wide scale in a flexible manner for the Dutch scientific community. Major research aim of UvA – IvI was to provide information management support in the domain of system biology. The information management work focused on the definition of common data models, design and development of collaborative database architectures, design and development of Grid and Virtual Laboratory-based infrastructures for properly supporting the data manipulation requirements of the targeted bio-molecular experimentation environments. In 2004, the project has ended and a final report for the project has been generated. The achieved results include information modeling and management for DNA sequence analysis and for microarray gene expression analysis.
EC 5FP ENBI – European Network for Biodiversity Information
The main objective of UvA-IvI in ENBI is the analysis and design of a co-operative federated information management system inter-linking and integrating the varied biodiversity databases as well as investigating a number of other technologies and paradigms, namely Virtual Organizations, the Grid technology, and Collaborative Information Management System (CIMS), to address the information management challenges in ENBI. In 2004, UvA-IvI explored the potential of using these technologies and paradigms in the biodiversity domain and presented the results in three different deliverables. In the near future, a design of the federated architecture for the Collaborative Information Management System will be developed, which will be provided in two deliverables: Draft and final design report of the federated architecture.
3. Programming Research
General Information
Contact person : Prof Dr J.A. Bergstra
Telephone : +31 - 20 - 525 7462
URL : http://www.science.uva.nl/research/prog/
Fax : +31 - 20 - 525 7419
E-mail : janb@science.uva.nl
Position within the Organisation
The Programming Methods and Programming Environments programme is carried out by the Programming Research Group (PRG) at the Informatics Institute of the Faculty of Science. This group is one of the three research groups of the Computing, System Architecture and Programming (CSP) Laboratory at the Informatics Institute of the Faculty of Science.
The PRG participates in the Dutch Graduate School `IPA'.
Characterization
Research in the Programming Research Group takes shape in two projects:
Programming Methods and Programming Environments.
In the first project, the design and systematic use of algebraic methods in specification languages, modeling of processes and program transformations are point of departure. This project primarily aims at the transfer of results to the scientific literature and to the educational stream.
The Programming Environments project concentrates on the generation of programming environments from a formal language definition, in particular generic user-interfaces and implementation and integration of distributed, interactive systems. This project has produced several systems that are being distributed to others.
Keywords
Algebraic Specification, Generic Language Technology, Term Rewriting, Interoperability of Software Components, Semantics of Programming Languages, System Renovation.
NOAG-I-Themes: Software Engineering (SE), Algorithms and Formal Methods (AFM).
Main themes
The work in the Programming Methods and Environments programme during 2004 comprises two major projects:
Programming Methods
General subject is the design and systematic use of algebraic methods in specification languages, modeling of processes, and program transformations. This includes the design and development of tools to support research and education in this field. This project is supervised by Bergstra.
In the Programming Methods project, process algebra is used to specify and analyze the semantics of programs and programmed systems. With process algebra, one fully abstracts from the textual, syntactic appearance of programs, and reasons in terms of behavior. Process algebra exists within the paradigm of semantics as homomorphism on syntax (compositional semantics): behavior can be expressed in process expressions and is subject to forms of algebraic reasoning. In program algebra - contrary to process algebra - one considers aspects of the form of programs that are not preserved after abstraction to behavior. Examples of such aspects are software metrics or programs with jump instructions (go to's); here the semantics is no longer a homomorphic image of the syntax. Program algebra is meaningful in the study of program transformations that occur, for instance, in compilers. Module algebra is also part of program algebra; flattening a modularized specification is a manifest example of a program transformation with non-trivial semantics.
Programming Environments
The general research approach is to bring together established fundamental notions such as modularization, term rewriting, and program generation with pragmatic needs such as component-based development and understanding or transforming legacy systems. Formal language definitions play an important role in this approach. They describe the syntax and semantics of a domain-specific or programming language and form the basis for the analysis and transformation of software in existing languages, for the generation of specific tools, and for the development of domain-specific languages. The aim is to realize truly generic language technology that can be applied in many problem areas. This project is supervised by Klint and mainly carried out at CWI.
From the perspective of the Programming Environments project, both programming languages and application-oriented languages (e.g., for accessing databases or specifying financial products) need interactive tools to support activities like program development, maintenance, and renovation. In this project, we generate dedicated interactive environments and tools for these activities from formal definitions of the desired languages. The tooling for Programming Environments is based on fundamental notions like algebraic specification, term rewriting, process algebra, and generalized LR parsing. The research aims at further development and application of these notions (e.g., efficient compilation of term rewriting, scannerless parsing) as well as applications (e.g., renovation factories for software transformations).
2004 Results
Programming Methods
In the field of process algebra, we concentrated on foundational research, extensions of the theory, and publication in the scientific literature. Furthermore, our external collaborations in this area of research were continued. The program algebra project emerged in 1998. This project primarily aims at the transfer of this work to the scientific literature and to our own students. A new line of development within this project is thread algebra, focusing on behavioral semantics and tailored to extensions that precisely model various forms of multi-threading. Finally, our foundational work in the theory of algebraic specification and module algebra was continued as well.
We summarize our specific research results:
Process algebra
-
A model theory for process algebra has been developed. Also a study to process algebra for hybrid systems was undertaken.
-
A new characterization of orthogonal bismulation equivalence in terms of the compression structure of a process was found and will be published in IPL next year.
-
A topic of ongoing research in process algebra is the integration of Bellnap’s four-valued logic and process algebra via conditional composition.
Program algebra
-
Further development and applications of program algebra, e.g., the definition of higher, special purpose dialects. Examples are enrichments with notions for compilers and networks, and client-server interaction. Finally, appropriate projection functions for these enrichments were defined.
-
Definition of an intermediate language suitable to interpret Object-Oriented languages such as Java and C#, and appropriate projection functions.
-
Design and implementation of the basic instruction sets MSPio and of a generic compiler for the PGA-Toolset at this moment capable of compiling to Parrot (the virtual machine for Perl6) and CIL (ditto for .NET).
-
Maintenance and further development of the PGA-Toolset, for instance a web-interface for some of the tools was added (see http://www.science.uva.nl/research/prog/projects/pga).
Algebraic specification and module algebra
In 2004, some work was done in the book project "Foundations of algebraic specification" (Rodenburg). In the tradition of algebraic specification many-sorted algebras play an important part, but there are variants, and many alternative semantics have been proposed (Goguen and Burstall have described these in general as institutions). A model theory can be developed that embraces them all. (In particular it also subsumes the theory of categories.) Older ideas about reduction relations in algebras, a generalisation of term rewriting, will find their place here. Furthermore, work is in progress on a final version of Module algebra for initial algebra semantics (PRG-report P9407) based on an improved understanding of the notion of export. Finally, a talk on this subject was contributed to the ASL Logic Colloquium 2004 (Turin, Italy).
Programming Environments
The basic technological framework for our research is the Asf+Sdf Meta-Environment: both an interactive development environment for Asf+Sdf specifications and a generator for programming environments. The formalism Asf+Sdf is based on algebraic specifications and context-free grammars and is used to specify syntactic and semantic aspects of programming and application languages. Implementation techniques for the Meta-Environment include term rewriting, scannerless generalized LR parsing (SGLR) and coordination of software components. The main scientific results can be summarized as follows:
Component-based software engineering. Interconnection techniques for software components and coordination languages were developed. The main result is the ToolBus coordination architecture that uses a scripting language based on Process Algebra for describing (and executing) the cooperation between heterogeneous software components.
ATerms. One of the abstractions used in the ToolBus architecture is that the exchange of data between components is described by simple prefix terms that can carry annotations for specific purposes. This idea has been perfected in ATerms: a very efficient library for the exchange of term-structured data. Main features are maximal subterm sharing, automatic garbage collection and binary term encoding.
Efficient implementation of Asf+Sdf. Using ATerms (and hence maximal subterm sharing) during term rewriting has two major implications: testing for term equality becomes a cheap, constant-time, operation that only uses pointer equality and the size of terms that can be manipulated increases orders of magnitude. Combining these two ideas with several optimization techniques we can compile specifications to highly efficient C code. The resulting code is very fast and can handle huge terms (more than 10^6 nodes).
Scannerless, generalized, LR parsing (SGLR). Generalized LR parsing (GLR) has always been used in the Meta-Environment. The primary reason is that GLR can be used to parse arbitrary context-free grammars. Since context-free grammars are closed under composition, they can be used for parsing modular grammars. This is a major advantage when dealing with large grammars for real languages (e.g., Cobol). SGLR takes this approach a step further by integrating lexical analysis and syntax analysis. As a result, the disambiguation mechanisms that are already present in GLR can also be applied at the lexical level.
In 2004, Klint continued experiments in using relational calculus for manipulating facts extracted from source code. The resulting scripting language Rscript has already been used for manipulating facts derived from Java and Cobol programs as well as for managing facts extracted from our daily build process.
This project has produced several systems that are being distributed to others:
1. The Asf+Sdf Meta-Environment: an interactive development environment for formal specifications that also acts as a generator for programming environments. In use at, for instance, universities in Aarhus, Amsterdam (UvA and Free University), La Coruna, Eindhoven, Glasgow, Groningen, Iowa, Leiden, Milano, Munich, Nijmegen, Rostock, Utrecht, York, and at Cap Gemini Ernst & Young (Utrecht), CWI (Amsterdam), Compuware (Amsterdam), First ResultConsultants (Amsterdam), IBM Thomas Watson Research Center (New York), INRIA (Nancy), Fortis (Amsterdam), ING (Amsterdam), Postbank (Amsterdam), and Software Improvement Group (Amsterdam). Applications of this system have been developed for (and in cooperation with), for instance, ABN AMRO, Cap Gemini Ernst & Young, Dutch Navy, Dutch PTT, GCEI, Fortis, IBM, Nederland-Haarlem, and Dutch Railways (NS). For more information see http://www.cwi.nl/~projects/MetaEnv.html.
2. The ToolBus coordination architecture: a system for the interconnection of heterogeneous, distributed systems. The ToolBus is in use at all sites where the Asf+Sdf Meta-Environment is being used. For more information see
http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ToolBus
Dostları ilə paylaş: |