Department of RAM process which is used to control

Topic: BusinessComparative Analysis
Paper type:
Sample donated:
Last updated: September 21, 2019

Departmentof Computer Sciences   Software EngineeringResearch PaperProjectTitle:        ComponentBased Software Development    Submittedto:      Ma’amSidrah Siddiqui GroupMembers:§  SaadMuhammad                    140671                        A§  MuhammadMuheet                140707                        A§  DanialAhmad Dar                  140725                        A    Submittedon:     16thOctober, 2017  AbstractThisresearch paper gives a short overview of Component-based Software EngineeringBuilding Systems from Components.

The aim of the paper is to bring togetherresearches and practitioners from system engineering, software architecture andfrom component-based software engineering communities in order to exchange experiencesand research results from these domains.ComponentBased Software Engineering is an approach in which software system is developedthrough assembly of components. Development of parts as reusable entities isdesired. In this paper we have discussed about the component based software lifecycle. CBSE technology risks are discussed and model of RAM process which isused to control the risks is described. Embedded system implementation using componentbased approach is also discussed.

Don't use plagiarized sources.
Get Your Custom Essay on "Department of RAM process which is used to control..."
For You For Only $13.90/page!


Get custom paper

 Introduction:          Component-basedSoftware Engineering (CBSE) is concerned with the development of softwaresystems from reusable parts (components), the development of components, andsystem maintenance and improvement by means of component replacement orcustomization. Building systems from components and building components fordifferent systems requires established methodologies and processes not only inrelation to development/maintenance phases, but also to the entire componentand system lifecycle including organizational, marketing, legal, and otheraspects. In addition to objectives such as component specification,composition, and component technology development that are specific to CBSE,there are a number of software engineering disciplines and processes thatrequire methodologies be specialized for application in component-based development.Many of these methodologies are not yet established in practice, some have notyet been developed. The progress of software development in the near futurewill depend very much on the successful establishment of CBSE; this isrecognized by both industry and academia. The growing interest in CBSE is reflectedin the number of workshops and conferences with CBSE tracks.             For the last 50 years, the technology for producing computerhardware has radically changed. At the early days, vacuum tubes and transistorswere used.

Since 1975, the integrated circuits (IC) and very large-scaleintegrated circuits (VLSI) have been used and will continue to do so for theforeseeable future. A transistor is simply an on/off switch controlled by electricity.The integrated circuit combined dozens to hundreds of transistors into a singlechip. A VLSI circuit then, is just millions of combinations of conductors,insulators, and switches manufactured in a single, small package.

Theintegrated circuits (IC) and very large-scale integrated circuits (VLSI) makethe basic building blocks from which faster and less expensive computers can beassembled.   Problem:          The development ofsoftware systems from existing components continues to hold the attention ofthe software engineering community. Problem is to select those components so toreduce cost and development time, while increasing the quality of systems.

ComponentBased Software Engineering or CBSE represents a new development paradigm:assembling software systems from components. Reuse of components should be increased.LiteratureReview:          Jim Q. Ning, 1997,has discussed the technology infrastructure necessary to support CBSE.

Component based Architecture Specification Language called ASL is alsodescribed in this paper. Interfaces and specification of components is alsodiscussed. Ivica Crnkovic, 2003, has discussed established methodologies andtool support covering the entire component and system lifecycle includingtechnological, organizational, marketing, legal, and other aspects. Advantagesof CBSE are also discussed in this paper. Xia Cai, Michael R. Lyu, Kam-Fai WongRoy KO 2000, discussed the current component-based software technologies,describe their advantages and disadvantages, and discuss the features theyinherit. Researchers also address QA issues for component-based software.

As amajor contribution, they propose a QA model for component-based softwaredevelopment, which covers component requirement analysis, component development,component certification, component customization, and system architecturedesign, integration, testing, and maintenance. W. Lam, A.J. Vickers 1997,discusses the risks associated with the adoption of CBSE technology.

