1 / 9

Software Architectural Design

Software Architectural Design. Software Components Instructor Dr. Lawrence Chung. Introduction…. What are Software Components? Software components are binary units of independent production, acquisition, and deployment that interact to form a functioning system.

judyc
Download Presentation

Software Architectural Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Architectural Design Software Components Instructor Dr. Lawrence Chung

  2. Introduction… • What are Software Components? Software components are binary units of independent production, acquisition, and deployment that interact to form a functioning system. -Clemens Szyperski, Component Software The definition highlights several features of software components: • Precompiled and linked into a standard binary format. • Reusable program building blocks. • Combined with other components to form an application.

  3. Motivation… What are the benefits we get by developing applications using software components? • Fast application development. • Reduced cost. • Software reuse. • Improved maintainability. • Ability to reconfigure software on the fly. • Ability to fine-tune the performance characteristics of real-time applications. The simplest answer is: “components are the way to go because all other engineering disciplines introduced components as they became mature - and still use them” -Szyperski, Component Software Also, Component software is gaining widespread acceptance in the software industry. Examples of non-embedded component technologies include CORBA from the ObjectManagement Group, COM from Microsoft, and JavaBeans from Sun.

  4. Components- A feel of them… In the diagram above, software components consist of two main functional entities: • A set of useful activities, or services. • A set of interfaces, or service access points (SAPs), that allow clients (other components) to request the activities.

  5. Component Architecture… The component architecture defines the structure of component binaries. It specifies how a component’s services, SAPs, and other information required for operation fit within the component’s binary. The component architecture also provides mechanisms for performing the following activities: • Installing components in the software application. • Establishing interactions among components. • Executing component functionality while accommodating real-time constraints. • Managing instances of components. • Using operating system functionality in an efficient and standard manner.

  6. How do Components interact? Components communicate with each other using service access points (SAPs). A SAP is an interface that a component provides to clients, allowing them to request particular services. • A component can provide multiple SAPs for multiple clients. Each SAP provides an interface for a different set of the component’s services. • The definition for a SAP might include a callback, which allows the component to provide information to the client when it has performed the requested service. • SAP code runs within the client component’s execution context. Callback code runs within the server component’s execution context.

  7. How Component Execute? SAP-API functions run under the client’s execution context, implementing services within API functions is not a good idea... Instead……. A component’s services can be implemented within its executable threads. A component possesses zero or more threads, each of which runs within an execution context (OS process) defined by the software system. When a client requests a service through a component’s SAP, the component’s API functionality typically schedules execution of a thread.

  8. Questions…!!

  9. Thank you Niraj Agarwal

More Related