HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering
HMWS – At your Service 2 A case of “complexity” in-the-head mnemonics result-driven symbolic information elementary control flow “One man and his problem…” (and his program, and his machine) The Science of Algorithms and Complexity not so much Engineering but more of Craftsmanship (one of a kind) a case for virtuosi
HMWS – At your Service 3 A case of “complexity” in-the-headin-the-small mnemonicsI/O specs result-drivenalgorithms symbolic information data structures and types elementary control flow execute once termination The need for commercialisation… “One man and his problem…” (and his program, but their machine) The Science of Program Analysis and Construction Commerce, but not yet Engineering
HMWS – At your Service 4 10 years ago, the “software crisis” The challenge of complexity is not only large but also growing. […]. To keep up with such demand, programmers will have to change the way that they work. "You can't build skyscrapers using carpenters," Curtis quips. […] Musket makers did not get more productive until Eli Whitney figured out how to manufacture interchangeable parts that could be assembled by any skilled workman. In like manner, software parts can, if properly standardized, be reused at many different scales. […]In April, NIST announced that it was creating an Advanced Technology Program to help engender a market for component-based software.
HMWS – At your Service 5 A case of “complexity” in-the-headin-the-smallin-the-large mnemonicsI/O specscomplex specs result-drivenalgorithmssystem modules symbolic information data structures and types databases, persistence elementary control flow execute once termination continuous execution “One man and his problem…” (but their programs) The Science of Software Specification and Design Engineering
HMWS – At your Service 6 The case for new mathematics Algebraic techniques for structuring specifications “Putting Theories together to Make Specifications” The theory of Institutions The role of Category Theory Temporal logics for continuous/reactive execution My first years in Computing Science…
HMWS – At your Service 7 The case for objects/components Builds on a powerful methodological metaphor – clientship Inheritance hierarchies for reuse Software construction becomes like child’s play
HMWS – At your Service 8 Yet, in 2003 the crisis was going on Computing has certainly got faster, smarter and cheaper, but it has also become much more complex. Ever since the orderly days of the mainframe, which allowed tight control of IT, computer systems have become ever more distributed, more heterogeneous and harder to manage. […] In the late 1990s, the internet and the emergence of e- commerce “broke IT’s back”. Integrating incompatible systems, in particular, has become a big headache. A measure of this increasing complexity is the rapid growth in the IT services industry. […]
HMWS – At your Service 9 and the “silver bullet” became… Computing is becoming a utility and software a service. This will profoundly change the economics of the IT industry. […] For software truly to become a service, something else has to happen: there has to be a wide deployment of web services. […] applications will no longer be a big chunk of software that runs on a computer but a combination of web services The Economist, May 10, 2003
HMWS – At your Service 10 But… Is it Science? Is it Engineering? Or is it just “hype”? Society is clearly concerned… So is the economy… What is it about?
HMWS – At your Service 11 Web services are… “self-contained, modular applications that can be described, published, located, and invoked over a network, generally the Web” Web Services architecture overview – the next stage of evolution for e-business IBM www-developerswork “Sexed-up” components?
HMWS – At your Service 12 What is it about? A personal experience…
HMWS – At your Service 13 Too many products How to choose a mortgage? The mortgage is just a component of a larger “system”: what about the insurance policies that protect the lender? what about complementing repayment with a savings scheme? what about… How to choose the right mortgage? How to choose the mortgage that is right for me? This system is dynamic: interest rates will change; my status will change; will I have to go all over the search process again? How many times? Is this what I want?
HMWS – At your Service 14 From products to services Abstracts away the identity of the component(s) out of which the service is provided; Provides an explicit representation of the role under which the service was procured, and which led to the choice of specific components; The choice of the configuration of components that provides the required service is performed by experts in a more restricted domain; Service providers have to abide to rules that ensure certain levels of quality
HMWS – At your Service 15 Yet a case of “complexity”? in-the-headin-the-smallin-the-large mnemonicsI/O specscomplex specs result-drivenalgorithmssystem modules symbolic information data structures and types databases, persistence elementary control flow execute once termination continuous execution “One man and his problem…” (but their programs) The Science of Software Specification and Design Engineering “One man and his problem…” (but their programs) “One man and everybody’s problems…”
HMWS – At your Service 16 A case of “complexity” in-the-headin-the-smallin-the-largein-the-world mnemonicsI/O specscomplex specsevolving result-drivenalgorithmssystem modulessub-systems & interactions symbolic information data structures and types databases, persistence separation data computation elementary control flow execute once termination continuous execution distribution & coordination
HMWS – At your Service 17 Same complexity? “Physiological” complexity derives from the need to account for problems/situations that are “complicated” in the sense that they offer great difficulty in understanding, solving, or explaining there is nothing necessarily wrong or faulty in them; they are just the unavoidable result of a necessary combination of parts or factors “Social” complexity derives from the number and “open” nature of interactions that involve “autonomic” parts of a system; it is almost impossible to predict what properties can emerge and how they will evolve as a result of the interactions in place or the dynamics of the population itself.
HMWS – At your Service 18 Same Science & Engineering? “ Physiological” complexity server-to-server, static, linear interaction based on identities compile or design time integration contracts of usage “Social” complexity dynamic, mobile and unpredictable interactions based on properties “late” or “just-in-time” integration quality and trust
HMWS – At your Service 19 The age of “interactions” A truly great challenge! Requires “new” Engineering methods and techniques Interactions as first-class entities Interaction-centric architectures Requires “new” Scientific basis General Systems Theory one more chance for Category Theory…
HMWS – At your Service 20 What we propose A confluence of contributions from n Coordination Languages and Models Separation between “computation” and “coordination” n Software Architectures Connectors as first-class citizens n Parallel Program Design Superposition n Reconfigurable Distributed Systems Dynamic (run-time) reconfiguration
HMWS – At your Service 21 Categorical semantics of superposition prog Regulator in r1: int r2: int r2: int do reg: r1≥r2 prog Account out num, bal: int in n: int do dep: bal:=bal+n  wit: bal:=bal–n prog Channel in a,b: int do c prog Simple-account out num, bal: int in n: int do dep: bal:=bal+n  wit:bal≥n bal:=bal–n
HMWS – At your Service 22 Architecture-centric approach A Y Y A B B C Computation Coordination A Y X Compositionality wrt refinement Y’ B’ X C C wrt evolution Distribution G FF G F
HMWS – At your Service 23 Interactions@ IST-2001-32747 Architectures for Mobility Coordination and Architectures in Category Theory Evolving Embedded Systems Services, Policies, Resources and Interactions for Domain and Platform Co-evolution RELEASE Scientific Network on Software Evolution
HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering and Sociology?
HMWS – At your Service 25 The age of “interactions” The age of Category Theory The mathematics of interaction Antónia Lopes (Lisbon), Cristóvão Oliveira
HMWS – At your Service 26 The age of “interactions” Location/Distribution Awareness Nasreddine Aoumeur, Piotr Kosiuczenko, Cristóvão Oliveira ATX Software, Florence, Lisbon, Munich, Pisa IST-2001-32747 Architectures for Mobility Jan 02 – Apr 05
HMWS – At your Service 27 The age of “interactions” Re-engineering and generation from Service-Oriented Architectures Mohammad El-Ramly, Piotr Kosiuczenko, Stephan Reiff- Marganiec, ATX Software
HMWS – At your Service 28 The age of “interactions” Services, Policies, Resources and Interactions for Domain and Platform Co-evolution Piotr Kosiuczenko, Stephan Reiff-Marganiec Being submitted for funding (FET)
HMWS – At your Service 29 The age of “interactions” Interactions in Embedded Systems Michael Jackson (Open U) and Michael Pont (Engineering) Submitted for funding (EPSRC)
Your consent to our cookies if you continue to use this website.