+ All Categories
Home > Documents > EPL441 1 EPL441 Software Engineering for Parallel and Distributed Systems George A. Papadopoulos...

EPL441 1 EPL441 Software Engineering for Parallel and Distributed Systems George A. Papadopoulos...

Date post: 27-Dec-2015
Category:
Upload: raymond-holland
View: 217 times
Download: 2 times
Share this document with a friend
Popular Tags:
30
EPL441 1 EPL441 Software Engineering for Parallel and Distributed Systems George A. Papadopoulos Department of Computer Science [email protected] http://www.cs.ucy.ac.cy/~geo rge Course URL: http://www.cs.ucy.ac.cy/ courses/EPL441
Transcript

EPL4411

EPL441Software Engineering for Parallel and Distributed Systems

George A. Papadopoulos

Department of Computer [email protected]

http://www.cs.ucy.ac.cy/~george

Course URL:

http://www.cs.ucy.ac.cy/courses/EPL441

2EPL 441

Today’s Software Development

• Development of large & complex systems

• Software systems must fulfill the requirements of stakeholders (clients, end-users, developers,…)

• Number of persons involved in the development > 1

• Software systems are expected to live long and be used by many people

3EPL 441

What are the Problems?

• Increased quality demands on software products

• High cost and time pressure

• Shorter time to market• Coordination problems within the projects• Scarce resources

4EPL 441

The Software Crisis/Solution

1968: NATO conference in Garmisch-Partenkirchen

• Software crisis (to characterize the situation)

• Software engineering (idea for a solution)

5EPL 441

What’s Software Crisis?

Unacceptably low quality of software

Delayed deadlines: Average 1 year

Over cost limits: Average 2X estimate

E.g. Air Force Command and Control system

Initial estimate $1.5million Winner’s bid $0.4 million Actual cost $3.7 million

After deliver?

E.g. U.S Army study of Federal projects Delivered, but not used

47%Paid for, but not delivered

29%Abandoned or reworked

19%Used after changes 3%

Used as delivered 2%

6EPL 441

Example: Practical Disasters

• European Space Agency Ariane 5– Track control system failure results in self destruction

• Denver Airport– Late delivery of software for the baggage system delays the

opening of the airport by 16 months • US study (1995): 81 billion US$ spend per year for

failing software development projects

7EPL 441

Why is Software so Hard?

• Software is [Parnas, 1985]: Buggy Unreliable Forever changing Unwarrantable

8EPL 441

Definition: Software Engineering

The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software [IEEE-93]

9EPL 441

Three P’s

Processes Products

People

10EPL 441

People, Processes, Products

• People– education

– skills

– communication

– style

– .....

• Products– requirements

– design

– source code

– executable

– user documentation

– test cases

– test results

– change request

– ....

• Processes– planning

– coordination

– management

– measuring

– analyzing

– designing

– coding

– .....

11EPL 441

Scope: Software Engineering

• various disciplines– Mathematics,

– Computer science,

– Economics,

– Management,

– Psychology

– etc.

• extremely broad– the software life cycle

– team or organization

– economic aspect

– legal aspect,

– etc.

12EPL 441

Why still Software Engineering?

Has the software crisis vanished? No!

• Software projects still run over time and out of budget

• no break through in quality !!![still art instead of engineering discipline]

13EPL 441

What is a Distributed System?

• A collection of autonomous hosts that that are connected through a computer network.

• Each host executes components and operates a distribution middleware

• Middleware enables the components to coordinate their activities

• Users perceive the system as a single, integrated computing facility.

14EPL 441

Hostn-1

Hostn

Host2

Host1

What is a Distributed System?What is a Distributed System?

MiddlewareMiddleware

MiddlewareMiddleware

Network Operating SystemNetwork Operating System

Network Operating SystemNetwork Operating System

HardwareHardware

HardwareHardware

Component1 Componentn

Component1 Componentn

Component1 Componentn

Component1 Componentn

Network

15EPL 441

Middleware ExamplesMiddleware Examples

• Transaction-oriented– IBM CICS

– BEA Tuxedo

– IBM Encina

– Microsoft Transaction Server

• Message-oriented– Microsoft Message Queue

– NCR TopEnd

– Sun Tooltalk

• Transaction-oriented– IBM CICS

– BEA Tuxedo

– IBM Encina

– Microsoft Transaction Server

• Message-oriented– Microsoft Message Queue

– NCR TopEnd

– Sun Tooltalk

• Procedural– Sun ONC

– Linux RPCs

– OSF DCE

• Object-oriented– OMG CORBA

– Sun Java/RMI

– Microsoft COM

– Sun Enterprise Java Beans

• Procedural– Sun ONC

– Linux RPCs

