Four Macro Trends in Software Development Y2003 - PowerPoint PPT Presentation

About This Presentation
Title:

Four Macro Trends in Software Development Y2003

Description:

Code the new behavior and insert it at the location in the base program ... Ivar Jacobson, Martin Griss & Patrik Jonsson, Addison Wesley Longman (1997) ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 26
Provided by: iva111
Learn more at: http://bcs-spa.org
Category:

less

Transcript and Presenter's Notes

Title: Four Macro Trends in Software Development Y2003


1
Four Macro Trends in Software Development Y2003
  • Ivar Jacobson

IBM Rational ivar_at_rational.com
2
Virtual Agenda
  • Yesterday
  • Today
  • Tomorrow
  • The best way to predict the future is to invent
    it!

Alan Kay
3
The 1980 Letter to The CEO of Ericsson
  • Our component-based development approach will
    evolve into a world standard
  • Proceed in three steps
  • A standard approach including
  • a modeling language like SDL, UML,
  • a process like RUP supported by a first
    generation tool-set
  • The modeling language becomes a formal, an
    abstract executable language like UML with
    action semantics
  • Expert system support on top of process, language
    and tool talked about layman programming

4
Today
  • We have the standard modeling language -- UML
  • We have a standard development process -- RUP
  • What next?

5
What is the Unified Modeling Language?
  • The UML combines the best of the best from
  • Use Case Modeling
  • Data Modeling
  • Business Modeling
  • Object Modeling
  • Component Modeling
  • The UML is the standard language for modeling
    complex systems software systems, businesses
    business processes, combined hardware and
    software systems.

6
What is Rational Unified Process?
  • The Rational Unified Process (RUP)is
    component-based
  • It uses the Unified Modeling Language
  • It is
  • Iterative and controlled
  • Use-case driven
  • Architecture-centric
  • Risk focused
  • Configurable

7
Focus Moves to the Front-End
Now
Tomorrow
  • Examples
  • Use cases generate test cases and input to
    analysis
  • Analysis will generate implementation eventually
    implementation will become superfluous for
    business software
  • Test will be part of every activity test while
    you go forward

8
Macro Trends in support of the Front-End Move
  1. Closing The Gap
  2. Building Extensible Systems
  3. Making Software Process Execute
  4. Executable UML
  • Removed Trend
  • Quality from the Beginning
  • it is being implemented!

9
Trend 1 Closing The Gap -- Business Driven EAI
  • The Business must drive the IT support systems
  • The available IT systems must guide the Business
  • The business may have to be marginally adjusted
    to be supported by efficient IT systems
  • The end- result is a balance between what is
    desirable (ideal) and what is available (real)

10
Based on a Component Market
  • Components are frameworks
  • Business specific components
  • COTS components
  • A component industry including
  • Component factories provide components
  • System Integrators reuse these components
  • What do we need to do to play on this
    marketplace?

11
The Rational Initiative Reusable Asset
Specification
ComponentFrameworks
Technology or domain specific reusable assets
with associated guidelines on usage.
Reuse Standard
Open UML-based OMG standard expressing how to
produce, evaluate and consume reusable
assets. RAS, Reusable Asset Specification
developed by Rational and IBM, MSFT, SUN, BEA,
Tools
Tool support for creating, managing, browsing
and reusing software assets.
12
Trend 2 Building Extensible Systems
  • Alternative trend names
  • Keeping Use Cases Separate All The Way Down
  • Aspect-Oriented Programming (in a wide sense)
  • Problems
  • Adding new use cases/features to an existing
    system is painful
  • Infrastructure extensions, for instance concerned
    with distribution, persistence, debugging,
    performance monitoring, auditing.
  • Application extensions such as adding traffic
    recording to a base telecom system
  • Separation of concerns (use cases) all the way
    down
  • Over all models use case, analysis, design,
    implementation, executable code.
  • Composition of concerns (use cases) again
  • At some late point in time weaving back to an
    integrated whole

13
Today
  • Consider a new feature for a base program
  • Identify a location in the base program where you
    want to insert the new behavior
  • Code the new behavior and insert it at the
    location in the base program
  • The base program has been changed. The new
    feature was invasive to the base.

14
How would AOP help?
  • AOP allows us to make the base program oblivious
    of the extensions ( aspects)
  • AOP allows us to weave back extensions before
    execution
  • UML has already support for extensions in use
    case modeling
  • we need to extend UML to allow extensions between
    arbitrary design and implementation elements
  • AOP allows us to keep use cases separate all the
    way

__________________________________________________
______________________________
join p. 1
________________________________
join p. 3
________________________________
Base
join p. 2
________________________________
Extensions Aspects
Figure from Language Support for Changeable
Large Real Time Systems, Ivar Jacobson, 1986
15
Trend 3 Make Software Process Execute
  • Software development has never been
  • as hard as today we need to SIMPLIFY
  • Minimal training learn as you go
  • Make process invisible yet very present
  • Make it personal, make it light
  • Without sacrificing quality
  • Give them context-dependent, concrete advices
  • Make people collaborate
  • Let them focus on creative tasks
  • A process engine in the hands of each developer
    and the whole team.
  • Empower the developer

