• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
868
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
16
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Knowledge Management Issues in software Architecture Documentation Rambabu D, Dr T.V. Prabhakar Indian Institute of Technology Kanpur India
  • 2. On Archiving Architecture Documents
      • Software Architecture
      • Archaware – Initial cut
      • Architecture properties
      • Annotating Architecture Documents
      • Search For Architecture Documents
      • Case Study
      • Ontology based semantic search
      • Conclusions
    Outline
  • 3. Bad Architecture
  • 4.  
  • 5. Architecture
      • Architecture is a tool for dealing with complexity
      • Success is regaining (intellectual) control
      • Architects take complexity and make it manageable
        • Models
        • Frameworks
        • Governance & tools
      • Illusion of control
        • Organizations are organisms , not machines
        • People
  • 6. Functional Requirements Quality Requirements Design Constraints Architecture Knowledge C4 C6 C3 C2 C1 C4 Architecture Documents Architecture System Architect Designs Stakeholders Meets Concerns
  • 7. Query Editor Ontology Viewer Metadata Annotator SWT Eclipse IDE Result Table Viewer Ontology Requestor Search Module Query Component Document Repository Annotated Files Repository Ontology Persistent Component Arch Property Object Query, Result Set Query, URL JFace
  • 8.
    • The structure of the systems changes to adapt it to new situations.
      • A low quality software.
      • The developments are difficult to evolve and
      • Its maintenance cost is high
    Functional Stages tuning Desired level Actual state Architecture & Design System Validation Quality attributes High level structure of the system is necessary Quality Attributes must be considered at architecture & design Architecture patterns and styles and early design decisions Software Architecture
  • 9. Architecture Approaches
      • 4+1 view Architecture
      • V&B approach
      • IEEE 1471 approach
      • Zachman’s framework
    An architectural approach is a combination of tactics to achieve some goal
  • 10. The Concept of Viewpoints End-User Project Manager Programmer IEEE Standard 1471-2000 recommends use of “viewpoints” as conventional practice.
  • 11. ISO/ITU Standard Viewpoints for IT Systems X.900 Open Distributed Processing SAAM Copyright 2001 iCMG Private Limited Information Viewpoint Computational Viewpoint Engineering Viewpoint Technology Viewpoint Enterprise Viewpoint
  • 12. Concept map of Software Architecture Documentation concepts
  • 13. Framework of the proposed tool
  • 14. ArchAware- Basic View Draw2D Synchronous communication GEF Synchronize requirements data Eclipse Meta data At the top level, · Architecture metadata · Graphical editor
  • 15. Dependencies in Arch Aware
  • 16. Module View of Arch Aware
  • 17. The Component and Connector View of Arch Aware
  • 18. Screenshots of the plug-in
  • 19. On Archiving Architecture Documents
      • Architecture documentation
        • Communication with the customer
        • Analysis of various quality attributes
        • Further development and maintenance
      • Architectural level reuse
      • Knowledge management and acquisition plays a major role
    Search on Software Architecture document repository in large organizations is a crucial factor Motivation
  • 20.
      • Facilitates common understanding between stake holders
      • Understanding of existing systems
      • Reuse of existing components at a high level
      • Guides the system development during its construction and evolution
    On Archiving Architecture Documents Architecture Descriptions
    • Main benefits of architecture descriptions
        • Analyzing existing software designs
        • evaluating software architectures
  • 21.
      • Most of the documents concerned with components and connectors represented with some UML tools
      • Quality Attributes
      • Tactics
      • Architecture patterns and Styles
    • are equally important
    • Annotation of documents with these architecture properties help the search process
    On Archiving Architecture Documents
  • 22. On Archiving Architecture Documents ` View Types Styles Memory Physical Network Connectivity Domain Knowledge Quality Attributed scenarios Conceptual Terms & Usage Groups Tactics Service level agreements Failure cases Correctness Technical components Success Factors Non Functional Requirements Patterms Gough, POSA Non Software Negative consequences Structural Properties Architectural styles Information Exchange Best Practices Architecture patterns Antipatterns Tactics Domain Perspective Problem Domain and Concepts Scenarios handled Architecture Properties Annotation Architecture documents Annotated documents Other Issues Technology Components Runtime Issues Quality Requirements Search
  • 23.
      • Lack of domain knowledge can result into chaos
      • Clear explanation of problem domain by domain expert in architecture documents
    On Archiving Architecture Documents Retrieve the design documents with the similar problem domain? Problem Domain
  • 24.
      • Scenario based techniques help in evaluating software architectures and writing test cases
      • Quality Attribute General Scenarios
      • Concrete Scenarios
    On Archiving Architecture Documents Annotating the documents with concrete scenarios under the general category helps the process helps the search process Scenarios handled
  • 25.
      • Architecture includes software and hardware subsystems and their connection
      • These subsystems are mapped to technology components and the interfaces they provide
      • Not actually a part of design process
    On Archiving Architecture Documents
      • Retrieve the architecture documents which used mysql database on linux platform?
      • Search for arch documents which Apache webserver with ODS gateway and CORBA middleware along with oracle backend?
    Technology components
  • 26. On Archiving Architecture Documents
      • View Types
        • Module VT, C&C VT, Allocation VT
      • Architecture styles
        • Uses, Pipe and Filter, blackboard, publish subscribe, work assignment etc.
      • Retrieve the architecture documents with Interpreter and Rule based system styles?
      • Search for arch documents which used Blackboard and Hypertext systems?
    Structural properties
  • 27. Service Oriented Architecture
      • An Architecture style
        • Client server, distributed objects, Service Orientation
        • Evolution from local (Objects) to network (services)
        • Principle and patterns
        • Web services enable intrinsic interoperability
        • Facilitates agility
          • Exploit new business opportunities and changing business requirements
        • Means to an end
          • I don’t care how good your architecture is, What business value are you creating?
  • 28. On Archiving Architecture Documents
      • Performance
        • Resource demand
          • Increase computation efficiency
          • Reduce computational overhead
          • Manage event rate
          • Control frequency of sampling
        • Resource management
          • Introduce concurrency
          • Maintain multiple copies
          • Increase available resource
        • Resource arbitration
          • Scheduling policy
    Architecture Tactics Did we use this tactic and what was the result?
  • 29. On Archiving Architecture Documents
      • Memory
        • Parameter passing
        • Shared memory
        • Global variables
      • Physical medium
        • Http, Tcp/Ip ports
        • Remote procedure call
        • Interrupts, Polling
        • Direct Memory Access
    Information Exchange between components Network Connectivity Distributed Systems Retrieve the documents with solution architectures using MPI shared memory?
  • 30. On Archiving Architecture Documents
      • Best Practices - patterns
        • Gough, POSA, MVC
      • Antipatterns
        • CoverTheAssets, DesignByCommittee
        • ReinventTheWheel, Vendor Lock in
        • StovepipeEnterprise, Architecture by implication
      • Refactoring
      • Provide the solutions which used MVC pattern?
      • What is the consequence of using common interface and then wrapping to integrate?
    Architecture patterns and Antipatterns
  • 31. Patterns on the SOA Edge
      • Peer to peer (Xbox Live, Napster, Skype)
      • Centralized(MSN Spaces, Google)
      • Asynchronous (Fremont, Flickr, Housingmaps)
      • Hybrid patterns
      • Patterns for E-Commerce
  • 32. On Archiving Architecture Documents
      • Several architectures may have same set of functional requirements but may vary in non functional requirements
      • Performance, availability, reliability vary from system to system
      • Performance specified in the SLA should be measured and quantified.
      • Get a proper set of architecture documents
      • Identify similar performance scenarios
      • Identify problem areas/bottlenecks
      • Address design and architectural performance issues including hardware and software system configuration
      • Check the tuned system whether it is feasible/not feasible.
    Quality Requirements
  • 33. On Archiving Architecture Documents
      • Runtime Issues
        • Time critical systems,
        • Timelines, Fail/Operational cases
      • Conceptual terms
      • Miscellaneous
        • Standards
        • Success factors
        • Versions, and configurations.
      • Search for architectural solutions of a real time system with correctness not less than t?
      • Retrieve the solution architectures that applied IEEE 1471 international standard .
    Other Issues
  • 34.
      • Parse the Architecture documents
      • Search the Domain for the corresponding architecture properties
      • Annotate the documents with architectural properties as XML file as shown below.
      • Search in the XML files with architecture properties taken as input from the user.
    On Archiving Architecture Documents Search For documents User may be interested in searching for the architecture documents based on these architecture properties
  • 35.
      • Allowing the user to search for documents with the technical details involved.
      • Refining the search to the lowest level by allowing the user to search based on the multiple architectural properties at the same time.
      • Annotating the documents with an XML file typically reduces the problem to an XML-tag search.
    On Archiving Architecture Documents Search: Typical Advantages
  • 36. On Archiving Architecture Documents Case Study: Online Cricket Broadcasting System Module View
  • 37. On Archiving Architecture Documents Case Study: Online Cricket Broadcasting System C&C View
  • 38. < ?xml version=’1.0’? > <!DOCTYPE OCBS SYSTEM &quot;ocbs.dtd&quot;> <ArchitectureDescription> <title>CricketBroadcastingSystem</title> <author>Rambabu D</author> <ArchitectureProperties> <ProblemDomain> Designing an online cricket broadcasting system enabling flawless integration with TV, Mobile, Internet </ProblemDomain> <Scenarios> <PerfScenario>FasterSearch </PerfScenario> <PerfScenario>Rendering </PerfScenario> <ModScenario>NoGlitch</ModScenario> <SecScenario>AccessControl</SecScenario> </Scenarios> <Technology> <component>Oracle</component> <component>DSMS</component> <component>Webserver</component> </Technology> <InformationExchange> <Memory>parameter passing</Memory> <Physical>Stream via pipe</Physical> </InformationExchange> <ArchitecturePattern> <pattern>MVC</pattern> <pattern>ParallelPipeline</pattern> </ArchitecturePattern> XML Annotation for the OCBS arch document
  • 39. <!ELEMENT ArchitectureDescription(title,author, ArchitectureProperties)> <!ELEMENT ArchitectureProperties (ProblemDomain, Scenarios,Technology,InformationExchange, ArchitecturePattern, Style, Tactics, QualityRequirements, MISC)> <!ELEMENT Scenarios (ModScenario*, PerfScenario*, SecScenario*, TestScenario*, UseScenario*)> <!ELEMENT Technology(Component+)> <!ELEMENT InformationExchange (Memory+, PhysicalMedium+)> <!ELEMENT ArchitecturePattern (pattern*, Antipattern*)> <!ELEMENT Styles (CnCView+, ModuleView+, AllocationView+)> <!ELEMENT Tactics (FaultDetection*, FaultRecovery*, LocalizeChanges*, ResistingAttack*, BindingTime*, ManageI/O*> <!ELEMENT QualityRequirements( Performance*, Availability*,Modifiability*,Usability*)> <!ELEMENTMISC(Standard*,Version*,Success*)> <!ELEMENT ModScenario (#PCDATA)> <!ELEMENT PerfScenario (#PCDATA)> <!ELEMENT SecScenario (#PCDATA)> <!ELEMENT TestScenario (#PCDATA)> <!ELEMENT UseScenario (#PCDATA)> <!ELEMENT Component (#PCDATA)> <!ELEMENT Memory (#PCDATA)> <!ELEMENT PhysicalMedium (#PCDATA)> <!ELEMENTPattern (#PCDATA)> <!ELEMENT AntiPattern (#PCDATA)> <!ELEMENT CnCView (#PCDATA)> <!ELEMENT ModuleView (#PCDATA)> <!ELEMENT AllocationView (#PCDATA)> <!ELEMENT FaultDetection (#PCDATA)> <!ELEMENT FaultRecovery (#PCDATA)> <!ELEMENT LocalizeChanges (#PCDATA)> Corresponding DTD for the annotation
  • 40.
      • Trying to build the domain vocabulary for each of these architecture properties
      • Software architecture course projects
      • Software Engineering course projects
      • A repository of 22 architecture documents along with their annotated xml files
      • Projects vary in all domains
    Industrial case studies to determine the effectiveness is missing? On Archiving Architecture Documents
  • 41. Semantic based approach
      • One approach we are trying is to embed the semantic meaning and search based on the semantics rather than just a simple keyword based search
      • For semantic based search we need to define domain vocabulary for each of these properties, and the relation between these vocabulary
      • we try to concentrate on Problem domain, patterns, Structural properties (architectural styles), Architecture Tactics, Information exchange between the components, Scenarios
  • 42. A global Picture
  • 43. Problem domain
  • 44. Problem domain
      • The classification can be like
        • Generic problem domain or common problem domain
        • Domain specific ness of the problem
        • Individual or sub domain requirements of the problem
      • The scope of the domain will be
        • System requirements (functional and non functional requirements)
        • Business and organizational requirements
        • Domain specific requirements
        • Some standards
        • Environmental constraints and domain constraints
  • 45. Patterns
  • 46. Structural properties
  • 47. Architecture Tactics
  • 48. Scenarios handled
  • 49. Information exchange between the components
  • 50. Search on what?
      • The search will also be continued based on the architecture properties related to the given architecture property
      • Say for example Search for the architecture documents which used observer pattern
      • The search will be done on observer pattern as well as on the patterns related to observer pattern.
      • Search will also be done on the problem domain related to observer pattern
  • 51. Search on what?
      • Search for architecture documents which used Client server arch style?
      • Search will also be done on the information exchange mechanisms like RPC, sockets etc..
      • Search will also be done on the problem domain which falls under client server arch style?
  • 52. Conclusions and Future Work
      • using the best practices and concepts like architecture patterns, styles, tactics and anti patterns in search for documents are the time savers for architects .
      • Annotating the documents with these architecture properties play crucial role in this archiving process.
      • Can semantic meaning be embedded in the XML file so that search can be performed based on semantics rather than just a simple keyword based search?
      • Use of ontologies to map these architecture properties
    On Archiving Architecture Documents
  • 53. Thank you for your attention Questions? On Archiving Architecture Documents