An Open Architecture for Supporting Collaboration on the Web
基于开放架构的体系集成方法

基于开放架构的体系集成方法Integrating a system based on an open architecture approach is essential for ensuring interoperability and flexibility. 基于开放架构方法进行系统集成对于确保互操作性和灵活性至关重要。
By utilizing open standards and protocols, organizations can easily connect different components and systems, regardless of their vendor or technology. 通过利用开放标准和协议,组织可以轻松地连接不同的组件和系统,而不论其供应商或技术如何。
One of the key benefits of using an open architecture approach is the ability to future-proof systems and avoid vendor lock-in. 使用开放架构方法的一个关键优势是能够未雨绸缪系统,避免供应商封锁。
By choosing open standards, organizations can ensure that their systems are adaptable to changes in technology and do not become obsolete. 通过选择开放标准,组织可以确保其系统能够适应技术变化,不会过时。
Another important aspect of open architecture system integration is the ability to easily scale and expand systems as needed. 开放架构系统集成的另一个重要方面是可以根据需要轻松扩展和扩大系统。
项目管理系列--好用的代码评审(CodeReview)工具

项⽬管理系列--好⽤的代码评审(CodeReview)⼯具1. GerritGerrit is a web based code review system, facilitating online code reviews for projects using the Git version control system. Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer. Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer.2. RietveldThis is one of the best code review tool from Google wherein users can discuss the defects in the code and review the code.3. Cruciblecode reviews = quality code. Review code, discuss changes, share knowledge, and identify defects with Crucible’s flexible review workflow. Its code review made easy for Subversion, CVS, Perforce, and more.4. CodeplexCodeplex provides a complete solution for team system code reviews, and this tool and has become very popular with programmers. This code review tool uses the benefits of team system for reducing waste.5. BarkeepBarkeep is a fast, fun way to review code. Engineering organizations can use it to keep the bar high. Barkeep is standalone software that you host. Once it’s set up, you can use it to track and code review any number of git repos available on the internet. It’s designed to be easy to run on Ubuntu.6. Review AssistantReview Assistant is a code review plugin for Visual Studio. This code review tool helps you to create review requests and respond to them without leaving Visual Studio. Review Assistant supports TFS, Subversion, Git, Mercurial, and Perforce. Simple setup: up and running in 5 minutes.7. CodeStrikerCodestriker is an open-sourced web application which supports online code reviewing. Traditional document reviews are supported, as well as reviewing diffs generated by an SCM (Source Code Management) system and plain unidiff patches. There are integration points with CVS, Subversion, Clearcase, Perforce, Visual SourceSafe and Bugzilla. There is a plug-in architecture for supporting other SCMs and issue tracking systems.8. Code Review ToolCode Review Tool allows team members to review code collaboratively in an easy and efficient manner by removing most of the overhead associated with regular formal code inspections. It provides all the benefits of formal code inspections and requires considerably less effort and time compared to formal code inspections. It supports both formal and lightweight code review processes.9. MalevichMalevich is a web-based, point-and-click code review system designed for use by individuals and small teams. Its goal is making the cost of a comment as close to zero as possible: easy commenting encourages thorough code reviews. Reviewing code in Malevich is easy indeed. A reviewer can see both the original as well as the new revision of a file in a browser. To comment on a line of code, he or she simply clicks on that line, and starts typing. Submitting comments makes them visible to the person who requested the code review, as well as to all other reviewers.10. Code BragCodebrag is a simple code review tool that makes the process work for your team.11. VeracodeVeracode is the world’s best automated, on-demand, application security testing and code review solution. Founded by experts fromsecurity companies such as Guardent, Symantec, @stake, and VeriSign, and built on a Software-as-a-Service model – Veracode solutions deliver application security and automated code review services for enterprises that want to cost-efficiently test software security by identifying flaws in applications. Veracode helps developers create secure software by scanning compiled code (also called “binary” or “byte” code) instead of source code.12. CollaboratorCollaborator is a code review tool that helps development, testing and management teams work together to produce high quality code. It allows teams to peer review code, user stories and test plans in a transparent, collaborative framework — instantly keeping the entire team up to speed on changes made to the code. By enabling team members to work together to review their work, Collaborator can help you catch bugs before your software hits the market.13. Peer Review PluginWith Trac’s current set of features, a peer review plugin fits nicely into its lineup. This plugin’s goal is to eliminate the need for time consuming code review meetings by giving developers the ability to review code in a user-friendly web-based environment during their own time. This program is written primarily in Python. The interface integrates seemlessly with Subversion allowing users to browse the repository for reviewable files. Genshi is used as the server-side web-based scripting language with Javascript and AJAX to modernize the user interface.14. CodifferousCodifferous can be described as one of the code review tools which is used by busy software developers. Once your code is imported from BitBucket or Github, the software reads the code in a jiffy.15. PhabricatorPfabricator can be defined as an open source software engineering platform which includes various open source web applications. These web applications assist software companies for building better software.。
小学上册I卷英语第五单元真题试卷

