Paradigm and Software Engineering - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Paradigm and Software Engineering

Description:

In SE Paradigm' is heavily used: Discussions of superiority ' ... How can we assess suitableness? May 19, 2004. G kt rk, Akk k; IfI UiO. 16 ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 21
Provided by: erekgktrk
Category:

less

Transcript and Presenter's Notes

Title: Paradigm and Software Engineering


1
Paradigm and Software Engineering
  • Erek Göktürk (erek_at_ifi.uio.no),M. Naci Akkøk
    (nacia_at_ifi.uio.no)
  • Department of Informatics, University of Oslo

2
Outline
  • Motivation
  • What is paradigm?
  • Current attitude towards paradigms
  • Paradigm as an actor in software engineering
  • Conclusion

3
Motivation
  • In SE Paradigm is heavily used
  • Discussions of superiority Object-oriented
    paradigm is the best ever
  • Discussions of suitability Object-oriented
    paradigm is/isnt suitable for x y z
    domain/tasks
  • The meaning of paradigm is overloaded and vague
  • What exactly do we mean by paradigm?
  • Why and how a paradigm influences the process and
    product of SE?

4
Motivation
  • In this paper, we
  • Trace the meaning back in history
  • General (philosophical)
  • In software engineering
  • Exemplify the current vagueness in usage of the
    term
  • Suggest a working definition for paradigm
  • Discuss the current status in software
    engineering (w.r.t. paradigms)
  • Identify some questions regarding paradigms in
    software engineering, and provide some hypothesis

5
What is Paradigm?
  • Etymologically para- (alongside)
    -deiknunai (to show)
  • Greek paradeigma example
  • Works of Plato and Aristotle a third form of
    reasoning
  • Induction, deduction, paradeigma (example)
  • One of the constituents is more knowable
  • Typical issues related to the category they
    define (e.g. cheese paradigm)
  • Not very favorite of philosophers until late 20th
    century
  • Modern meaning coined by Foucault, and esp. Kuhn

6
What is Paradigm?
  • Philosophically related to
  • Ontology
  • The ontology
  • An ontology (AI)
  • Epistemology
  • Paradigmatic relationships (should be) in ontology

7
What is Paradigm?
  • Paradigm and computing
  • Word appeared after late 60s, early 70s, esp.
    after 2nd ed. of Kuhns book (1970)
  • The date suggests that usage was in Kuhnian sense
  • Alan C. Kay (regarding new computing principles
    through Smalltalk) a new Kuhnian paradigm in
    the same spirit as the invention of the printing
    press

8
What is Paradigm?
  • A fairly random sample
  • Google search software engineering paradigm
  • Trend (from usage)
  • Method, procedure, generalization of process
    (from usage)
  • Methodology (from usage)
  • A technique, the process model (a definition)
  • An approach to software design and programming (a
    definition)
  • Usage from some papers in computing
  • High level paradigm
  • Programming paradigm
  • Design paradigm
  • Object-oriented paradigm
  • Constraint satisfaction paradigm
  • Probability theory is probably the best
    understood paradigm in
  • The paradigms used for temporal reasoning
  • xxx framework enables a new paradigm for Internet
    services
  • most basic algorithmic paradigms in computational
    geometry
  • intrusion detection paradigm
  • employee-manager-salary paradigm

What does Paradigm mean?
9
Current Attitude Towards Paradigms
  • We propose a working definition
  • A paradigm is an ontology of the world, which
    necessarily includes some representational tools
    and methods for an observer to build models.
  • An ontology, for leaving room to relativism or
    perspectivism.

10
Current Attitude Towards Paradigms
  • Major paradigms in software engineering/design
  • the procedural paradigm (emphasis on algorithm),
  • the data-hiding paradigm (emphasis on data
    organization),
  • the data-abstraction paradigm (emphasis on types
    and operations),
  • and the object-oriented paradigm (emphasis on
    commonality between types)
  • New approaches having potential to be regarded as
    paradigms in the future
  • The component-based paradigm (emphasis on reuse
    through integration),
  • the aspect-oriented paradigm,
  • and the agent-oriented paradigm (emphasis on goal
    orientedness)