A model ofthe risk analysis and management (RAM) process for CBSE technology is proposedas a means of controlling risks. Five CBSE technology risk areas are identified– domain inadequacies, shortfalls in reuse components, shortfalls in thearchitecture, deficiencies in the CBSE infrastructure and educational issues -and examined. A number of risk management techniques are proposed. Mohammed A. Abdallah2008 discusses the use of CBSE in embedded systems. This paper considers thebasic overview of component-based model and general issues about embeddedsystems. The core issue is providing an example showing that how useful toimplement an embedded system using the component-based software engineering. Component-BasedSoftware Engineering:          This approachmainly depends on building systems from existing components, providing supportfor the development of systems as assemblies of components.

It is alsosupporting the development of components as reusable units and it isfacilitating the maintenance and evolution of systems by customizing andreplacing their components. The component-based approach has some advantagesover the traditional programming. Firstly, advantages from the business pointof view in terms of shorter time-to-market, lower development and maintenancecosts. Secondly, advantages from technical and engineering point of view whichcan be increased understandability of complex systems and increased the reusability,interoperability, flexibility, adaptability, dependability. Thirdly, they haveadvantages from strategic point of view of a society such as increasing softwaremarket, generation of new companies.

Finally, component-based approach has beensuccessful in many application environments.A.Basic Definitions in Component-based ApproachThebasis logical unit of work is the component. Components can be assembledaccording to the rules specified by the component model. Components are assembledthrough their interfaces. A Component Composition is the process of assemblingcomponents to form an assembly, a larger component or an application.

Componentsare performing in the context of a component framework. A component technologyis a concrete implementation of a component model. A software component is asoftware element that confirms a component model, can be independently deployedand composed without modification according to a composition standard. Acomponent model defines specific interaction and composition standards. Componentscan be described in different ways like white, grey or black box. Preconditionis an assertion that the component assumes to be fulfilled before an operation isinvoked. Post condition is an assertion that the component guarantees will holdjust after an operation has been invoked, provided the operation’spre-conditions were true when it was invoked.

Invariant is a predicate over theinterface’s state model that will always hold.  B.Basic Principles of the Component-based Software Engineering Reusability: It means that the same component can be usedin many systems.

The desire to reuse a component leads to some technicalconstraints such as: good documentation should be available to be able to reusea component as well as a well-organized reuse process and the similar architectureof the components should be provided to ensure the consistency and theefficiency of the system. Substitutability: The overall system should work in spite ofwhich component is used. There are some limitations in this area such as: theruntime replacement of the components.Extensibility: Extensibilitycan take one of two shapes either extending components that are part of asystem or increase the functionality of individual components. But there aretechnical challenges such as: design-time.Aim:          Component-basedapproach is not new. Components are explicitly addressed in softwarearchitecture and commonly used in system engineering. Yet, there is differentunderstanding of components in these areas.

While the primary goal of softwarearchitecture and system engineering is to understand the system by dividing itin components and identifying components as compostable units that expresscertain functions and properties, CBSE starts from the given properties of thecomponents and then defines a system by utilizing these properties. The mainidea for the workshop was to analyze and compare these approaches, to findcommon understandings and possibly cross-fertilize the best ideas and practicesfrom these areas. Systems attributes in relation to component attributes andthe composition process were the primary subjects of the workshop. The following areas ofinterest were listed in the Call for paper:·        Software architecture as related to CBSE.

·        Analysis/design methods for buildingcomponent based systems. ·        Selection/evolution criteria forcomponents and assemblies of components. ·        Predictability of component compositions.·        Configuration management of components andcomponent compositions.·        Verification of systems based on componentattributes.

Implementation:Withoutcomponent based implementation, there are many functions listed in the sameblock and all these blocks were written in the same module. So, this singlemodule is the only responsible of the total task of the system. If any error isoccurs, the designer cannot know easily where the location of the error becausethe whole module is not working although there is one error in a specific partin this module which is faulty. So, if we can collect the functions that do asingle kind task in single module, it will be easier to detect the location ofthe error knowing the nature of it.