小学上册英语第五单元真题试卷英语试题一、综合题(本题有100小题,每小题1分,共100分.每小题不选、错误,均不给分)1.My sister is very _______ (有趣).2.What is the freezing point of water?A. 0 degrees CelsiusB. 100 degrees CelsiusC. 50 degrees CelsiusD. 25 degrees Celsius3.My friend is a talented __________ (艺术家).4.The __________ (历史的文化) reflects human development.5.The chemical property of reacting with acid is called ______.6.I like to go ________ (徒步) in the mountains.ter, we sit under a tree to rest. We talk about our favorite ______ (5) and share funny stories. I love spending time with my friends because they always make me laugh.8.We will _______ (go) to the beach.9.My _____ (小猫) likes to sleep on my lap.10.What is the capital of the United Kingdom?A. LondonB. EdinburghC. CardiffD. Belfast11.The __________ is a large area of untouched nature.12.What is the name of the famous American author known for "To Kill a Mockingbird"?A. Harper LeeB. J.D. SalingerC. F. Scott FitzgeraldD. Mark TwainA13.What do we call a person who plays music?A. ArtistB. MusicianC. DancerD. ActorB14.The __________ was a conflict fought between the British and American colonists. (美国独立战争)15.The cake is __________ and delicious.16.What do you call a baby sheep?A. CalfB. KidC. LambD. ChickC17.Which planet is known as the Red Planet?A. EarthB. MarsC. JupiterD. Saturn18.Oxygen is essential for _____ combustion.19.The flowers are ________ (多彩).20.The _____ (青蛙) has smooth, moist skin.21.The core of the Earth is extremely ______.22.Herbs can be dried for ______ (储存).23.The Earth's atmosphere is essential for supporting ______.24. (96) is known for its history and architecture. The ____25.Metalloids have properties of both ________ and nonmetals.26.I enjoy _______ (参加) sports competitions at school.27.The __________ (历史的关怀) nurtures the soul.28.What do we call the time when we eat lunch?A. BreakfastB. LunchC. DinnerD. SnackB29.We have a class pet, a ________ (仓鼠) named ________ (小华). It’s very________ (可爱).30.The __________ was a significant movement for workers' rights. (工人运动)31.What is the name of the popular board game where you try to take over the world?A. RiskB. MonopolyC. Settlers of CatanD. ClueA32.What is the term for the study of the human mind and behavior?A. SociologyB. PsychologyC. AnthropologyD. PhilosophyB33. A ______ is a crack in the Earth's crust along which movement has occurred.34.What is the capital city of Morocco?A. CasablancaB. RabatC. MarrakechD. TangierB35.He is a scientist, ______ (他是一名科学家), who studies the stars.36.The polar bear lives in the _________. (北极)37.He is drawing a ___. (picture)38.She enjoys ________.39.I can _______ (jump/run) very fast.40. A ________ (种子) can stay dormant for years.41. A _______ is a process that requires careful measurement.42.The ________ (季节) change brings different weather.43.What is the name of the famous ancient city in Peru?A. Machu PicchuB. CuscoC. LimaD. ArequipaA Machu Picchu44.The _____ is a chart that displays all known elements.45.My favorite ______ is . (我最喜欢的______是。
建筑的英语作文

建筑的英语作文Architectural English Composition。
Introduction。
Architecture, as an art form, has long been a subject of fascination and study for both professionals and enthusiasts alike. The language used to describe and discuss this field is as diverse and nuanced as the structures it seeks to capture. In this essay, we will delve into the intricacies of architectural English, exploring the unique vocabulary, idioms, and grammatical structures that are essential to effectively communicating about the built environment.The Vocabulary of Architecture。
At the heart of architectural English lies a rich and specialized vocabulary. From the grand, sweeping terms that describe the overall design and style of a building, to theintricate details that make up its individual components, the language of architecture is a veritable treasure trove of descriptive words and phrases.One of the most fundamental aspects of this vocabulary is the ability to accurately describe the various architectural elements that make up a structure. Terms such as "foundation," "column," "arch," "roof," and "window" are the building blocks of architectural discourse, allowing professionals to communicate precise details about the physical composition of a building.Beyond these basic structural components, architectural English also encompasses a vast array of more specialized terminology. Words like "cantilever," "entablature," "pediment," and "cornice" are used to describe theintricate design features that give a building its unique character and aesthetic. Similarly, the language of architectural styles, such as "Gothic," "Baroque," "Modernist," and "Postmodern," allows for the precise categorization and analysis of different architectural movements and their associated characteristics.The Importance of Context。
介绍建筑的方式英文作文

介绍建筑的方式英文作文英文回答:Introduction to Architecture。
Architecture is the art and science of designing and constructing buildings and other physical structures. It is a complex discipline that combines technical skills, aesthetic judgment, and cultural understanding. Architects must be able to think creatively and solve problems in order to design buildings that are both functional and beautiful.The History of Architecture。
Architecture has a long and rich history, dating back to the earliest civilizations. The first buildings were simple shelters that protected people from the elements. Over time, buildings became more complex and began to reflect the cultures and beliefs of the people who builtthem.Some of the most famous examples of ancientarchitecture include the pyramids of Giza, the Parthenon in Athens, and the Great Wall of China. These buildings are marvels of engineering and have stood for centuries as symbols of human achievement.The Different Types of Architecture。
opencl编程指南英文版pdf

opencl编程指南英文版pdf OpenCL Programming Guide。
OpenCL (Open Computing Language) is an open standard for parallel programming of heterogeneous systems. It allows developers to write programs that can be executed on a variety of devices, including CPUs, GPUs, and FPGAs. This guide provides an overview of OpenCL programming, including the basics of the language, the architecture of OpenCL systems, and best practices for writing efficient OpenCL code.OpenCL Basics。
OpenCL programs are written in a C-like language and are compiled into device-specific binaries at runtime. The key components of an OpenCL program are kernels, which are functions that are executed in parallel on the device, and memory objects, which are used to pass data between the host and the device. OpenCL also provides a set of APIs for managing devices, contexts, and command queues.OpenCL Architecture。
介绍未来的建筑英文作文

介绍未来的建筑英文作文英文,In envisioning the future of architecture, one can't help but be struck by the potential for innovation and creativity. The buildings of tomorrow will be marvels of technology and design, seamlessly blending functionality with aesthetics to create spaces that inspire and uplift.One of the most exciting developments in future architecture is the integration of sustainable practices. With the growing awareness of climate change and environmental degradation, architects are increasingly incorporating eco-friendly materials and energy-efficient design principles into their projects. For example, buildings might feature green roofs covered in vegetation to absorb carbon dioxide and provide insulation, or they might utilize advanced solar panel technology to generate renewable energy.Another trend shaping the future of architecture is the emphasis on flexibility and adaptability. As societybecomes more dynamic and interconnected, buildings will need to be able to respond to changing needs and circumstances. This could mean designing modular structures that can be easily reconfigured or repurposed, or incorporating smart technologies that allow spaces to be customized on the fly. Imagine a workspace that can transform from a traditional office layout to an open collaboration space with the push of a button.Furthermore, advancements in construction techniques such as 3D printing hold the promise of revolutionizing the way buildings are built. Not only does this technologyoffer greater precision and efficiency in construction, but it also opens up new possibilities for architectural form and expression. Architects can now experiment with complex geometries and intricate designs that were previously difficult or impossible to achieve using traditional methods.In addition to technological advancements, the future of architecture will also be shaped by cultural andsocietal trends. For example, the rise of remote work andtelecommuting may lead to a greater demand for mixed-use developments that combine residential, commercial, and recreational spaces in a single location. This trend towards mixed-use development not only promotes walkability and community interaction but also reduces the need for long commutes and carbon emissions.Overall, the future of architecture holds boundless potential for innovation and creativity. By embracing sustainable practices, fostering flexibility and adaptability, and leveraging cutting-edge technologies, architects can create buildings that not only meet the needs of today but also inspire future generations.中文,展望未来的建筑,不禁让人感叹创新和创意的潜力。
小学上册U卷英语第6单元测验试卷