– OSF DCE

• Object-oriented– OMG CORBA

– Sun Java/RMI

– Microsoft COM

– Sun Enterprise Java Beans

16EPL 441

Centralized vs. Distributed System

• One component with non-autonomous parts

• Component shared by users all the time

• All resources accessible• Software runs in a single

process• Single Point of control• Single Point of failure

• Multiple autonomous components

• Components are not shared by all users

• Resources may not be accessible

• Software runs in concurrent processes on different processors

• Multiple Points of control/failure

17EPL 441

Real World Example: Hongkong TelecomReal World Example: Hongkong Telecom

• Video-on-demand: provide subscribers with facilities to download videos from HK TK servers to low-cost Web-TVs.

• currently 90,000 users.

• Built using distributed object-technology.

• Video-on-demand: provide subscribers with facilities to download videos from HK TK servers to low-cost Web-TVs.

• currently 90,000 users.

• Built using distributed object-technology.

18EPL 441

Requirements

• Hardware:

– Clients: Web-TV

– Servers: RISC processor

• Operating System Heterogeneity :

– Clients: Java OS

– Servers: UNIX

• Programming Language Heterogeneity:

– Clients: Java

– Servers: C++

• Communication across Network

– How to transmit complex data structures across the Internet?

• Scale

– Scaling from initially several hundred to currently 90,000 users

• Security

– Secure Payment

– Authentication

19EPL 441

Why Distributed Software Technology?

• Distributed:– Video clients need to download/show video on customer’s Web-

TV– Multiple servers needs to be operated by Hongkong Telecom:

• Software Technology:– Video clients are written in Java:

• Web-TV has Java Virtual Machine• portability to e.g. Sony Playstation, Sega-Console...

– Video servers are written in C++:• high performance

20EPL 441

TradingWorkstation

TradingWorkstation

AuthorisationServices

AuthorisationServices

Host ServicesHost Services

Customer Information

Services

Customer Information

Services

Product DatabaseServices

Product DatabaseServices

MarketingServices

MarketingServices

Another Example:IT Infrastructure of UBS

21EPL 441

Requirements

• Time to market– Development of new applications

with recent technology– Integration of new applications

increasingly difficult• Scalability

– Management of 30,000,000 accounts

– Management of 10,000,000 customers

– Use by 2,000 concurrent users• Reliability

• Hardware Heterogeneity– Unisys Mainframes– IBM Mainframes– SPARC Servers– PC Workstations

• Operating System Heterogeneity– MVS– UNIX– Win-NT

• Programming Language Heterogeneity– Cobol– C/C++– Visual Basic

22EPL 441

Why Distributed Software Technology?

• Uniform view of all banking services• Appropriate level of abstraction• Preserving investment by wrapping legacy applications• Exploiting advantages of object technology for new

development• Resolving

– distribution– heterogeneity

23EPL 441

Boeing 777 Configuration Mgmnt.

24EPL 441

Requirements

• Scale– 3,000,000 parts per aircraft– Configuration of every aircraft is different– CAA regulations demand that records are kept for every

single part of aircraft– Aircraft evolve during maintenance– Boeing produce 500 aircraft per year– Configuration database grows by 1.5 billion parts each year– Projected life of each aircraft 30 years– 45,000 engineers need on-line access to engineering data

25EPL 441

Requirements

• COTS Integration– Existing IT infrastructure was no longer appropriate

– Boeing could not afford to build required IT infrastructure from scratch

– Components were purchased from several different specialized vendors

• relational database technology

• enterprise resource planning

• computer aided project planning

– Components needed to be integrated

26EPL 441

Requirements

• Heterogeneity– 20 Sequent database machines as servers for the

engineering data– 200 UNIX application servers– NT and UNIX workstations for engineers

27EPL 441

Why Distributed Software Technology

• Object wrapping of COTS

• Resolution of distribution at high level of

abstraction

• Resolution of heterogeneity

• Scalability

28EPL 441

Distributed System Requirements

• Integration of new, legacy and components off-the-shelf– Legacy components might not need to be re-engineered– COTS cannot be modified

• Heterogeneity of– hardware platforms– operating systems– networks– programming languages

• Construction of distributed systems

29EPL 441

Course Content - 1

• Introduction to Components and Component-Based Software Engineering

• Fundamental Concepts:– Components vs Objects– Patterns– Software Architectures– Coordination Models and Language– Software Composition

30EPL 441

Course Content -2

• Middleware Platforms and Component Based Systems Development:– COM/DCOM/ActiveX

– CORBA

– Jini

• Development of Component Based Systems:– Architectures and Component Frameworks

– Development of Components in Distribute Systems

– Related Programming Languages

– Configuration Management


Recommended