Books by Leandro Nascimento

"This book is much more than just a very through compendium of reuse research. C.R.U.I.S.E actual... more "This book is much more than just a very through compendium of reuse research. C.R.U.I.S.E actually traces the history of our field from the nascent thoughts credited to McIlroy in 1968 right up to the present. In taking the reader through this history, C.R.U.I.S.E touches on all the key phases in the evolution of reuse, from library systems, organizational issues, domain analysis, product lines, component-based engineering, to modern architectures for reuse. In each phase, the leaders in our field have poised numerous concerns and problems that remain to be solved. C.R.U.I.S.E has retained the questions as posed by the original researchers, but also adds new analysis and a current perspective. While it is impossible to cite every single source, the authors have very effectively summarized and analyzed the important works, placing them in context along with the other related works at the time."
Comment from:
Dr. Jeffrey S. Poulin
Software Reuse Specialist
Lockheed Martin Systems Integration - Owego, NY, U.S
Papers by Leandro Nascimento

We define a notion of social machine and envisage an algebra that can describe networks of such. ... more We define a notion of social machine and envisage an algebra that can describe networks of such. To start with, social machines are defined as tuples of input, output, processes, constraints, state, requests and responses; apart from defining the machines themselves, the algebra defines a set of connectors and conditionals that can be used to describe the interactions between any number of machines in a multitude of ways, as a means to represent real machines interacting in the real web, such as Twitter, Twitter running on top of Amazon AWS, mashups built using Twitter and, obviously, other social machines. This work is not a theoretical paper as yet; but, in more than one sense, we think we have found a way to describe web based information systems and are starting to work on what could be a practical way of dealing with the complexity of this emerging web of social machines that is all around us.
A busca contínua por recursos computacionais a um baixo custo impulsionou a popularização da comp... more A busca contínua por recursos computacionais a um baixo custo impulsionou a popularização da computação em nuvem que vem dominando o cenário em corporações de diferentes tamanhos. Atrelada a essa realidade, surge a necessidade de utilização de ferramentas de administração de infraestruturas de computação em nuvem que facilite a criação e manutenção de tais estruturas de forma automatizada. Este trabalho apresenta uma ferramenta chamada uCloud Console™, desenvolvida pela USTO.RE, para esse fim e que tem como diferencial a apresentação de um modelo visual da infraestrutura, permitindo a edição de propriedades de forma simples e implantação automática em servidor de virtualização.

The term ‘Social Machine’ (SM) has been commonly used as a synonym for what is known as the progr... more The term ‘Social Machine’ (SM) has been commonly used as a synonym for what is known as the programmable web or web 3.0. Some definitions of a Social Machine have already been provided and they basically support the notion of relationships between distributed entities. The type of relationship molds which services would be provided or required by each machine, and under certain complex constraints. In order to deal with the complexity of this emerging web, we present a language that can describe networks of Social Machines, named SMADL – the Social Machine Architecture Description Language. In few words, SMADL is as a relationship-driven language which can be used to describe the interactions between any number of machines in a multitude of ways, as a means to represent real machines interacting in the real web, such as, Twitter running on top of Amazon AWS or mash- ups built upon Google Maps, and obviously, as a means to represent interactions with other social machines too.
Domain-Specific Languages (DSLs) offer substantial gains in expressiveness and ease of use compar... more Domain-Specific Languages (DSLs) offer substantial gains in expressiveness and ease of use compared with general purpose languages. This way, DSLs have gained significant attention in industry and academy, as can be seen by the increased number of related publications in key conferences and journals. This paper aims to provide a broad view of the DSL research field by performing a Systematic Mapping Study. Adopting a detailed search strategy, 4450 studies were initially identified, and, after filtering, 1440 primary studies were selected and categorized using a particular classification scheme. So, this work presents the most popular application domains where DSLs have been applied, identifies different tools for handling DSLs, including language workbenches, and enumerates several techniques, methods and/or processes for dealing with DSLs.

Software Product Lines (SPL) processes are gradually being adopted by many companies in several d... more Software Product Lines (SPL) processes are gradually being adopted by many companies in several domains. A particular domain where the adoption of such processes may bring relevant benefits is the mobile applications domain given the big diversity of handsets, although the characteristics of this domain usually create barriers to apply these processes in practice, such as, restrictions of memory size and processing power and different API implementations by different manufacturers. In this context, this work presents briefly a practical approach to implement core assets in a SPL applied to the mobile game domain combining the good practices from the already published processes and describes in details a case study performed with the application of this approach, based on three different adventure mobile games. The results of the case study have shown the approach can be suitable for the domain in question.
In order to attend the industry needs, it is necessary to provide more practical issues of real s... more In order to attend the industry needs, it is necessary to provide more practical issues of real software development in the academic curricula. This paper describes an educational experience in a post-graduation course at Federal University of Pernambuco, Brazil, involving software reuse. The course's goals were to provide the state-of-the-art of software development with reuse, and the state-of-the-practice developing the Software Product Line (SPL) approach based on a real project. Moreover, we describe the SPL process steps and the educational methodology applied, as well as the project’s difficulties and lessons learned, along with possible improvements for the course extracted from students’ feedback during the course and the project. We also expect that this work can be used as a reference material for other universities planning on teaching software reuse or SPL courses.
Since the first works involving software reuse, domain engineering is considered a key process to... more Since the first works involving software reuse, domain engineering is considered a key process to develop reusable and flexible software. However, the results have shown that there is still much to do before the vision of domain engineering is completely achieved. Among the reasons for this problem, we may highlight the lack of a process to support the design of domain-specific software architectures. This paper presents such an approach, based on a well defined set of principles, guidelines and metrics. We also present an experimental study that evaluated the viability of applying the approach in domain engineering projects.
Since the first works involving software reuse, domain engineering is considered a key process to... more Since the first works involving software reuse, domain engineering is considered a key process to develop reusable and flexible software. However, the results have shown that there is still much to do before the vision of domain engineering is completely achieved. Among the reasons for this problem, we may highlight the lack of a process to support the design of domain-specific software architectures. This paper presents such an approach, based on a well defined set of principles, guidelines and metrics.
In high-growth markets such as those that depend upon Java 2 Micro Edition (J2ME), application de... more In high-growth markets such as those that depend upon Java 2 Micro Edition (J2ME), application development with quality in a reduced time has become crucial for success. However, the diversity of handsets with this technology implies in many ports of every application, mainly in aspects related to Graphical User Interface (GUI). This paper describes the development of a framework for creating GUI in J2ME, reducing codification effort and usually producing more attractive applications. This framework was developed using a Component-Based Software Development (CBSD) method adapted for the J2ME context; both the CBSD usage and the modifications are described in the paper.
Uploads
Books by Leandro Nascimento
Comment from:
Dr. Jeffrey S. Poulin
Software Reuse Specialist
Lockheed Martin Systems Integration - Owego, NY, U.S
Papers by Leandro Nascimento
Comment from:
Dr. Jeffrey S. Poulin
Software Reuse Specialist
Lockheed Martin Systems Integration - Owego, NY, U.S