小学上册英语第6单元测验试卷英语试题一、综合题(本题有100小题,每小题1分,共100分.每小题不选、错误,均不给分)1.In art class, we made ________ (手工艺品) using old toys. It was ________ (有趣的) to create something new!2.The ________ is a colorful bird that sings.3.Which instrument has keys and is played by pressing them?A. GuitarB. ViolinC. PianoD. DrumsC Piano4.local food movement) emphasizes regional produce. The ____5.I love visiting the ________ (图书馆) to borrow books.6.The Ptolemaic model placed the Earth at the _______ of the universe.7.What instrument is used to measure atmospheric pressure?A. BarometerB. ThermometerC. HygrometerD. Anemometer8.The __________ (历史的价值认知) shape our identities.9.We are having a ______ (barbecue) this weekend.10.What do we call the study of the interaction between organisms and their environment?A. EcologyB. BiologyC. ZoologyD. Botany11.I enjoy _______ (参加) science clubs.12.The monkey is eating a _______ (猴子在吃_______).13.My mom grows ________ in the garden.14.The study of Earth's geology helps us understand ______ processes.15. A ______ is an ocean animal with a soft body and no bones.16.The squirrel's nest is often called a ______ (巢穴).17.We play ______ (棒球) in the afternoon.18.The _____ (车) is parked outside.19.The Earth's crust is essential for supporting ______ life.20.We can use _____ (堆肥) to enrich the soil.21.What is 11 - 7?A. 2B. 3C. 4D. 522. A _______ is a measure of the force of gravity on an object.23.Acids feel sour, while bases feel _____.24.My cousin is a great ____ (athlete).25.What do you call the process of creating a new computer program?A. CodingB. DesigningC. ProgrammingD. All of the above26.The first successful vaccine for measles was developed in ________.27.The __________ (历史的意义) can evolve over time.28.They ride their _____ (bikes) to school.29.The __________ (古代中国) invented paper, gunpowder, and the compass.30.What do we call the act of moving from one place to another?A. TravelB. WalkC. StayD. RestA31.Which animal is known for its ability to fly at high altitudes?A. EagleB. OstrichC. PenguinD. ChickenA32.The ________ (penguin) is a flightless bird.33.What is the name of the famous painting by Leonardo da Vinci?A. The Last SupperB. Mona LisaC. Starry NightD. The ScreamB34.My friend is very ________ (聪明).35.How many months have 28 days?A. 1B. 2C. 12D. 0C36.The chemical formula for formaldehyde is _______.37.What do we call the place where we go to learn about history?A. MuseumB. LibraryC. SchoolD. Archive38.Star clusters can be open or ______.39.The ________ (mushroom) grows in the forest.40.The Earth's crust is constantly being ______ by tectonic activity.41.How many hours are there in a day?A. 24B. 12C. 36D. 2042.They sing ___ (songs/poems).43.What is the name of the ship that sank in 1912?A. LusitaniaB. TitanicC. BritannicD. MayflowerB44.The chemical symbol for lanthanum is __________.45.My brother has a teddy _______ (我哥哥有一个泰迪_______).46.The __________ (密度) of an object determines whether it will float or sink in water.47.How many legs does an insect have?A. SixB. EightC. FourD. TenA48.My teacher always encourages us to _______ (动词) and ask questions in class. It is very _______ (形容词).49.The teacher promotes _____ (学习) in the classroom.50.What do we call the time of year when it is very hot?A. SpringB. SummerC. AutumnD. Winter51.What do you call a baby bear?A. CubB. CalfC. KitD. Pup52.What is the name of the famous bed and breakfast in "The Shining"?A. Overlook HotelB. Bates MotelC. The Stanley HotelD. The Grand Budapest HotelA53.What is the name of the famous cat in the cartoon?A. TomB. JerryC. GarfieldD. FelixC54.The dog is ________ in the park.55.What is the main ingredient in chocolate?A. MilkB. Cocoa beansC. SugarD. VanillaB56.The ability to conduct electricity varies among ______.57.I can ______ (做) a cartwheel.58.The __________ is a famous city known for its modern architecture. (迪拜)59.What do you call the season after summer?A. WinterB. SpringC. FallD. Autumn60.The boy has a cool ________.61.The ________ (家庭活动) strengthen bonds.62. A __________ is a mixture of two or more liquids that do not mix.63.My favorite way to celebrate is ______.64.What is the name of the famous ancient city in Italy?A. AthensB. RomeC. CairoD. IstanbulB65.What do you call a person who studies history?A. HistorianB. ScientistC. MathematicianD. GeographerA66. A reaction that releases energy is called an ______ reaction.67. A __________ is a chemical reaction that occurs quickly.68. A __________ (生态旅游) promotes awareness of environmental issues.69.The _______ (猫) pounces on its toy.70.What do we call a sweet pastry filled with fruit?A. TartB. PieC. GaletteD. All of the above71.He likes to _______ pictures.72.The garden is full of _______ that bloom in different colors.73.What do we call a story with a moral lesson, often featuring animals?A. FableB. FolktaleC. MythD. LegendA74.The country famous for its fashion is ________ (法国).75.What is the capital city of Angola?A. LuandaB. BenguelaC. HuamboD. Lubango76.The __________ (历史的深刻理解) informs perspectives.77.What is the capital of the United Arab Emirates?A. Abu DhabiB. DubaiC. SharjahD. Ajman78.The clouds look _____ (fluffy/thin).79.Flowers can symbolize __________ (爱情).80. A ______ is a small rodent that loves to eat cheese.81.What do we call the process of making something from raw materials?A. RecyclingB. ManufacturingC. DistributingD. ShippingB82.What do you call the time when the sun sets?A. DuskB. DawnC. NoonD. MidnightA83.What do we use to measure time?A. RulerB. ClockC. ScaleD. TapeB84. A _____ (水果) tree takes years to mature.85.我的朋友喜欢 _______ (活动). 她觉得这很 _______ (形容词)86.The ______ (小鹿) grazes quietly in the golden ______ (阳光).87. A _______ is a tool used to measure temperature changes.88.What do we call a young kangaroo?A. CalfB. JoeyC. KidD. Pup89.The main gas produced by burning fossil fuels is _______.90.She likes to eat _____ (apples/television).91.I have a ___ (dream).92.听一听,选一选。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
An Open Architecture for Supporting Collaboration on the WebD. DeRoure1, W. Hall1, S. Reich1, A. Pikrakis2, G. Hill3, M.Stairmand4(1) Dept. of Electronics & Computer ScienceUniversity of Southampton, UK{dder, wh, sr}@ (2) Dept. of Informatics University of Athens, GR {pikrakis}@di.uoa.gr(3) Multicosm Ltd Southampton, UK gjh@(4) Parallel Applications CentreSouthampton, UKmas@ AbstractThe MEMOIR framework supports researchers working with a vastquantity of distributed information, by assisting them in finding bothrelevant documents and researchers with related interests. It is an openarchitecture based on the existing Web infrastructure. Key to thearchitecture are the use of proxies and the use of an open and extensiblemessage protocol for communication: to support message routing fordynamic reconfiguration and extension of the system, to collectinformation about the trail of documents that a user visits, and to insertlinks on-the-fly. In this paper we present the MEMOIR architecture andits rationale, and discuss early experiences with the system.1. IntroductionEffective access to documents and effective collaboration between researchers can be crucial to the competitiveness of large companies. MEMOIR, which stands for Managing Enterprise-scale Multimedia using an Open Framework for Information Re-use, addresses this problem by providing the user with extra assistance in these tasks in return for minimal extra effort by the user. Unlike other recommender systems, MEMOIR recommends people as well as documents. The application areas that we focus on pertain to large distributed organisations that have to manage diverse sources of information and that rely heavily on their research and development function. The system described in this paper is currently being trialled by users in two such organisations.The MEMOIR architecture is an evolution of the Distributed Link Service (DLS, (Carr et al., 1995)). While the DLS, like other open hypermedia systems, treatshypermedia links as first class objects, MEMOIR additionally promotes another kind of object: the trail. A user's trail is the set of actions on documents that they have visited (such as opening the document) in pursuing a certain task. By matching trails, we match users. MEMOIR lets the user ask questions such as `who else has read this document?' and `what else should I read?'.MEMOIR can be thought of as a navigation assistant, and it borrows from DLS the idea of implementing this agent as an HTTP proxy. With the proxy on a separate machine, this approach has minimal impact on the user's desktop (perhaps requiring a routine configuration change) and it steals no cycles. Trails, like links, are persistent, shared objects, hence multiple proxies communicate with a logically central (but perhaps physically distributed) database to store and process them.The notion of supporting collaborative work by hypertext technology dates back to the very first ideas of hypertext, as expressed by Bush's `Memex' (Bush, 1945). He envisaged trails (also called paths (Furuta et al., 1997; Zellweger, 1989) or footsteps (Nicol et al., 1995)) in order to provide a mechanism for finding a user's personal information but also in order to allow these trails to be available to other users. Reading (i.e. opening and viewing) a document might be the most common type of activity in a trail, though there are many other actions users perform; for example, bookmarking, printing or mailing a document could indicate a special interest. In the system described in this paper, we focus on `open document' actions and support collaboration by providing agents that perform intelligent analysis on the documents being viewed by users.The architecture is presented in Section 2. Section 3 describes experience we have had with the framework, both as a research vehicle and at the end user sites. We report on related work in Section 4, followed by concluding remarks.2. The Open Architecture of MEMOIRIn open hypermedia architectures such as the Distributed Link Service, information about the links between multimedia documents is stored and managed separately from the documents themselves, which remain in their native formats; hence links are objects in their own right, stored in link databases (or linkbases). The criteria for open hypermedia have been extensively discussed at Open Hypermedia Systems Workshops, the last of which was held at the 1997 ACM Hypertext Conference (Wiil, 1997); this group is also developing a protocol for open hypermedia systems. The MEMOIR project (Hill et al., 1997) extends DLS to support collaboration by storing and processing trails. It introduces new system components: a distributed object-oriented database, a framework for agents, and a communications message router. Figure 1 gives an overview of the different components and their interaction. Components displayed in dashed lines are third party components; interactions using other than HTTP as a protocol are drawn using dashed arrows.Fig.1: MEMOIR componentsThe key component is the message router which acts as a hub with which other system services register. A system may employ more than one message router. Its design is based on Microcosm's filter model (Hill et al., 1993). Any component makes its services available by registering details of its services with the message router, which in turn can route particular requests of other components to the newly registered one. Messages for querying all currently available services are part of the set of message router services. The model of servicing a component allows the system to be dynamically tailored to specific needs. New services can be easily added, and multiple providers for the same service are possible. Multiple linkbases, for example, could be managed by one component providing services for link manipulation; they could equally be managed by different components providing the same services.Distribution is addressed at various levels. Firstly, all components can be run on different hosts. Secondly, the use of HyperText Transfer Protocol (HTTP) allows components on heterogeneous platforms to communicate. Thirdly, the underlying object-oriented database system ITASCA (see below) can be distributed and by that provide the means for sharing data.Standard Java enabled Web browsers provide the user interface to the MEMOIR system in order to minimise installation and maintenance overhead. The base panel shown in Figure 2 is a Java applet that provides the user interface. The only configuration necessary is to set the interface manager as a proxy server and to connect once to it in order to log in. As browsing activity progresses the trail display in the user interface is updated, and users may select documents from the trail as input to MEMOIR functionality. For instance they might chose to select some trail marks, press the button named `suggested reading' and the results wouldbe returned in the lower list box of the base panel applet. The applet serves as an interface to the following functionality:•link management, including creation of links and link navigation;•trail management, including `finding similar users', querying for suggestions of other documents to be read' and trail creation;•keyword services, such as extracting keywords from a document as well as finding users or documents based on keywords.The interface manager behaves as a proxy server and by that is able to listen to a user's requests and commands. It can itself be configured to use another proxy (e.g. cache or firewall). It is via the interface manager that users view the Web, document management systems and also linkbases. Thus, existing data can be re-used and is not stored within the system (though meta data such as a document's keywords are extracted and stored in the data repository, ITASCA).Fig. 2: Basic control panelAn authentication component is responsible for managing user authentication. Asfar as possible this component relies on existing user management systems. A dedicated agent server manages a set of software agents and provides different agent services that are essentially responsible for data mining and resource discovery tasks such as searching the Web (Pikrakis et al., 1998).The ITASCA distributed object oriented database system (IBEX, 1995) is used as an underlying data repository. Additionally it provides the framework for a number of agents that are implemented directly in LISP, the data manipulation language of ITASCA. As HTTP is used as communication protocol an interface component to ITASCA is provided allowing the communication with the database via HTTP (see Figure 1).The Hypertext Transfer Protocol is used as a communication layer and provides the necessary infrastructure for the components to inter-operate. Thus all components `talk' HTTP, albeit with MEMOIR-specific message semantics. We distinguish between two basic forms of communication, namely notifications and requests. These are expressed using POST or GET methods respectively, a convenient mapping which sits comfortably in existing Web infrastructure:•Where a process simply wishes to provide notification that an event has occurred, such as the opening of a document, the POST request can be used to deliver a message of a particular type to the message router. The messagerouter can in turn report the event to any processes registered to receivemessages of this type using further notifications.•For queries or requests where a reply is required, such as following a link, the GET request is used. As with POST requests, the message is passed on to the appropriate components, and all results can be packaged together to bereturned to the calling component.It has proven very useful to support an asynchronous model in addition to the synchronous client-server model imposed by the Web architecture. The notifications enable the system to exhibit proactive behaviour and avoid the need to maintain processes that poll for state changes of other components or remote objects. Some operations do not need to occur in real-time. For example, a trail is submitted to the system when a user logs out, and this does not need to be processed instantly and a result returned to the user.The MEMOIR message format is based on the open, extensible structure used in an earlier open hypermedia project (Microcosm (Davis et al., 1992)). This format uses simple tag/value pairs and although there is a required set of tags for normal operation of the system, additional tags can easily be added to extend the information carried to suit new functions.To allow asynchronous interaction with the user, we have extended the MEMOIR set of messages with additional tags. These include a query ID, a request ID as well as a flag expressing asynchronous behaviour; a query ID is composed of acomponent ID and a simple string or number that is managed by each component in order to keep a record of sent and received messages. This permits, for example, the user interface to group a user's requests and answers together, identifying those that refer to the same ID. If a result is returned while the user is not logged on to the system, it is stored in a message box within the ITASCA database.3. ExperienceThe MEMOIR framework and components are being used as a research vehicle in a number of research projects in the Multimedia Research Group of the Department of Electronics and Computer Science at the University of Southampton. Here we describe two of them, a proactive agent and guided tours. We also discuss the evaluation involving our industrial partners.In these evaluations we have had to address the `bootstrapping problem'. As with other recommender systems there is an incentive problem (Resnick & Varian; 1997) (also called cold start problem (Maltz & Ehrlich, 1995)): the system is only as good as is the data in it, and at the beginning there is no data at all. We address this problem by introducing a priming phase where we use internal proxy data from which trails are generated. During this introductory phase the system is able to provide answers such as that `someone' has already visited this site.3.1 A Proactive ``Similar User'' AgentThe aim of the proactive agent is to inform a user actively about similar users, rather than having the user asking the system for this information. Therefore, an additional agent service has been implemented. The interface manager, i.e. the MEMOIR proxy process, is reconfigured to include a simple Java applet at the top of each HTML page that a user visits.While pages are loaded and displayed to the user, in the background this agent asks other agents in the system for basic information about users and their similarity to the page currently being viewed. It then presents its result in the user interface and, if it has found other users, announces that `similar users' have been found. Figure 3 depicts the user interface being inserted at the top of a page. Usernames, e-mail addresses and telephone numbers of the users are shown.Fig. 3: A Proactive `Similar User' agentSeveral lessons have been learned while doing this experiment. Firstly, the experience clearly shows the dynamic extensibility of the MEMOIR system. The additional agent simply registers its service with the message router at runtime and in this way extends the available functionality. Also the aspect of distribution is well demonstrated by running the new agent service on a remote machine. Furthermore, the benefits of using proxy processes for extending the functionality available at the browser's side without additional reconfiguration can be proved. The interface manager, i.e. the MEMOIR proxy process, has been told simply to insert a tag (referencing an applet) into each HTML page.This issue of insertion at runtime as well as the fact that the proactive nehaviour requires an additional listener for the Java applet raise the question of performance. With the proxy process and the message router being potential bottlenecks we did various performance tests to ensure that the system is able to deal with them. The issue of additional listeners could be addressed by re-using the initial base panel applet (shown in Figure 2) and applet to applet communication.The figures reported here have been obtained using a proprietary technology called WebDriver. Our tests show that for the (small) MEMOIR messages we can achieve about 25 transactions per second. This is the number of messages that the message router can handle; the interface manager (i.e. the proxy process) can also handle thisnumber if it only does re-routing of messages. With insertions being done by the interface manager, performance drops. With small files (i.e. up to 1k) being inserted we are able to handle up to nine documents per second. This seems to be a good value especially in comparison with other proxies. However, for larger documents (over 10kb) the throughput quickly levels at two documents per second.Two more issues have to be mentioned with respect to performance. Firstly, modifications such as insertions are typically of minor nature; i.e. we only insert a small amount of data. The performance tests have shown that for this type of data performance is reasonable. Secondly, the MEMOIR architecture is easily extensible and thus we could simply add another interface manager process. In this way we are able to scale the system. Potentially all components could be replicated as often as necessary, provided the message routers deal with this appropriately.3.2 Guided Tours Using TrailsHaving user trail information available, one obvious application is guided tours, and we have implemented such a mechanism in our second project. For reasons of proof-of-concept, the tours are stored in a second commercial database and not in our main information repository, ITASCA. This is a good demonstration of the extensibility of the framework, and involved implementing a simple HTTP interface as we did for ITASCA A server process implemented in Java registers the required services with the message router and thus makes them available to the system. The database is accessed by using a JDBC (Java Database Connectivity) connection. The interface is implemented as a separate tabbed folder. Given the correct access permissions, editing of tours is also possible.This second example again demonstrates the extensibility and flexibility of the MEMOIR framework. It also shows that trail information can be re-used in various different ways.3.3 End User EvaluationMEMOIR as a prototype is currently being evaluated by research and development departments in the two corporate end-users that participate in the project. The evaluation process has been split into three phases.The primary purpose of the first phase is to ensure that the system is installed and operating correctly in preparation for phase two. In phase two, small groups of users do the evaluation in a controlled environment. A user-centred methodology incorporating a number of usability metrics such as functionality, relevance, scalability, or reliability is being deployed in order to carry out the assessment and to provide objective measures of the use and usability of the system. Following the successful completion of phase two, the next step will be to make the system available more widely.Early results show a positive response to the MEMOIR functionality. The `addedvalue' provided by MEMOIR does have a small cost to the user (e.g. in logging into the system and in learning how to use MEMOIR), and the system needs to be bootstrapped to make this worth paying. Introducing the system as a new proxy has proven relatively straightforward, with the additional task of integration with the user authentication systems. Users are concerned about the `big brother' aspect of the system and wish to control submission of trails. The user interface, though convenient for development, does not suit all users.4. Related WorkThere are a number of systems that aim at supporting similar ideas to those in MEMOIR. We will briefly refer to those with particularly relevant features. Recommender systems (Resnick & Varian; 1997) represent a category of systems that are based on the idea that users often face the problem of having to make choices without sufficient experience and therefore rely on other people's recommendations. Rather than using user trails as a main source for providing assistance, recommender systems have intelligent algorithms for weighing user votes, for instances of usenet articles or for re-using explicit recommendations of other users.It is interesting to compare MEMOIR with systems supporting annotations: these require the user to do more work but offer more added value in return. The annotation system described in (Schickler et al., 1996) uses a proxy architecture like that of DLS. BRIO (Röscheisen et al., 1995) is a general architecture and its implementation that deals with annotations on the Web. The system also allows for the manual editing of trail marks which can be used for navigational purposes.The use of proxies is now a well-established technique. Like MEMOIR, the cataloguing system described in (Dodge et al., 1995) uses a proxy to log documents and also uses a keyword filter. IBM's Web Browser Intelligence (WBI, Barret et al., 1997) is a general proxy based system which is programmable and could be used to build systems like DLS and MEMOIR.Letizia (Lieberman, 1995) is an agent that recommends documents and provides some of MEMOIR's functionality. Alexa (Kahle & Gilliat, 1998) is a navigational service that gives the user recommendations based on other users' browsing experience as well as explicit `Where to go next' recommendations that other users can add.Agentware (Autonomy, 1997) applies pattern matching algorithms with contextual analysis in order to provide the users with information that they have specified in a textual way.NetAttaché Pro is a client side web agent (Tympani, 1997). It retrieves and filters web data (also in off-line mode) and allows for additional searches based on user preferences. A search engine front-end supports a number of Internet search enginesand news services, it allows for the import of bookmark and other link files and additionally users can specify their own boolean queries.WebWatcher (Joachims et al., 1997) is a tour guide agent that accompanies users from page to page providing assistance in browsing and navigating. The agent's knowledge is based on learning from previous tours and hypertext structure. Additionally, the user can communicate with the system and give feedback. MEMOIR differs in that, although there may be similar ideas behind some systems, none of the systems actually fully exploits the idea of trails. Some re-use paths followed by other users (Barret et al., 1997; Joachims et al., 1997; Kahle & Gilliat, 1998; Resnick & Varian, 1997; or edited explicitly (Röscheisen et al., 1995). Furthermore, few systems support the idea of an open framework that can be easily extended or changed (notable exceptions are (Autonomy, 1997; Barret et al., 1997)). Generally, the majority of systems focus on agents serving as personal knowledge managers rather than on frameworks that support collaboration amongst users.5. Conclusions and Future WorkDistributed information systems can be large and complex: information as well as people working on this information are difficult to find, leading to duplication of effort where sharing would be more cost effective. MEMOIR provides a simple, open solution using existing Web infrastructure. This paper has demonstrated the advantages of treating trails as entities which can be created, stored and manipulated by the components of the system, including agents. We have also shown how proxies can be used to provide an extensible architecture for working with links and trails, with minimum impact on the desktop. We have demonstrated how components running in this distributed Web application can communicate with each other by use of a simple protocol based on asynchronous notifications and synchronous requests.MEMOIR is `open' due to its extensible architecture and use of Web protocols (as well as in the sense of open hypermedia). It also has the published interfaces and message formats, but these are specific to the project and we therefore plan to establish interoperability via the emerging open hypermedia protocols. To an extent, MEMOIR scales through replication but the scalability of the architecture has not been fully tested. We are also interested in investigating more sophisticated trail representations.While MEMOIR has focused on a particular industry for its trials - the pharmaceutical and chemical industry - we believe the approach to be generic: for example, in other projects we are applying it to historical research using major historical archives including Wellington, Mountbatten and Churchill, to audio archives, virtual museums, virtual art galleries and hybrid libraries.AcknowledgmentsWe gratefully acknowledge the contribution of all the members of the MEMOIR team, including Andrzej Glowinski, Alastair Hotchkiss and Roger James of Glaxo Wellcome; Steve Loades and Richard Miller of Unichema; Roger Rowe from Multicosm; Eric Gerelle, Christophe Giusti and Jacques Halé of Ibex; Gerard Hutchings and Chris Scott from the Parallel Applications Centre. The MEMOIR project is supported by the European Union's ESPRIT programme (grant No. 22153). The work of Sigi Reich has been supported by the Austrian Fonds zurFörderung der wissenschaftlichen Forschung (FWF, grant No. J1507-INF). Many thanks to Stuart Goose for implementing the proactive agent under EPSRC project GR/K73060, and to Mira Andric and Jon Griffiths implemented the guided tour example.ReferencesAutonomy. Technical report, Autonomy Inc., 301 University Avenue, Suite 200 Palo Alto, CA 94301., 1997. Available as /.R. Barrett, P. P. Maglio, and D. C. Kellem. How to personalize the Web. In Conference on Human Factors in Computing Systems (CHI97), Atlanta, Georgia, USA, Mar. 1997.V. Bush. As we may think. The Atlantic Monthly, 176(1):101-108, July 1945.L. Carr, D. DeRoure, W. Hall, and G. Hill. The Distributed Link Service: A tool for publishers, authors and readers. In Proceedings of the Fourth International World Wide Web Conference: The Web Revolution, pages 647-656, Boston, Massachusetts, USA, Dec. 1995.H. Davis, W. Hall, I. Heath, G. Hill, and R. Wilkins. Towards an integrated information environment with open hypermedia systems. In European Conference on Hypertext Technology (ECHT92), pages 181-190, Milano, Italy, 1992. ACM Press.C. Dodge, B. Marx, and H. Pfeiffenberger. Web cataloguing through cache exploitation and steps toward consistency maintenance. In Third International World Wide Web Conference, Darmstadt, Germany, Apr. 1995.R. Furuta, F. M. Shipman, C. C. Marshall, D. Brenner, and H. Hao-wei Hsieh. Hypertext paths and the World-Wide Web: Experiences with Walden's paths.In Proceedings of Hypertext '97, pages 167-176, Southampton, UK, 1997.G. Hill, G. Hutchings, R. James, S. Loades, J. Halé, and M. Hatzopulous. Exploiting serendipity amongst users to provide support for hypertext navigation. In Proceedings of Hypertext '97, Southampton, UK, pages 212-213, 1997.G. Hill, R. Wilkins, and W. Hall. Open and reconfigurable hypermedia systems: Afilter based model. Hypermedia, 5(2):103-18, 1993.IBEX Corporation SA, F-74160 Archamps, France. ITASCA Distributed Object Database Management System Release 2.3.5, Technical Summary, 1995.T. Joachims, D. Freitag, and T. Mitchell.WebWatcher: A tour guide for the World Wide Web. In Fifteenth International Joint Conference on Artificial Intelligence (IJCAI-97), Japan, Aug. 1997.B. Kahle and B. Gilliat. Alexa - navigate the Web smarter, faster, easier. Technical report, Alexa Internet, Presidio of San Francisco, CA., 1998. Available as/.H. Lieberman. Letizia: An agent that assists web browsing. In International Joint Conference on Artificial Intelligence (IJCAI-95), Montreal, Canada, Aug. 1995.D. Maltz and K. Ehrlich. Pointing the way: Active collaborative filtering. In Proceedings of the Conference on Human Factors in Computing Systems (CHI95), Denver, Colorado, USA, May 1995. ACM.D. Nicol, C. Smeaton, and A. F. Slater. Footsteps: Trail-blazing the Web. In Third International World Wide Web Conference, Darmstadt, Germany, Apr. 1995.A. Pikrakis, T. Bitsikas, S. Sfakianakis, M. Hatzopoulos, D. DeRoure, W. Hall, S. Reich, G. Hill, and M. Stairmand. Memoir - software agents for finding similar users by trails. In PAAM98. The Third International Conference and Exhibition on The Practical Application of Intelligent Agents and Multi-Agents. March 23-25, London, UK, pages 453-466, Mar. 1998.P. Resnick and H. R. Varian. Recommender systems. Commun. ACM, 40(3):56-58, Mar. 1997.M. Röscheisen, C. Mogensen, and T. Winograd. Beyond browsing: Shared comments, SOAPs, trails and on-line communities. In Proceedings of the Third International World Wide Web Conference, pages 739-749, Darmstadt, Germany, Apr. 1995.A. Schickler, M. Mazer, and C. Brooks. Pan-browser support for annotations and other meta-information on the World Wide Web. In Fifth International World Wide Web Conference, Paris, France, May 1996.Tympani products. Technical report, Tympani Development Inc., 1307 South Mary Ave., Suite 102 Sunnyvale, CA 94087., 1997. Available as/.U. K. Wiil, editor. Proceedings of the 3rd Workshop on Open Hypermedia Systems, Hypertext '97, Southampton, England, April 6-11, 1997.P. T. Zellweger. Scripted documents: A hypermedia path mechanism. In。