HMWS – At your Service José Luiz Fiadeiro Professor of Software Science and Engineering.

Slides:



Advertisements
Similar presentations
1 From Grids to Service-Oriented Knowledge Utilities research challenges Thierry Priol.
Advertisements

Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Architecture-based Evolution of Software Systems José Luiz Fiadeiro Architecture-based Evolution of Software Systems Luís Andrade João Gouveia Georgios.
CommUnity on the Move Coordination in Distributed and Mobile Systems José Luiz Fiadeiro joint work with Antónia Lopes University of Lisbon.
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Architecture Representation
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
1 Knowledge, Action and Systems Some emerging foundational issues in Computing … Can Information Studies Help? Eric Yu Faculty of Information Studies University.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Frequently asked questions about software engineering
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
Chapter 01 Nell Dale & John Lewis.
Overview of the Course. Critical Facts Welcome to CISC 672 — Advanced Compiler Construction Instructor: Dr. John Cavazos Office.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
An Answer to the EC Expert Group on CLOUD Computing Keith G Jeffery Scientific Coordinator.
Structure of Study Programmes
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Chapter 1 The Big Picture.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
© 2007 Pearson Addison-Wesley. All rights reserved 0-1 Spring(2007) Instructor: Qiong Cheng © 2007 Pearson Addison-Wesley. All rights reserved.
A Novel Approach to Architectural Recovery in Evolving Object- Oriented Systems PhD thesis Koen De Hondt December 11, 1998.
CSE 219 Computer Science III Program Design Principles.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Globalization and the Digital Divide
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Generic Tasks by Ihab M. Amer Graduate Student Computer Science Dept. AUC, Cairo, Egypt.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Enabling Components Management and Dynamic Execution Semantic.
GET CONNECTED Information Technology Career Cluster.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
1 Software Engineering, 8th edition. Chapter 1 Jan 28 th, 2009 Lecture # 1 Courtesy: ©Ian Sommerville 2006 An Introduction to Software Engineering.
An Introduction to Software Engineering. Objectives  To introduce software engineering and to explain its importance  To set out the answers to key.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Artificial Intelligence: Research and Collaborative Possibilities a presentation by: Dr. Ernest L. McDuffie, Assistant Professor Department of Computer.
Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet.
CompSci 280 S Introduction to Software Development
An Introduction to Software Engineering
Chapter 1- Introduction
Chapter 1- Introduction
Coordination Contracts, Evolution and Tools
Frequently asked questions about software engineering
Distributed systems: How did we get here?
Analysis models and design models
Chapter 9 Architectural Design.
CS385T Software Engineering Dr.Doaa Sami
Introduction to SOA and Web Services
Presentation transcript:

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 IST 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 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)