
George R. Ribeiro-Justo- PhD
- Capgemini
George R. Ribeiro-Justo
- PhD
- Capgemini
About
79
Publications
4,344
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
485
Citations
Introduction
Current institution
Publications
Publications (79)
Naming service and the reconfiguration management systems usually work in a client-server manner where both the selection of components and the reconfiguration are a result of a request. Developing intelligent systems that are capable of monitoring and learning about themselves, and thereby rapidly react to changes in their environment, has become...
Developing systems that are capable of monitoring and learning about themselves, and thereby rapidly react to changes in their
environment, has become essential to any enterprise. The search for solutions to this complex and challenging problem has
stimulated both researchers and practitioners. This paper attempts to connect the views of the resear...
Building distributed systems from scratch is known as one of the most difficult and time consuming process in software engineering. A great deal of progress has been made in the development of middleware and techniques to facilitate the process of distributed systems through integrating reusable components and customizing middleware. However, most...
The integration of distributed services has been identified as one
of the most important challenges of E-business technology. A great deal
of progress has been made in the development of methods and techniques
for the integration of distributed components but most of the solutions
tends to focus on the problem of syntactical and semantical
compatib...
Abstract Non-functional requirements (NFRs) are rarely taken in account in most software development. There are some reasons that can help us to understand why these requirements are not explicitly dealt with: their complexity, NFRs are usually stated only informally, their high abstraction level and the rare support of languages, methodologies and...
This report first describes the final integrated EDPEPPS toolset followed by descriptions of the three main tools within the environment as well as the interfaces required for integration
This reports defines the final model used in the EDPEPPS environment. This includes the PVM calls, the Tape/PVM instrumentation, the SimPVM language, the simulator, and the CPU model. The graphical design tool produces a set of C/PVM files (.c) which are preprocessed by the Tape/PVM tracing facility [8] to obtain instrumented files ( t.c). The inst...
This reports defines the final syntax for the SimPVM language used in the EDPEPPS project. The SimPVM language is used to describe the "simulatable" parallel programs. The language is an important part for the integration of the toolset. It forms the interface between the graphical design tool (PVMGraph) [3] and the simulation utility SES/Workbench...
Visual languages have been used for some time to support the development of parallel and distributed programs. However, these languages usually tend to focus exclusively on the visual (program) design structure, in terms of the components (processes) and their interconnections represented as boxes and lines, or on the visual behaviour of the compon...
Parallel programming is not difficult, as the programs build up their complex behaviours in a similar way to the real world (i.e through the simple interaction of independent and simple entities). The parallel system engineer needs, however, a systematic method to decomposing the networks into independent ones or composing existing processes to for...
This paper presents a possible solution to the intelligent
evolution of mobile systems using a complex organic distributed
architecture (CODA), which supports intelligent reconfiguration of all
system components. A key feature of this architecture is the deployment
of multiple warehouses. The warehouses store data in a variety of ways
depending on...
Next generation mobile networks have great potential in providing personalised and efficient quality of service by using re-configurable platforms. The foundation is the concept of software radio where both the mobile terminal and the serving network can be re-configurable. This approach becomes more effective when combined with historic-based pred...
th Generation wireless networks will require much more flexibility than 3G systems. This means that the network should adjust itself according to its load and the users' demand. To provide these features we need flexible reconfigurable network elements, which can be implemented by means of SoftWare Radio (SWR) concepts and intelligent decision-maki...
Non-functional requirements ( NFRs ) are rarely taken in ac- count in most software development processes. There exist reasons that can help us to understand why these require- ments are not explicitly dealt with: their complexity,their usually informal statement,their high abstraction level,as well as the rare support of languages,methodologies an...
There are compelling reasons to combine the concepts of an architecture description language with those of an object-oriented framework to provide support for the development of reusable and extensible software architectures. This paper presents C++CL, an object-oriented framework for developing reconfigurable distributed software architectures, wh...
The new breed of enterprise information systems is very complex in scope. They comprise multiple-component interactions on a variety of data models. New components have to be added to existing operational systems, in order for the enterprise to stay competitive by exploiting new sources for data capture. If new sources of data involve new Internet...
The main objective of this paper is to put forward a software process model for high-performance systems (HPS), and to present a formal framework to describe software design methodologies (SDMs) for those systems. The framework consists of two main parts: the software process activities which characterise the development of HPS, and the components...
The concept of software architecture has created a new scenario for incorporating non-functional and transactional requirements
into the software design. Transactional and non-functional requirements can be included in an architecture-based software
development through formal approaches in which first-order and temporal logic are utilised to deal w...
This paper describes an environment for performance-oriented design of portable parallel software. The environment consists of a graphical design tool for building parallel algorithms, a state-of-the-art simulation engine, a CPU characterisation tool, a distributed debugging tool and a visualisation/replay tool. The environment is used to model a v...
The development of distributed multimedia applications has always
been a challenge for both expert and nonexpert developers. Middleware
and supporting frameworks have emerged to simplify this process by
providing reusable components that can be plugged together in many
configurations to help application developers building up their
applications. In...
Security is a growing concern to enterprise systems when they
become open to e-commerce using the Internet. This is particularly
severe in the e-commerce applications using knowledge management systems
which generally maintain critical information about the enterprise.
Security usually affects all parts of a system and to be effective must
therefor...
The concept of software architecture (also called system structure or system configuration) is especially important in the design of complex software systems, providing a model of the large-scale structural properties of systems. Module interconnection languages (MILs) introduce the idea of creating program modules and connecting them to form large...
Building distributed multimedia applications from pre-existing, reusable components will only take place when multimedia application developers can easily understand, extend and modify software components according to their needs. A new generation of supporting frameworks is now under investigation based on the principle of creating a configuration...
Behavioural and performance analysis is a fundamental problem in the development of parallel (and distributed) programs. To address this problem, models and supporting environments are required to enable designers to build and analyse their programs. The model we put forward in this paper combines graphical and textual representations of the progra...
In this paper, we present an object-oriented application framework to support the development of evolving distributed systems. The framework combines concepts of the object-oriented paradigm with those of architectural design. The result is a framework which supports extensible and reusable configurations of distributed components. The framework ad...
Component technology is a new promising approach to the development of complex, reusable distributed systems in that it separates the application concerns into components that can be programmed separately and assembled together through processes of composition. Architecture description languages provide suitable notations to describe the systems ar...
This report briefly describes the evaluation exercise of the prototype EDPEPPS toolset under1 taken on a number of case studies, one of which is the Information Design and Delivery Ltd. (IDD) distributed bibliographical file server application. The IDD system consists of a large database of bibliographical records distributed over a network of PC (...
this report other projects with similar goals to EDPEPPS are reviewed and their strengths and weaknesses are highlighted. 2 The HAMLET Project - ESPRIT 6290
This report briefly describes the EDPEPPS environment and its constituent tools highlighting the project's scientific and technological achievements.
ion language is used MP = Mapping An = Animation MO = Monitoring AN = Analytical modelling MPI = MPI library C = C Language PP = Parallel Profiling CG = Code Generation PVM = PVM library D = Dynamic S = Static DB = Debugging code or through animation SI = Simulation F = F77 Language St = Statistics GD = Graphical Design ST = Separate tools IE = Int...
. This paper describes an integrated graphical toolset for performance-oriented design of portable parallel software. The toolset consists of a graphical design tool based on the PVM communications library for building parallel algorithms, a simulation engine and a visualisation tool for animation of program execution and visualisation of platform...
This reports defines the final syntax for the SimPVM language used in the EDPEPPS project. The SimPVM language is used to describe the "simulatable" parallel programs. The language is an important part for the integration of the toolset. It forms the interface between the graphical design tool (PVMGraph) [3] and the simulation utility SES/Workbench...
In this paper, we discuss the problem of developing performance-oriented software and the need for methodologies. We then present the EDPEPPS (Environment for Design and Performance Evaluation of Portable Parallel Software) approach to the problem of designing and evaluating high-performance (parallel) applications. The EDPEPPS toolset is based on...
This report describes PVMGraph, a graphical programming environment to support the design and implementation of parallel applications. PVMGraph offers a simple but yet expressive graphical representation for the components of a parallel application and assists the user in manipulating these components. PVMGraph also allows the evaluation of the app...
This paper presents a Z formal framework to describe software design methodologies (SDM) for high-performance systems (HPS). The framework consists of two main parts: the characterisation of the main activities in the development of HPS, and the components of the SDM (concepts, artifacts, representation and actions) which are essential for any meth...
This paper describes an environmentfor performance-oriented design of portable parallelsoftware. The environment consists of a graphicaldesign tool for building parallel algorithms, astate-of-the-art simulation engine, a CPU characterisationtool, a distributed debugging tool and avisualisation/replay tool. The environment is usedto model a virtual...
The major drawbacks of existing Distributed Knowledge Management Architectures (DKMAs) are highlighted and a new organic reference architecture, which solves most of those drawbacks, is presented. The proposed reference architecture is based on a well-known organic model, the Viable Systems Model (VSM). The viable systems architecture provides a st...
As the complexity of software increases, there is a need to
describe and evaluate the system structure or software architecture. The
software architecture of a distributed system is particularly important
when a system is allowed to evolve or be reconfigured during its
execution, without major interruption. In this paper, we study the
formalisation...
This paper describes a performance-oriented environment for the design of portable parallel software. The environment consists
of a graphical design tool based on the PVM communication library for building parallel algorithms, a state-of-the-art simulation
engine, a CPU characteriser and a visualisation tool for animation of program execution and v...
This report describes PVMGraph, a graphical programming environment to support the design and implementation of parallel applications. PVMGraph offers a simple but yet expressive graphical representation for the components of a parallel application and assists the user in manipulating these components. PVMGraph also allows the evaluation of the app...
ion. An overview of the main window of PVMVis is illustrated in Figure 2, where each view is depicted. As illustrated in Figure 1, one of the main input files to PVMVis is the trace file whose format is based on Tape/PVM. In addition, PVMVis needs the graphical design representation of the application (PVMGL file) which is defined by PVMGraph. This...
This paper describes the architecture of a development environment for computer-aided parallel software engineering. The environment comprises tools for program design, simulation, and visualisation. The toolset supports an interactive, performance-oriented software development life-cycle, and the user interface makes extensive use of graphics and...
trace-based approach and the XGecko time-based approach. The user will then be allowed to animate the parallel application in one of the two approaches. It was also decided to include facilities similar to those of xmtool to present statistics about the platform (messagepassing level, operating systems and hosts). In summary, the new visualisation...
In this paper, a simulation model for incorporation within a performance-oriented parallel software development environment is presented. This development environment is composed of a graphical design tool, a simulation facility, and a visualisation tool. Simulation allows a parallel program performance to be predicted and design alternatives to be...
Most of the methods proposed for the development of high-performance systems (HPS) do not balance the software and performance engineering activities. This paper presents a method for the development of HPS which promotes the production of well-engineered, highly parallel programs the design decisions of which are also guided by their impact on per...
This paper describes an environment for performance-oriented design of portable parallel software. The environment consists of a graphical design tool based on the PVM communication library for building parallel algorithms, a state-of-the-art simulation engine, a CPU characteriser and a visualisation tool for animation of program execution and visu...
This paper describes an environment for performance-oriented design of portable parallel software. The environment consists of a graphical design tool based on the PVM communication library for building parallel algorithms, a state-of-the-art simulation engine and a visualisation tool for animation of program execution and visualisation of platform...
This report summarises the specifications and features of the EDPEPPS Toolset prototype. Specifications for the three main tools available within the toolset are given. These specifications are intended to give a guide to the user about the capabilities and restrictions of the current versions of the tools. 2 Description of the Integrated EDPEPPS T...
This report first describes the integrated EDPEPPS toolset followed by descriptions of the three main tools within the prototype as well as the interfaces required for integration. 2 Description of the Integrated EDPEPPS Toolset
. This paper describes a portable performance-oriented integrated toolset for parallel software development. This toolset is composed of a graphical design tool, a simulation tool, and a visualisation tool. The toolset helps the parallel programmer to choose between design alternatives based on their predicted performances. The graphical design too...
This paper describes an integrated graphical toolset for performance-oriented design of portable parallel software. The toolset consists of a graphical design tool based on the PVM communications library for building parallel algorithms, a simulation engine and a visualisation tool for animation of program execution and visualisation of platform an...
We discuss the problem of developing performance-oriented software and the need for methodologies. We then present the EDPEPPS (Environment for Design and Performance Evaluation of Portable Parallel Software) approach to the problem of designing and evaluating high-performance (parallel) applications. The EDPEPPS toolset is based on a rapid prototy...
In this paper, a simulation model for incorporation within a performance-oriented parallel software development environment is presented. This development environment is composed of a graphical design tool, a simulation facility, and a visualisation tool. Simulation allows parallel program performance to be predicted and design alternatives to be c...
The number of parallel and distributed programming languages available is enormous. This means that the user faces a difficult task in selecting the language which suits his/her application. Most of the facilities supported by new languages could be, however, introduced as simple extensions of existing languages. In object oriented languages where...
The main objective of this paper is to put forward a software
process model for high-performance systems (HPS), and to present a
formal framework to describe software design methodologies (SDMs) for
those systems. The framework consists of two main parts: the software
process activities which characterise the development of HPS, and the
components...
Parallel and distributed systems engineers are always looking for a way to speed-up their programs. They sometimes forget that well-structured programs are more flexible, and therefore easier to modify or restructure in order to improve performance or to map onto a particular architecture. This paper illustrates a systematic way of designing well-s...
Parallel and distributed systems engineers are always looking for a way to speed-up their programs. They sometimes forget that well-structured programs are more flexible, and therefore easier to modify or restructure in order to improve performance or to map onto a particular architecture. This paper illustrates a systematic way of designing well-s...
The configuration programming approach has been successfully
applied to model parallel and distributed systems in terms of their
component processes and relationships separated from the functional
aspects of the components' behaviour. This approach promotes the
construction of modular and flexible systems but the lack of information
about the compo...
Ab3hact. Tlis is a study rsviewing and developins m.thodolosi* esseatial to en-sineels who need io develop low-cost lal ligh-p.llolmance codputins applications. Emersins studalds will lequire lhe adoplion of techniqnes that ofier perfo.nance and se.uliiy lo a lev€l ai l€st lhat provid.d by tlE m.thodolDsies p.esented in ihG 6ludy for n$s nuket enbe...
The importance of using languages to specify the structure of a
system as a set of components and their interconnections separately from
the functional description of the components has been widely recognised.
These languages, sometimes called configuration languages, have a
natural application in the description of the structural topology of
concu...
One of the basic requirements for distributed applications to run under different working environments is to be flexible, configurable, portable and extensible. Using the current development techniques independently falls short in supporting most of these requirements due to complexity of their integration and the conflict of their objectives. In t...
Most of the methods proposed for the development of high-performance systems (HPS) do not balance the software and performance engineeringactivities. This paper presents a method for the developmentof HPS whichpromotes the production of well-engineered, highlyparallel programs the design decisions of which are also guided by their impact on perform...
Thesis (Ph. D.)--University of Kent at Canterbury, 1993.