blackboard software architecture adriana contreras alex garcia karen richart begoña beorlegui...
TRANSCRIPT
![Page 1: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/1.jpg)
Blackboard Software Architecture
Adriana ContrerasAlex Garcia
Karen RichartBegoña Beorlegui
Heriberto Gonzalez
![Page 2: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/2.jpg)
What is it?
• Blackboard is an architectural model where a problem is solved by a group of specialists.
What problem does it solve?• Allows the solution of
complex problems where the solution is the sum of the specialists’ contributions.
![Page 3: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/3.jpg)
How does it solve the problem?
![Page 4: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/4.jpg)
Who are the actors?
• The actors are the Knowledge sources that contribute with a partial solution of the problem.
• A control shell that moderates the flow of the problem solution.
How do they relate to each other• They relate to each other by
the problem that they collaboratively need to solve.
![Page 5: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/5.jpg)
InterpreterTeam 2
![Page 6: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/6.jpg)
What is an Interpreter?
• A “virtual machine” that parses and executes input commands
• Actors:oHardwareoProgram
![Page 7: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/7.jpg)
What does it do?
• Improves portability of the software
• Supports flexibility with other architectural styles
• Highly dynamic behavior allowed
![Page 8: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/8.jpg)
What is it made of?
• Interpreters generally have four components: • interpretation engine
• memory
• representation of the control state
• representation of the current state
![Page 9: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/9.jpg)
Sources• http://www.cs.cmu.edu/afs/cs/project/vit/ftp/pdf/intro_softarch.pdf• http://sunset.usc.edu/classes/cs578_2012b/05_Architectural_Styles.ppt• http://www.thomasalspaugh.org/pub/fnd/architecture.html#Interpreter• http://coronet.iicm.tugraz.at/sa/s5/sa_styles.html
![Page 10: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/10.jpg)
Plug-in Architecture
Team 3
![Page 11: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/11.jpg)
Plug-in Architecture What is Plug-in Architecture?
Framework that allows programs or applications to find add-in functionalities from plug-ins when starting up and allow the plug-ins to apply their functionalities with the current program or application.
What problem does Plug-in Architecture solve and how does it solve it? Solves the problem of feature bloat by enabling the customizing of the
functionality of an application. By allowing outside features to be added to an application, the
developer is able to have a release that is smaller in size and does not contain unnecessary and often unused features.
Overall, applications support plug-ins for several reasons, including: to enable third-party developers to create abilities which extend an
application to support easily adding new features to reduce the size of an application to separate source code from an application because of
incompatible software licenses.
![Page 12: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/12.jpg)
Plug-in Architecture Actors:
Host Application: Loads the plug-in and provides an interface for the plug-in.
Plug-In: Module that is dependent on a host application and adds functionality to the host application.
How are these actors related? The host application provides
service which the plug-in can use.
Plug-ins depend on servicesprovided by the host, while the host operates independently of the user. End-users are able to
add and update plug-insdynamically, without needing to make changes to the host application.
![Page 13: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/13.jpg)
Plug-in Architecture Some examples of applications which use plug-ins, and why, include:
Email clients use plug-ins to decrypt and encrypt email (Pretty Good Privacy) Graphics software use plug-ins to support file formats and process images
(Adobe Photoshop) Media players use plug-ins to support file formats and apply filters (Winamp,
Windows Media) Software development environments use plug-ins to support programming
languages (Eclipse, jEdit, MonoDevelop) Web browsers use plug-ins (often implementing the NPAPI specification) to
play video and presentation formats (Flash, QuickTime, Microsoft Silverlight, 3DMLW)
Sources Playing with Plugins. (2012, June 18). How do plugins work. [Online] Available:
http://www.youtube.com/watch?v=OX60XS1uERg UCL Information Services Division. (1999-2013). How “plugins” work. Stowell,
Dan. [Online] Available: http://www.ucl.ac.uk/isd/staff/e-learning/tools/plugins P. Qualls. (2002, June 13). Plug-in Architecture Framework for Beginners [Online]
Available: http://www.codeguru.com/cpp/misc/misc/plug-insadd-ins/article.php/c3879/Plugin-Architecture-Framework-for-Beginners.htm
Plug-in (computing). (2013, January 23). In Wikipedia, The Free Encyclopedia. [Online] Available: http://en.wikipedia.org/w/index.php?title=Plug-in_(computing)&oldid=534573505
![Page 14: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/14.jpg)
Search-Oriented ArchitectureTeam 4
![Page 15: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/15.jpg)
Search-Oriented Architecture
What is it? Search engine technology replaces or supplements a relational
database management system SQL queries are replaced by keyword or fielded searches for:
Structured Semi-structured Unstructured data
Is a three-tier architecture
Solve the problem Response time in large dynamic datasets
Drawback The data tier is not as organized
![Page 16: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/16.jpg)
Search-Oriented Architecture Who are the actors?
User Database
![Page 17: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/17.jpg)
In Depth Look of Search-Oriented Design
![Page 18: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/18.jpg)
Search-Oriented Architecture
References http://www.mediabuzz.com.sg/asian-emarketing/no
vember-2011/1424-search-oriented-architecture http://www.courses.utep.edu/Portals/870/f12-s13/c
s4311-Spring13/class%20lectures/L05-%20Software%20Architectures.ppt
http://www.soainstitute.org/sites/default/files/images/contributors/Paradkar_March11_2_Figure1.jpg
![Page 19: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/19.jpg)
Space-Based Architectures
Team 5 – Software Eng. 2 – Spring 2013
![Page 20: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/20.jpg)
What is Space-Based Architecture? Organize related data and business
logic together into processing units (PU); a compartmentalization of applications that allows for the emulation of various software architectures.
Source: Browne, Julian.“Space-based Agility”. June 25, 2007 http://www.julianbrowne.com/article/viewer/space-based-agility
![Page 21: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/21.jpg)
Why Space-Based Architecture? Problem:
What happens when the perfect software architecture is ruined by a business or client’s new requirements?
Solution: Make the applications within software more modular. Encapsulate an application’s data and business logic
together; aka a processing unit (PU). Adding/removing an application is modular.
Provide a tuple space (aka space) for objects that can be used concurrently by applications.
Sources: 1. Nair, Anup H. “Distributed Space based architecture”. May 27, 2012 http://www.hificoding.com/general/46-distributed-space-based-architecture2. Mordinyi, Richard et al, “Space-based Architectures as Abstraction Layer for Distributed Business Applications”. 2010 IEEE
![Page 22: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/22.jpg)
Space-Based Architecture Actors
Tuple Space: Containers
coordinators, aspects, entries
Processing Units How do the actors relate to each
other? Processing Units can access objects. Objects are tuples inside of containers. Containers are internet addressable.
Source: Mordinyi, Richard et al, “Space-based Architectures as Abstraction Layer for Distributed Business Applications”. 2010 IEEE
![Page 23: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/23.jpg)
Shared Nothing Architecture
Shared nothing – is a distributed computing architecture. There is no central unit and each part of the system acts independently. Ex. Several Processors share neither
common memory nor common disk
![Page 24: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/24.jpg)
Shared Nothing Architecture
Solves bottle necking and scalability Independent nodes act as part of a
system, but do no rely on each others availability
SN is infinitely scalable and only limited by the number of node you can incorporate
![Page 25: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/25.jpg)
Shared Nothing Architecture
Actors Nodes are the actors and they act in
their own process space. They act asynchronously and are race-free.
They act independently but are components of a larger system
![Page 26: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/26.jpg)
Shared Nothing Architecture
Example:
![Page 27: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/27.jpg)
Shared Nothing Architecture
Sources: The Case for Shared Nothing Architecture by Michael Stonebraker. [Originally
published in Database Engineering, Volume 9, Number 1 (1986).] http://db.cs.berkeley.edu/papers/hpts85-nothing.pdf
Shared Nothing v.s. Shared Disk Architectures: An Independent View by Ben
Stopford, Tuesday, November 24th, 2009 http://www.benstopford.com/2009/11/24/understanding-the-shared-nothing-architecture/
![Page 28: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/28.jpg)
Publisher-Subscriber Software EngineeringTeam 7
![Page 29: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/29.jpg)
publish–subscribe is a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers.
published messages are characterized into classes, without knowledge of what, if any, subscribers there may be.
Subscribers express interest in one or more classes, and only receive messages that are of interest, without knowledge of what, if any, publishers there are.
![Page 30: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/30.jpg)
AdvantagesLoose couplingPublishers are loosely coupled to subscribers, and need not even know of their existence. With the topic being the focus, publishers and subscribers are allowed to remain ignorant of system topology.
ScalabilityPub/sub provides the opportunity for better scalability than traditional client–server, through parallel operation, message caching, tree-based or network-based routing, etc.
![Page 31: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/31.jpg)
Publisher-Subscriber
![Page 32: Blackboard Software Architecture Adriana Contreras Alex Garcia Karen Richart Begoña Beorlegui Heriberto Gonzalez](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d925503460f94a7880c/html5/thumbnails/32.jpg)
• http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern
• https://docs.google.com/viewer?a=v&q=cache:9GTjK1kOFY8J:www.softwarearchitecturebook.com/svn/main/slides/ppt/05_Architectural_Styles.ppt+&hl=en&gl=us&pid=bl&srcid=ADGEESi4y7caTUsrkQ6O-71Ob8ZEU84_TlvHRMU_-OHLFvy6Z8PMvL2zXLjUf52v6adTmijcZnUq2oXBtjB0_613o3h3Rh02l8fnyIc6MhZV38lO-koNhou2t30aaF6VzEBecvi_Vk_7&sig=AHIEtbRQWykLrdZ8CW7aK57M4e33Es4N9w