11
Current Attitude Towards Paradigms
  • Causal relationship between PL and paradigm work
    both ways
  • PL ? paradigm
  • Paradigm ? PL
  • New (immature) paradigm Partly based on not
    having a PL counterpart

12
Current Attitude Towards Paradigms
  • Most of the current research regarding paradigms
  • Confinement in one paradigm (normal science?)
  • Representing one paradigm using another (UML and
    CB)
  • The work done is claimed to provide an
    operational definition. Is it enough?
  • We suggest that a theory of paradigms (in
    software engineering/design) is needed.

13
Paradigm as an Actor in Software Engineering
  • Paradigms are panacea (cure of all pains)
  • In every field
  • In SE as well
  • OO the latest rescuer new paradigm.
  • Evidence?
  • CB a deja-vu?
  • What makes a paradigm different from another?
  • One paradigm using anothers toolset. What does
    it mean?
  • Comparative scale between paradigms?
  • We think differentiating properties might be
    found in the relation of paradigm and ontology,
    and psychology

14
Paradigm as an Actor in Software Engineering
  • Software
  • an executable model,
  • the result of a series of (mechanical and/or
    mental) transformations of models
  • What role does paradigm play in this software
    building process?

15
Paradigm as an Actor in Software Engineering
  • From the ontology to an ontology paradigm
    determines what is representable
  • object-oriented maps the ontology onto objects
    and their type relations,
  • Data-abstraction onto types and operations
  • Component-based onto components,
  • Agent-based onto agents and communication.
  • Some paradigms can be expected to fit some
    tasks/domains better, but which paradigms to
    which tasks/domains? How can we assess
    suitableness?

16
Paradigm as an Actor in Software Engineering
  • What about complex tasks with different
    constituents requiring different paradigms?
  • One answer might be by modeling one with the
    other, thereby exporting the conceptualization
    done by one paradigm to the other, but we dont
    know the compatibility scale of paradigms!
  • A theory of paradigms might
  • constitute of meta-paradigmatic statements
  • would act as the common grounds and norms to
    choose and to combine paradigms
  • or to show that they are not combinable

17
Paradigm as an Actor in Software Engineering
  • The PL-paradigm coupling
  • What about the question of compatibility of
    paradigms, w.r.t. PLs relationship with a
    paradigm?
  • From a translational point of view, this means we
    try to model one paradigm using another. Do we
    know what effects this might have?

18
Paradigm as an Actor in Software Engineering
  • Human and paradigm Psychological issues
  • The ones who prepare the first translation from
    the ontology to an ontology, and those who
    translate one model to another are only human.
  • Empirical/cognitive studies on understanding the
    cognitive load created on the designer/model
    builder, and designers/model builders cognitive
    toolset should become a study area.
  • How such studies should be conducted is another
    open question

19
Paradigm as an Actor in Software Engineering
  • Paradigms importance in software engineering is
    parallel to choice of conceptualization and
    communication language in a software engineering
    project
  • According to the Sapir-Whorf thesis, choice of
    language decides to a large degree
  • what we see,
  • how we see and conceptualize what we see,
  • and how we reason

20
Conclusion
  • The choice of paradigm effects the quality of the
    process and the product. Some apparent readings
    of quality parameters might be related inherently
    to paradigms.
  • What effects does the paradigm have, we dont
    know for sure yet. Some hypotheses are provided
    in this paper.
  • We propose reification of paradigms into
    artifacts through a theory of modeling/design
    paradigms in SE covering the philosophical and
    cognitive aspects.
  • We need an awareness about paradigm-related
    issues in SE community.
  • Towards this direction, we shared our first
    results/direction of research.
Write a Comment
User Comments (0)
About PowerShow.com