Post on 03-Feb-2022
JACEK SZYMANSKI
INFORMATION SYSTEMS CONSULTANCY
Trends in Software Intensive Systems Development
Outline
� Complexity of ICT Projects� Origins
� Consequences
� Remedies
� Structural improvement – SOA/SCA
� Methodological improvement – agile methodologies
10/20/2011Jacek Szymanski ICT Workshop, Prague
2
Context
� ICT projects develop software intensive systems� In such systems software components control and observe system’s status , interact with system users and system environments (other systems)
� Software components interact not only with other software components, but also with external systems, devices, sensors and with people� Large variety of software from in-the-tiny to in-the-large
10/20/2011Jacek Szymanski ICT Workshop, Prague
3
Origins of difficulties(1)
� Complexity of railway systems universe � heterogeneity
� need for integration of legacy components
� distribution
� evolutivity
10/20/2011Jacek Szymanski ICT Workshop, Prague
4
Origins of difficulties(2)
� User pressure:� User requires explicitly functions and qualities
� Complexity of required functions vary from simple stand alone to composite
� An implicit requirement imposed on software components is continuous and transparent operation
� Software components especially the embedded ones, need to be for the user invisible and highly dependable � example: ABS software
10/20/2011Jacek Szymanski ICT Workshop, Prague
5
Railway system complexity cube
Functions are qualified
according to three
criteria:
•Functional level
•Spatial range
•Temporal range
10/20/2011Jacek Szymanski ICT Workshop, Prague
6
Consequences of increase of complexity
� In such a system software has chances to become exceptionally complex in all aspects
� As the consequence all life cycle stages exhibit problems� Definition - partial
� Design – incomplete
� Production – error prone
� Commissioning – lengthy and delayed
� Exploitation – uncertain
� Maintenance – costly
10/20/2011Jacek Szymanski ICT Workshop, Prague
7
Software system project outbreaks
� Fragility of projects developing software intensive systems is well known� Difficult inception phase
� Incomplete design
� Painful development
� Delayed commissioning
� Costly curative maintenance
10/20/2011Jacek Szymanski ICT Workshop, Prague
8
What is wrong ?
� Inherent fragility of methodological approach to software development� methodologies inherited more or less directly from the waterfall or V-shaped process models
� The basic models exhibit structural fragility for any changes in the initial definition of fundamental system characteristics: � its structure
� its qualities
10/20/2011Jacek Szymanski ICT Workshop, Prague
9
Remedy
� Produce component based extensible software systems� Service Oriented Architecture pattern
� Put the change at the center of the software development process� Recent trends in software development processes known under collective name of agile methodologies
10/20/2011Jacek Szymanski ICT Workshop, Prague
10
SOA
� SOA -Service-oriented architecture � a flexible set of design principles used during the phases of systems development and integration .
� Service –independent unit of functionality
� A SOA based application associates services using orchestration� no direct bindings among services
10/20/2011Jacek Szymanski ICT Workshop, Prague
11
Guiding principles
� Ground SOA rules for system development� Services identification and categorization
� Compliance to standards (both common and industry-specific).
� Reuse, granularity, modularity,
� Composability, componentization and interoperability
10/20/2011Jacek Szymanski ICT Workshop, Prague
12
SOA principle of operation
� Basic paradigm of SOA:� Publish (register), Find, Interact(Bind)
10/20/2011Jacek Szymanski ICT Workshop, Prague
13
SOA vs Web Services
� Frequent misunderstanding of the two notions which are different
� SOA and WS are neither the same nor redundant
� Differences:� SOA is not bound to any specific technology
� Web Services are an instantiation of SOA with
� SOAP as the transport protocol ,
�WSDL as the service interface description
� UDDI as the service discovery and binding
10/20/2011Jacek Szymanski ICT Workshop, Prague
14
Service Component Architecture(SCA)
� Extension of SOA paradigm� Support for constructing systems obeying SOA rules
� Clear definition of reusable software component
� SCA provides the foundation for � Modeling applications through the definition of SCA assembly meta-model
� Supporting system building processes by specification of tools which transform models to software
10/20/2011Jacek Szymanski ICT Workshop, Prague
15
SCA approach
10/20/2011Jacek Szymanski ICT Workshop, Prague
16
� SCA organizes building a service-oriented application in two major steps:� The implementation of service components which provide services and consume the results produced by other services.
� The assembly of sets of components in to business applications, through the wiring of service references to services of other components.
Central SCA artefact - component
� Components � basic elements of business function
� combined into complete business solutions by SCA composites.
ComponentComponent
PropertiesServices
ReferencesImplementation-JAVA-BEPL- Composite
10/20/2011Jacek Szymanski ICT Workshop, Prague
17
SCA Composite
Component A Component BService Reference
Composite A
Service- Java Interface- WSDL Port Type
Binding- JMS- Web service
Promote
Reference- Java Interface- WSDL Port Type
Binding- JMS- Web service
PromoteWire
Property setting
Properties
10/20/2011Jacek Szymanski ICT Workshop, Prague
18
INTEGRAIL – an example of SOA
10/20/2011Jacek Szymanski ICT Workshop, Prague
19
Railway Communication Framework
InteGRail Service Grid
Virtual
servicesFlexible
CommunicationAdaptor
FlexibleCommunication
Adaptor
FlexibleCommunication
Adaptor
Flexible
CommunicationAdaptor
FlexibleCommunication
Adaptor
Flexible
CommunicationAdaptor
Infra-RIOM-
Infra Sensor Infra SensorInfra SensorInfra
Sensor
BayNetworksSD
Ba
802.11Modem
DDU
RadioTCMS-MPU-TCMSSensors
«Train» Backbone
RTRTrain Sensors
db22222
Trafficmanager
Trafficmanager
Infrastructuremanager
TrainOperator
KPI computation,Common data model,Service directory
IGRPortal
Virtualservices
Virtual
servicesVirtualservices
Jacek Szymanski ICT Workshop, Prague
19
Agile Methodologies
� Family of development processes which provide alternative solution to waterfall of V-shaped model
� Offer improvement with respect to purely prescriptive process
� Incorporate smoothly changes into the process� This provides the basic difference with respect to prescriptivemethodologies
10/20/2011Jacek Szymanski ICT Workshop, Prague
20
Effective response to constant changes
� Organization of the life-cycle of the project around four basic principles :
10/20/2011Jacek Szymanski ICT Workshop, Prague
21
Life cycle organized by iterations
Inception Elaboration Construction Transition Production
Business Modeling
Requirements
Analysis and Design
Implementation
Tests
Deployment
Prel. Iter Iter Iter Iter Iter Iter Iter Iter
Iterations
10/20/2011Jacek Szymanski ICT Workshop, Prague
22
Principal targets
� Close collaboration of stakeholders and system providers in order to support:
Responsiveness to changes
Direct communications
Frequent contacts
Team motivation
Sustainable collaboration
Mutual trust
10/20/2011Jacek Szymanski ICT Workshop, Prague
23
Stakeholders and providers
A pig and a chicken are walking down a road. The chicken looks at the pig and says, "Hey, why don't we open a restaurant?" The pig looks back at the chicken and says, "Good idea, what do you want to call it?" The chicken thinks about it and says, “Why don't we call it 'Ham and Eggs'?" "I don't think so," says the pig, "I'd be committed but you'd only be involved."
10/20/2011Jacek Szymanski ICT Workshop, Prague
24
Conclusions
� Information and Communication Technology places railway systems into the category of software intensive systems� An appropriate architectural pattern allows better control of the design characteristics of the system
� Efficient production of high quality railway software needs the appropriate methodologies to organize the production process� Putting the change in the middle of the scene
10/20/2011Jacek Szymanski ICT Workshop, Prague
25
THANK YOU FOR YOUR KIND ATTENTION