These collected functions can be done in acomponent. So, a single component is responsible for a single task and then itis necessary to integrate these components together via interfaces to build thetotal system. This idea can be supported in Altera Quartus II using Veriloglanguage. This language deals with modules so, each component is considered asmodule do a specified task. It is needed to design a top level module that willintegrate or woven these components together to achieve the total system requirementsin efficient way. This illustrates how the traditional programming can behandled in more efficient way if it deals with components. Each block now iscorresponding to a single component which in turn is mapped to a single module.

Thereare many functions listed in the same block and all these blocks were writtenin the same module. So, this single module is the only responsible of the totaltask of the system. If any error is occurs, the designer cannot know easilywhere the location of the error because the whole module is not workingalthough there is one error in a specific part in this module which is faulty.So, if we can collect the functions that do a single kind task in singlemodule, it will be easier to detect the location of the error knowing thenature of it. These collected functions can be done in a component.

So, asingle component is responsible for a single task and then it is necessary tointegrate these components together via interfaces to build the total system.This idea can be supported in Altera Quartus II using Verilog language. Thislanguage deals with modules so, each component is considered as module do aspecified task. It is needed to design a top level module that will integrateor woven these components together to achieve the total system requirements inefficient way.This illustrates how the traditional programming can be handledin more efficient way if it deals with components.

Each block now iscorresponding to a single component which in turn is mapped to a single module.Conclusion:          Component basedsoftware engineering is a approach of developing software systems by selectingoff-shelf components and then assemble the components with well-definedsoftware architecture. This approach is used to deploy the reusability in thesoftware engineering and to assure the quality for software development. Modelof RAM process is a structured approach which is used for controlling risksinvolved in the system. Component-basedsoftware engineering becomes a new approach in software development. Embedded systemsare used in many fields in our life. So, if the component-based approach isused in building and designing these embedded systems, many advantages will beachieved.

Time to build an embedded system will be reduced, easy testing andfast system maintenance and updating. In this paper, an example of how to usethe component-based software engineering in designing the embedded system isintroduced. It can be concluded that hardware language (e.g. Verilog) designersare not professional in writing a code in efficient way.

So, if there arestandards that help designers of embedded system to deal with components, thegenerated systems will be more efficient and powerful. The development of usingthe component-based approach in embedded systems is still slow. This area ofresearch needs a lot of work to develop standards to work with in designingprocess and dealing with components in many programming fields.FutureScope:            Component Based Software Engineering can be widely usedby non-programmers for building their applications for which tools can be developedby component assembly. Automatic component update over the Internet will be astandard means of application improvement. Quality Assurance model can be appliedto real world projects so that it can actually guide the practices of componentbased software development. Standardization of domain-specific components onthe interface level will make it possible to build applications and system fromcomponents purchased from different vendors.

References1Jim Q. Ning,”Component-Based Software Engineering(CBSE)”, IEEE 1997.2Ivica Crnkovic,”Component-based SoftwareEngineering – NewChallenges in SoftwareDevelopment”, 2nd Int.Conf. informationTechnology lnterfacesITI/ 2003, June 16-1 9, 2003,Cavtat, Croatia.3Mohammed A. Abdallah” Implementing theComponent-based SoftwareEngineering inEmbedded Systems” IEEE20084W.

Lam, A.J. Vickers “Managing the Risks ofComponent-Based SoftwareEngineering” ,IEEE 1997.5Xia Cai, Michael R. Lyu, Kam-Fai Wong, Roy KO”Component-Based SoftwareEngineering: Technologies,DevelopmentFrameworks, and QualityAssurance Schemes”, IEEE2000.

Choose your subject

x

Hi!
I'm Jessica!

Don't know how to start your paper? Worry no more! Get professional writing assistance from me.

Click here