Friday, May 2, 2014

Software Architecture

11. Mention the classes of components that appear regularly in architectural descriptions. 

• Computation 
• Memory 
• Manager 
• Controller 
• Link 

12. Briefly describe the critical elements of a design language. 
• Components 
• Operators 
• Abstraction 
• Closure 
• Specification 

13. Define desiderata. What are its features? 
The broad outlines of a system to support architectural design are relatively clear from informal experience. Such a system must provide models, notations, and tools to describe architectural components and their interactions. It must handle large-scale, high-level designs. 

14. Mention the desiderata for ADLs. 
Composition 
Abstraction 
Reusability 
Configuration 
Heterogeneity 
Analysis 

15. What are the notations for describing software architectures? 
• Informal diagrams 
• Modularization facilities 
• Module interconnection languages 
• Support for alternative kinds of interaction 
• Specialized notations for certain architectural styles 

16. Mention the language used to describe the use of module interfaces. 
The language used to describe the use of module interfaces is the Module Interconnection Languages. 

17. What is a First-Class connector? What are the problems with the current practice in the usage of these connectors? 
Architectural descriptions treat software systems as compositions of components. They focus on the components, leaving the description of interactions among these components implicit, distributed, and difficult to identify. If the interfaces to the components are explicit, they usually consist of import/export statements. 


18. Why should abstractions be hidden from external view? 
• Inability to associate related elements and name the cluster 
• Inability to specify relations among related elements 
• Inability to specify aggregate properties of a collection of elements. 


19. Briefly explain the features of Components. 
Components roughly correspond to the compilation units of conventional programming language. Components are the loci of computation and state. Components may be either primitive or composite. 

20. Briefly explain the features of Connectors. 
• Connectors mediate interactions among components 
• Connectors are the loci of relations among components. 
• Connectors may be either primitive or composite 

21. What are the advantages of using Connectors over Components? 
• Connectors may be quite sophisticated 
• The definition of a connector should be localized 
• Connectors are potentially abstract 
• Connectors may require distributed system support 

22. Mention the numerous advantages to implicit invocations. 
• It provides strong support for reuse 
• It eases system evolution 
• One module can be replaced by another 

23. Briefly describe the two categories of implicit invocation systems. 
• Tool-integration frameworks 
• Implicit invocation systems based on special-purpose languages and application frameworks. 

24. Explain the categories into which the design decisions are grouped into. 
• Event definition 
• Event Structure 
• Event bindings 
• Event announcement 
• Concurrency 
• Delivery policy 

25. What are the three options in concurrency for describing the components? 
o Package 
o Packaged task 
o Free task 

No comments:

Post a Comment