Title: IEEE International Conference on
1New Software and System Engineering for the New
Computing Paradigm
- W. T. Tsai
- Arizona State University
- wtsai_at_asu.edu
2Service-Oriented Computing (SOC)
- Receives significant attention recently
- DoD has initiated many service-oriented projects
such as NCES, GIG-ES, JBMC2, JBI, FORCEnet, and
FCS. - Supported by many computer and software
companies, such as IBM, Microsoft, Oracle, SAP,
and Intel. - Service-oriented architecture (SOA) allows
dynamic service discovery, binding, execution,
monitoring, and evaluation. - Web Services is an example of SOC and it uses a
variety of standardized protocols such as UDDI,
SOAP, WSDL, OWL-S, ebSOA, ebXML, FERA, CPP, and
CPA.
3The Three-Party Model of Web Services
Directory services UDDI / WSDL / SOAP ebXML /
CPP Ontology
White page
Service brokers
Yellow page
Programming languages C, C Java
Registry
Registry
Green page
Internet
Found
Publishing
Find
?
Computing service development .Net
(Microsoft) WebSphere (IBM)
?
SOAP call
?
Results
Application development platforms Specification
languages .Net, WebSphere, WSFL, BPEL, PSML for
composition, code generation
Web and data service development XML, RDF, OWL,
WSDL
4Service-Oriented Computing is different than OO
Computing
- Some people think SOA is just a minor variant of
OO computing as SO languages are evolved from OO
languages - People said the similar things when OO was
introduced (such as OO is just a minor increment
of data abstraction). But an OO applications are
indeed different from procedural programming with
data abstraction. - Even though SO languages evolves from OO
languages, but an SO applications including its
system structure, system composition,
reliability, verification and validation,
security, reconfiguration capabilities are rather
different from the corresponding OO programming.
5Differences
- Instead of static composition (with dynamic
objects and dynamic binding) in OO, SOA allows
dynamic (on-demand) composition in at runtime,
and with knowledge of the service interface only - Include dynamic discovery and matching
- Runtime ranking and selection of services
- Runtime interoperability verification
- Dynamic collaboration discovery, establishment,
and termination - Due to these constraints, SO applications require
a new approach of engineering
6From Object-Oriented Paradigm to Service-Oriented
Paradigm
OO Modeling Languages IDE
OO Technology Framework
OO Languages
OO system engineering (OOSE) OO testing OO
maintenance OO application frameworks OO
databases (OODB) OO lifecycle (XP? MDA?)
Object- Oriented Concept Architecture
Simula Smalltalk Objective C C Java
UML CORBA MS .Net JDK GCC
SO Modeling Languages IDE
SO Technology Framework
SO Standards
SO System Engineering (SOSE?) SO testing
(WebStrar?) SO maintenance (re-composition?) SO
frameworks (FERA? SOI?) SO databases (Ontology
DB, SODB?) SO Lifecycle (MDA, re-composition)
XML UDDI ebXML WSDL SOAP OWL
Service- Oriented Concept Architecture
BPEL WSFL XLANG MS. Net WebSphere
7SOC Changes System and Software Development
- Service-oriented requirement engineering
- Model-based
- Architecture-based
- Reuse-oriented
- Framework-oriented analysis
- Simulation-based analysis with formal analysis
- Service-oriented architecture and design
- Enterprise computing
- Dynamic collaboration
- Dynamic system composition
- Dynamic system analysis
8SOC Changes System and Software Development
- Service-oriented programming languages
- Model-based development
- Automated code generation
- Service-oriented implementation
- Dynamic discovery
- Dynamic composition
- Model-based architecture
- Automated code generation
- Collaborative verification and validation
- Dynamic testing including test generation,
execution, monitoring, and evaluation - Dynamic model checking
- Dynamic simulation including simulation code
generation, distributed simulation - Dynamic reliability estimation, data collection,
control, evaluation
9SOC Changes System and Software Development
- Dynamic policy construction, verification,
simulation, enforcement of security and other
policies using formal policy languages - System maintenance and update will be via service
re-composition and possibly architectural
reconfiguration
10Differences
11Traditional VV
VV Techniques
Development process
Requirement VV
Requirement Specification
Modeling Simulation CC, Model
Checking, Prototyping, Inspection
Design VV
Design
Modeling Simulation CC, Model
Checking, Prototyping, Inspection
Implementation VV
Black-box testing, White-box Testing, Model
checking, Reliability Modeling
Implementation
Operation VV
Operation
Acceptance/Field testing Operational profile,
Data Analysis Instrumentation
12Dynamic Verification and Validation
Dynamic VV Techniques
Development/operation
Requirement VV
Requirement Specification/ Design
Dynamic and automated CC, model checking test
case generation
Automated code generation
Policy extraction
Re-composition
Real-Time VV, Monitoring Simulation
Reconfiguration
Operation
13Dependable and Automated Software Development
with RTV2
14Dynamic Verification and Distributed Simulation
15Adaptive Control Framework for SOC
16Structure model
Activity diagram
Collaboration diagram
Sequence diagram
17State model
Reliability model
Model checking
PSML
Dynamic testing
Policy
Collaboration pattern
Reconfiguration
Simulation
18Summary
- The SOC is a new paradigm, and each computing
paradigm will need its own specific system
engineering techniques including specification,
analysis, design, architecture, patterns,
verification and validation, simulation,
operation and maintenance. - The promise of this paradigm is that it will
provide significant productivity gain with
advanced features not available today. - Due to nature of SOC, many of traditional system
engineering need to be modified and integrated to
fit the SOC. Many of these may need to be carried
out at runtime as new applications are composed.
19Summary
- Both the process (including requirement, design,
coding, verification and validation, operation,
and maintenance) and technologies will be
different for SOC. - This is an exciting area for research and this is
an excellent time for this effort.