Renaissance in Software Architecture - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Renaissance in Software Architecture

Description:

A software system that is an integrated tool for the development and the use of software. ... plan {[intend: t1 t2 (remex: uav-01 (check: bridge4) ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 19
Provided by: Sande9
Category:

less

Transcript and Presenter's Notes

Title: Renaissance in Software Architecture


1
Renaissance in Software Architecture
  • Slides for a talk at the
  • Colloquium in memory of Gilles Kahn
  • Paris, January 12, 2007
  • Erik Sandewall
  • Linköping University, Sweden

2
Computing Environment
  • A software system that is an integrated tool
    for the development and the use of software.

3
Each software environment isan individual in a
software species

Each contains a spectrum from program to
data each of them can evolve over
time.
4
Consolidation of the software system Eliminate
design redundancies between
  • Operating system (esp. its shell)
  • Programming language and system
  • Database system
  • Various servers their corresponding clients
  • Various branches of an office system
  • Dialog engine other engines
  • Simulation framework other frameworks
  • . . .

5
Where to start the design?
  • A programming language
  • Conventions for procedure calls
  • An interpretive programming system
  • An architecture for processes on the OS level
  • A system for datatype declarations
  • A programming language and its debugging system

6
Where to start the design?
  • A programming language
  • Conventions for procedure calls
  • An interpretive programming system
  • An architecture for processes on the OS level
  • A system for datatype declarations
  • A programming language and its debugging system
  • A textual representation for structured
    information (and for markup of text)

7
A textual representation for structured
information (and for markup of text)
  • First example S-expressions
  • Also textual representation in Python, etc.
  • Also XML, RML, OWL
  • Alternatives YAML

8
A textual representation for structured
informationModes of usage
  • Persistent storage between runs
  • Presentation to the user, for editing
  • Message-passing between processes
  • Parametric information for software modules
  • High-level knowledge representation
  • Archival representation of information
  • Integrate in markup language for text

9
A textual representation for structured
informationKey issues for the design
  • Should the representation be human readable, or
    not?
  • Expressiveness
  • Performance requirements
  • Assumptions about the computation system where
    used

10
A textual representation for structured
informationChoices for the design
  • Should the representation be human readable, or
    not? It should, this is important
  • Expressiveness High requirements
  • Performance requirements Moderate
  • Assumptions about the computation system where
    used As described above

11
An example
  • --------------------------------------------------
    --------
  • -- plan7
  • type method
  • plan intend t1 t2 (remex uav-01 (check
    bridge4))
  • intend t1 t3 (remex uav-03 (check
    bridge8))
  • intend t4 t5 (send group4
    position3)
  • time-constraints afterall t2 t3 t4
  • --------------------------------------------------
    --------

12
Leonardo Data Expression Language
  • Entities, strings, numbers
  • a1, a2, an
  • lta1, a2, angt
  • recordtype a1, an, f1 v1,
  • tag value a maplet
  • (symbfun a1, a2, an)
    this is a new entity
  • predicate a1 an extend to logic

13
The Leonardo computation system
Activation of individual
Repository
Real World
User/Operator
14
System consolidationleads to realignment of
facilitiesKernel facilities in Leonardo
  • Conversion of information structures between
    computational and textual form
  • Command executive
  • Management of time on several granularity levels
  • Management of modules and configurations
  • General purpose version management
  • Spawning and migration of software individuals

15
Project structure
  • Hypothesis A consolidated computation system
    along these lines can avoid duplication of
    conventions and facilities
  • Validation Design LDX, system platform, and
    several generic applications. Assess whether
    duplication was effectively avoided.
  • Intended result Concise description of the
    design, and grounded account of reasons for
    distict design decisions.

16
Project status
  • Representation and platform exist (but subject to
    additional, gradual modifications)
  • A few applications exist and are in actual use,
    but by a single user (myself)
  • Additional applications are intended to be ported
    from previously developed platform
  • Documented on
  • http//www.ida.liu.se/ext/leonardo/

17
Earlier work
  • No full match (as far as I know)
  • Earlier work on programming environments, in
    particular in the context of dynamic
    programming languages
  • Systematic design of document editing and
    formatting systems
  • Very much in the tradition(s) that were pioneered
    by Gilles Kahn.

18
This is not the End.
Write a Comment
User Comments (0)
About PowerShow.com