Web Science O Que é Web Science? A World Wide Web (de agora em diante simplesmente chamada a Web) vem tendo um impacto cada vez maior na pesquisa científica, no desenvolvimento tecnológico e na sociedade como um todo. As formas pelas quais nos comunicamos, colaboramos e aprendemos estão mudando radicalmente graças à Web. Surpreendentemente, ela tem sido pouco pesquisada como um objeto de estudo per se. Isto motivou o aparecimento, em 2006, de uma nova área de pesquisa – a chamada Web Science. Neste novo domínio, a própria Web é o objeto a ser estudado – deixa, assim, de ser considerada como uma mera tecnologia baseada em computadores, e que serve de base para comunicação e interação em nível mundial. • “É preciso que tudo mude para que tudo se mantenha” – Giuseppe Tomasi di Lampedusa (1896-1957) Eng. Software X Web Science Engenharia de Software Web Science Princípios Algoritmos, Complexidade & Modelagem Requisitos & Qualidade Privacidade, Segurança, Propriedade Intelectual, Internacionalização, Resiliência, Acessabilidade & Inclusão Digital Projeto & Arquitetura Redes Sociais, Web Móvel, Computação Ubíqua, Web Services, Arquiteturas para Governo Eletrônico, Sistemas Multi Agentes, Sistemas Colaborativos & Inteligência Ambiente Processos & Gerência Web Semântica, Deep Web, Search Engines & Web Crawlers, Dados Multiimídia, Integração & Interoperabilidade, Descoberta de Conhecimento Construção, Métodos & Ferramentas Infraestrutura, Padrões, Linguagens, Protocolos, Cloud Evolução, Manutenção & Teste Futuras Arquiteturas para a Internet Software • Let us consider the inherent properties of this irreducible essence of modern software systems: complexity, conformity, changeability, and invisibility. --- Fred Brooks No Silver Bullet Essence and Accidents in Software Engineering • As Brooks suggests, "The complexity of software is an essential property, not an accidental one." We observe that this inherent complexity derives from four elements: the complexity of the problem domain, the difficulty of managing the development process, the flexibility possible through software, and the problems of characterizing the behavior of discrete systems. --- Grady Booch Definition: Software Engineering • The application of engineering to software • Field of computer science dealing with software systems – large and complex – built by teams – exist in many versions – last many years – undergo changes Fundamentals of Sofware Engineering – Ghezzi et al. 7 Definitions • Application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software (IEEE 1990) • Multi-person construction of multi-version software (Parnas 1978) Fundamentals of Sofware Engineering – Ghezzi et al. 8 Role of SE in system design • SE part of larger projects • Embedded – Software requirements to be balanced against others • e.g., telephone switching systems – certain requirements can only be met by hw, sw, and special devices Fundamentals of Sofware Engineering – Ghezzi et al. Ch.1 9 History • The field of software engineering was born in 1968 in response to chronic failures of large software projects to meet schedule and budget constraints – Recognition of "the software crisis" • Term became popular after NATO Conference in Garmisch Partenkirchen (Germany), 1968 Fundamentals of Sofware Engineering – Ghezzi et al. 10 Role of the Software Engineer • Programming skill not enough • Software engineering involves "programming-in-the –large" – understand requirements and write specifications • derive models and reason about them – master software – operate at various abstraction levels – member of a team • communication skills • management skills Fundamentals of Sofware Engineering – Ghezzi et al. 11 Our students are digital natives . . . • Consumer experience drives expectations. – Desktop Mobile computing – Web sites Web experiences – Games Cast member/participant/group play – Static web content Real-time interaction & collaboration – Telephones Integrated mobile info, social, and recreational devices – Email Instant video, voice, text messaging • Consumer product shows may be the best indicator of future IT trends. Requirements • • • • • • • Information online, not “in line” Information on-demand, free of place or time Blended classroom and online experience More team collaboration More content from multiple sources Interactive content from voice, video and data Ability to contribute, as well as consume, content/knowledge Web 2.0 • Advanced Internet technology and applications including blogs, wikis, RSS, social bookmarking, etc. • Greater collaboration among Internet users, content providers, and enterprises • User input into the nature and scope of Web content, including real-time control over it • Ability to “mash up” information from different sources to create the desired context for the information • Key words: dynamic, interactive, collaborative • Light and dark side – YouTube and blogs as weapons. IT Infrastructure • Networks will increase 500% in capacity in the next five years. • Half of all computers will be laptops. • 60% of all colleges and universities have a campus wide wireless plans. • Computers are increasing in the number of processors from 2 to 4 to 8 by 2008. • Research networks will go from 622 megabits to 80 gigabits. • On-demand, high-definition video will consume a large part of network capacity. World-Wide Emerging Technology Trends • • • • • Improved speech recognition Fuel cells and improved battery life More GPS-enabled, location-aware services Moore’s Law (increasing chip density) More network bandwidth( 100 terabyte with a single fiber) 60% broadband in US • More computing power • More storage World-Wide Emerging Technology Trends • Search engines will continue to increase access to books, web sites, recordings, movies, learning objects, lectures, the desk top and increased advertising revenue. • Search is moving from search to navigation • Google now makes more in advertising revenue than ABC, CBS and NBC combined • Instant Messaging will surpass email in volume of communication in 5 years Social Trends: Information Environmentalism • A movement that seeks to reduce information overload and its effects on people’s lives. – Privacy is a primary concern. Evolving Science • Thousand years ago: science was empirical describing natural phenomena • Last few hundred years: theoretical branch using models, generalizations • Last few decades: a computational branch simulating complex phenomena • Today: data exploration synthesizing theory, experiment and computation with advanced data management and statistics new algorithms! 2 . 4G c2 a a 3 a 2 Living in an Exponential World 1000 • Scientific data doubles every year – caused by successive generations of inexpensive sensors + exponentially faster computing • • • • Changes the nature of scientific computing Cuts across disciplines (eScience) It becomes increasingly harder to extract knowledge 20% of the world’s servers go into huge data centers by the “Big 5” – Google, Microsoft, Yahoo, Amazon, eBay • So it is not only the scientific data! 100 10 1 0.1 1970 1975 1980 1985 1990 1995 2000 CCDs Glass Collecting Data • Very extended distribution of data sets: data on all scales! • Most datasets are small, and manually maintained (Excel spreadsheets) • Total amount of data dominated by the other end (large multi-TB archive facilities) • Most bytes today are collected via electronic sensors Modelagem Conceitual • Modelo: abstração da realidade, enfatizando características específicas. – representar uma visão do ambiente – representar as partes do todo – permitir a abordagem gradual da complexidade (do mais abstrato para o mais detalhado) – úteis na organização das informações Modelagem Conceitual • Em geral, um único modelo não é suficiente para representar todas as características de em sistema Exemplo Mapa - endereço Exemplo Distâncias – Escala Exemplo Foto Modelagem Científica • • • • • • • • • • • • • • • Business process modelling Cartography Climate modelling Data modelling Ecological modelling Economical modelling Environmental modelling Futures studies Geologic modelling Graphical modelling Hydrography Hydrological modelling Hydrogeological modelling Mathematical modelling Medical modelling • • • • • • • • • • • • Modelling in Epidemiology Molecular modelling Morphological Modelling Ocean modelling Policy modelling Simulation Software modelling Statistical modelling Stochastical modelling System dynamics Thought experiment Traffic and Transport modelling Modelos Quantitativos Servem para: Medir o Mundo • Precisão (3m, 76mm, 3.896m3, 12V, 30 minutos) • Estatísticos • Permitem análise automatizada Exemplos: Voltagem de entrada, tamanho do fêmur do bebê, tempo de cozimento, vida útil do componente) Ref: Rector et al Modelos Qualitativos Servem para: Descrever o Mundo: • Pouca precisão • Ambíguos • Análise automatizada nos primórdios Exemplos Quais são os legumes saudáveis?, Melhores filmes do ano, Quais ruas tem menos trânsito? Ref: Rector et al Ferramentas úteis • Abstração • Formalismo • Decomposição Abstração X Formalismo Abstração Fonte: S. Easterbrook - UofT • Ferramenta mais utilizada na racionalização de software • Porque? – Ignorar detalhes incovenientes – Possibilita o mesmo tratamento a entidades diferentes – Simplifica vários tipos de análise Abstração • Em programação – Abstração é o processo de nomear objetos compostos e lidar com eles como se fossem entidades únicas • Não resolve problemas – Mas simplifica!!! Qualidade x Formalismo • Formalismo. Mininizar – ambigüidade – inconsistência – omissão Qualidade x Formalismo • Interpretação única e bem definida da especificação (tanto por parte dos implementadores como por parte dos clientes). • O rigor e o formalismo na especificação são recursos que visam maximizar essas qualidades. Qualidade x Formalismo Problema: • Formalismos são difíceis de entender !! Qualidade x Formalismo • Saídas possíveis: – uso de especificação semiformal durante o desenvolvimento (grau de formalismo definido em função do problema). Qualidade x Formalismo • Saídas possíveis: – uso de especificação formal apenas para representar os requisitos do sistema e como guia para escrever o projeto, implementação e testes Dividir e Conquistar • Tempos antigos “divide et impera” DIJKSTRA ( http://www.cs.utexas.edu/users/UTCS/notices/dijkstra/ewdobit.html ) (programming considered a human activity) • Especifica as partes individualmente Dividir e Conquistar • Satisfeito? O problema está resolvido? • Constrói as partes individualmente se uma das partes ainda é complexa: subdividir Decomposição Decompor o problema até: – Cada subproblema esteja no mesmo nível de detalhe – Cada subproblema possa ser resolvido de modo independente – As soluções de cada subproblema possam ser combinadas de modo a resolver o problema original Decomposição • Vantagens: – Pessoas diferentes podem trabalhar nos subproblemas – Paralelização pode ser possível – Manutenção é mais fácil Decomposição • Desvantagens – As soluções dos subproblemas podem não combinar de modo a resolver o problema original – Problemas de difícil compreensão são difíceis de decompor – A estrutura do mundo real NÃO é hierárquica [Jackson] Decomposição Funcional função 2 conexão conexão Entrada Saída função 1 função 4 conexão conexão função 3 Fonte: Fernando Vanini - Unicamp Exemplo: Taxonomia • O termo taxonomia vem do grego “taxis”, que significa “arrumação”, e “nomos”, que significa “lei”. • Definição: “vocabulário controlado e dinâmico de descritores relacionados com semântica e genericamente, que cobre de forma extensiva um ramo de conhecimento” Dicionário Aurélio Exemplo Exemplo Espécie Ser vivo humanos Idade adultos Sexo homens crianças mulheres Taxonomia dos seres vivos X é uma subcategoria de y Exemplo de Taxonomia Exemplo de Taxonomia Music Instrument Classification - 1914 Erich Moritz von Hornbostel & Curt Sachs Taxonomia “Tortas” Artes e Entretenimento Música, Televisão, Rádios Economia Informática, Compras Saúde Clínicas, Hospitais Ciência e Meio Ambiente Engenharia, Física, Agropecuária Mapas e Vistas Câmeras Online Notícias Sociedade e Cultura Revistas, Televisão, Rádio Religião., Espiritualidade, Esportes Transportes Futebol, Aquáticos, Aéreas, Rodoviárias, Artes Marciais, Viagens e Turismo Minas Gerais, Hospedagem, Taxonomias Tortas Mais Exemplos • Outras taxonomias – Yahoo! categorias • Catálogos de compras on-line – Submarino – LojasAmericanas.com – Amazon.com • Dublin Core (Metadados) Fonte: Julio Cesar Sampaio do Prado Leite Construção de Taxonomias - Processo Fonte: Julio Cesar Sampaio do Prado Leite Taxonomia de TIC Motivação Modelo ϕ Search Engine Modelo Θ 05/11/2015 Modelo β (c) Dept. Informática - PUC-Rio 55 Motivação • Algumas limitações dos Web search engines – cobertura limitada • capturam apenas os dados exportados pelos Web servers – consulta limitada • pesquisa por palavras-chave sobre texto Iceberg Photo Judith Currelly, Diane Farris Gallery 05/11/2015 (c) Dept. Informática - PUC-Rio 56 Modelagem da Web • The science of networks is experiencing a boom. But despite the necessary multidisciplinary approach to tackle the theory of complexity, scientists remain largely compartmentalized in their separate disciplines. Linked* • Stanley Milgram – any two people are connected to each other through a mere 'six degrees’ • • • • • spread of computer viruses via the Internet, AIDS epidemic through sexual contacts 1997 currency-exchange crisis in Thailand rich-get-richer phenomenon Hubs (very well-connected nodes) • affect properties of the network, such as susceptibility to computervirus epidemics • Social networks – small world – Duncal Watts * Linked - Albert-László Barabási Referências • John F. Sowa, Knowledge Representation: Logical, Philosophical, and Computational Foundations, Brooks Cole Publishing Co., Pacific Grove, CA, ©2000.; ISBN 0-534-949657 • http://developer.yahoo.com/searchmonkey/