16
Use Next Generaton Technology Intelligent Agents
  • Characteristics of intelligent agent
  • Agents are proactive, adaptive and reactive
  • Think of intelligent agents as objects driven by
    rules

17
Agents to assist the Software Developer
  • Understand the software developers objectives
  • milestones, roles, activities, artifacts
  • Reason with relevant knowledge
  • capture knowledge, and apply in context just in
    time
  • Be a central part of a more complete and
    integrated development environment
  • interact with other agents and productivity tools
  • Be based on development standards
  • development process and modeling RUP, UML,
  • application platforms MS Web solution platform,
    J2EE,
  • implementation technologies C, Java, XML,

18
Agents and Software Developers
19
An Example Creating a use case model
20
Agents on Top of RUP and Existing/New Tools
Project Mgr
Use Case Specifier
Software Architect
Use Case Designer
Component Designer
System Tester
A Layer of Agents
Requirment (use cases analysis)
Development (design impl)
Test
Project Mgmt
Content Mgmt
- - -
Change Management etc.
Reusable assets Application frameworks,
Middleware, Systemware
21
Trend 4 Executable UML
  • Fighting
  • The Black Hole of Complexity
  • in Software

The Two-Language Problem
22
UML Java or C
  • Transitioning from UML to IDEs a Modern
    Approach
  • Model Driven Development (or OMG initiative MDA)
  • Frictionless design and Implementation
  • Instant UML

IDE C or Java
Auto Round Trip Engineering
UML model files
Code files
23
The Two-Language Problem
  • Two sets of files or programs
  • The UML program and the C/Java code
  • Two complex environments
  • Existing IDEs are designed to be complete
  • No assumptions on generating code from the UML
  • Large overlaps between UML and IDEs
  • IDEs only contribute 10-20 of the code, the rest
    is generated from the UML
  • Huge investment in infrastructure in existing
    IDEs
  • Compilers, debuggers, interpreters,
  • Systemware, middleware, reusable assets in
    general

24
Making UML a formal language
  • Actually a set of languages
  • Specification language
  • Programming language (that is executable UML)
  • Java, C, etc. become superfluous
  • One program which combines visual and code like
    syntax

20
Expressiveness of Language
10
Smalltalk 80
Eiffel
Visual Basic
Java
C
Visual C
Ada
Simula
PERL
PL1
5
C
Pascal
COBOL
FORTRAN
Basic
Macro Assembly
1
Assembly
Language Evolution
1960s
1970s
1980s
1990s
2000s
25
Tomorrow, Life will be Much Better!
Summary
  • We have UML, RUP and supporting tools
  • Now focus will continue to move to the front-end
    of the software development cycle, driven by
  • Closing The Gap -- Business Driven Enterprise
    Application Integration
  • Building Extensible Systems
  • Making Software Process Execute
  • Executable UML
  • Join the future

26
References
  • Closing The Gap
  • Closing The Gap Business Driven Enterprise
    Application Integration, Ivar Jacobson, RUC 2002
  • RDA -- Ratonal Development Accelerators
    initiative (see http//www.rational.com/rda/ras/pr
    eview/index.htm).
  • The Long Awaited Promise of Component Reuse is
    About to be Achieved, Ivar Jacobson Martin L
    Griss, Application Development Trends, June 2001
  • Software Reuse Architecture, Process and
    Organization for Business Success (Addison
    Wesley) Ivar Jacobson, Martin Griss Patrik
    Jonsson, Addison Wesley Longman (1997)
  • Building Extensible Systems
  • Language Support for Changeable Large Real Time
    Systems, Ivar Jacobson, Proceedings
    of OOPSLA86, pp 377-384, Sep 1986
  • Use Cases and Aspects Working Together,
    Ivar Jacobson,
    soon to be published

27
References cont.d
  • Making Software Process Execute
  • Call for Expert Systems, Ivar Jacobson Stefan
    Bylund, Application Development Trends, June
    2002, http//www.adtmag.com/article.asp?id3680
  • A Multi-Agent System Assisting Software
    Developers, Ivar Jacobson Stefan Bylund,
    See www.jaczone.com/papers
  • Executable UML
  • Action Semantic for the UML, OMG ad/2001-03-01
  • Executable UML, A Foundation for Model-Driven
    Architecture, Stephen Mellor Marc Balcer,
    Addison Wesley, 2002

28
Other Readings by Ivar Jacobson
  • Object-Oriented Software Development--A Use Case
    Driven Approach (Addison Wesley)Jacobson et al,
    Addison Wesley Longman (1992)
  • The Object Advantage Business Process
    Reengineering with Objects (Addison
    Wesley)Jacobson et al, Addison Wesley Longman
    (1994)
  • Software Reuse Architecture, Process and
    Organization for Business Success (Addison
    Wesley) Ivar Jacobson, Martin Griss Patrik
    Jonsson, Addison Wesley Longman (1997)
  • Unified Software Development ProcessJacobson,
    Booch, Rumbaugh, Addison Wesley Longman (1999)
  • The Road to the Unified Software Development
    Process Ivar Jacobson, Stefan Bylund, Cambridge
    University Press, 2000
Write a Comment
User Comments (0)
About PowerShow.com