mdh.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Predictability By Construction: Working the Architecture/Program Seam
Mälardalen University, School of Innovation, Design and Engineering. (Software Engineering Group)
2010 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]

Contemporary software engineering practice overemphasizes the distinction of software design from software implementation, and designer (“software architect”) from implementor (“computer programmer”). In this contemporary meme, software architects are concerned with large-grained system structures, quality attributes that arise from these structures (security, availability, performance, etc.) and quality attribute tradeoff to satisfy conflicting stakeholder needs; programmers are concerned with low–level algorithms and data structures, program functionality, and with satisfying architectural intent. However, software is unique in that design and implementation are not cleanly separable. While architect and programmer may have many different design concerns, they also have many complementary and interacting concerns; their respective design practices must be well–integrated. Instead, contemporary architecture and programming practices are diverging. Architects are likely to regard programming as a routine production activity, while programmers are likely to regard architecture as a routine management activity; communication is hindered by a lack of shared vocabulary or appreciation of mutual concerns. Instead of effective integration, a gap has opened in software architecture and programming practice.

The research reported here defines the architecture/program seam (“the Seam”), a region of overlap in software architecture and programming practice. The Seam emphasizes design concerns centered on achieving predictable runtime behavior. For a behavior to be predictable it must be described in a theory that must ultimately be consistent with basic theories of computation, and each such theory must have objective evidence to demonstrate that theory observations correspond to system observations. The validity of a theory will likely depend on invariants that can be expressed, and enforced, by means of theory–induced design rules. A system that satisfies the design rules of a theory is then regarded as having behavior that is predictable by construction with respect to that theory. Predictability by construction reduces uncertainty, and hence risk in design, and helps designers explain complex design decisions. The research reported here also defines prediction–enabled component technology (PECT) as a foundation technology to support the Seam, and demonstrates a prototype on industrial problems in electric grid substation control, industrial robot control, and desktop streaming audio.

The prototype PECT extends a basic component technology of pure assembly (“Pin”) with theory extension points (“reasoning frameworks”) that are used to achieve predictability by construction. Reasoning frameworks for real–time performance and temporal–logic model checking have been developed, with statistical confidence intervals providing evidence of predictive quality for the former, and code–embeddable proof certificates providing evidence for the latter. Finally, the research reported here defines the Seam itself as inducing a new kind of evolutionary design problem, whose solutions require the integration of programming language theory, design theory, specialized theories of system behavior and deep systems expertise.

Place, publisher, year, edition, pages
Västerås: Mälardalen University , 2010.
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 85
Keyword [en]
software engineering, software architecture, software components, quality attributes
National Category
Software Engineering
Research subject
Computer Science
Identifiers
URN: urn:nbn:se:mdh:diva-10150ISBN: 978-91-86135-80-5 (print)OAI: oai:DiVA.org:mdh-10150DiVA: diva2:343797
Public defence
2010-09-30, Alpha, Högskoleplan 1, Västerås, 14:00 (English)
Opponent
Supervisors
Available from: 2010-08-16 Created: 2010-08-16 Last updated: 2015-01-14Bibliographically approved

Open Access in DiVA

fulltext(4922 kB)461 downloads
File information
File name FULLTEXT01.pdfFile size 4922 kBChecksum SHA-512
acc9da0d54f0676218e1d082cc3b6e5ad08f27bc684872e2059faae709a63b2d2c0e48aef80433627dbeb6ec39cc39849e02c3b8db31f19c3ee8207ee5871fca
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Wallnau, Kurt C.
By organisation
School of Innovation, Design and Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 461 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 263 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf