The talk will outline the succesful commerzialization of the Time-Triggered
Architecture(TTA) technology which provides a computing infrastructure for
the design and implementation of dependable distributed systems. The TTA
is foundation of TTTech, a succesful company whose software and hardware
products are being applied in automobile, aerospace and other industries.In
the TTA a large real-time application is decomposed into nearly autonomous
clusters and nodes and a fault-tolerant global time base of known precision
is generated at every node. This global time is used to precisely specify
the interfaces among the nodes, to simplify the communication and agreement
protocols, to perform prompt error detection, and to guarantee the timeliness
of real-time applications. The TTA supports a two-phased design methodology,
architecture design and component design. During the architecture design
phase the interactions among the distributed components and the interfaces
of the components are fully specified in the value domain and in the temporal
domain. In the succeeding component implementation phase the components
are built, taking these interface specifications as constraints. This two-phased
design methodology is a prerequisite for the composability of applications
implemented in the TTA and for the reuse of pre-validated components within
the TTA. This talk presents the architecture model of the TTA, explains the
design rational, discusses the time-triggered communication protocols TTP/C
and TTP/A, and illustrates how transparent fault-tolerance can be implemented
in the TTA.
A TCP/IP, mint az Internet alkalmazások protokollja, napjainkban a legelterjedtebb
kommunikációs protokollok egyike. Alapvetően az eseményvezérelt protokollok családjába
tartozik. A TTP/C ugyanakkor egy idővezérelt protokoll, amely valósidejű, hibatűrő
elosztott rendszerekben használatos. A TCP/IP alapú és a TTP/C alapú szolgáltatásoknak
egy elosztott rendszerben való integrációja azt ígéri, hogy mind az eseményvezérelt
megközelítés rugalmassága, mind pedig az idővezérelt architektúra megbízhatósága és
kompozicionalitása megtartható lesz. Abban az elosztott rendszerben, ahol mindkét
protokoll támogatott, a tervező az alkalmazások igényeinek megfelelően választhatja
ki a szükséges szolgáltatásokat. A sporadikus aktivitások, például monitorozás, távoli
diagnosztika és web-alapú konfigurálás jól kiszolgálható a TCP/IP segítségével. A TCP/IP
biztosítja a legjobb tudás szerinti (best effort) szolgáltatásokat, és rugalmasan használja
fel a rendelkezésre álló sávszélességet. A garantált átviteli késleltetést és minimális
ingadozást (jittert) igénylő valósidejű vezérlési adatokat viszont TTP/C-vel célszerű
kiszolgálni. Ez biztosítja a szükséges garanciákat, viszont minden esetben leköt egy
bizonyos sávszélességet. Az előadás során bemutatjuk a két protokoll integrációjának
problémáit, illetve előnyeit, valamint vázoljuk a lehetséges alkalmazási területeket.
A software architecture of a computing system is the structure or structures of the system,
which comprise software elements, the externally-visible properties of those elements,
and the relations among them. In the past decade, the study and practice of software
architcture has risen to prominence in the software engineering field, and with good reason:
An architecture forms the blueprint for a project and its development project, and an architecture
permits or precludes almost all of a system's quality attributes such as performance and modifiability.
This talk will survey the field of software architecture from a practitioner's point of view.
It will concentrate on three specific practices associated with architecture: using an architecture
to form the basis of a software product line; evaluating a software architecture to assess its
ability to deliver a system's required quality attributes; and documenting a software architecture
to serve its stakeholders.
Bemutatjuk az Object Management Group (OMG) által elkészített Model Driven Architecture (MDA)
definíció alapelveit, áttekintjük jelenlegi helyzetét és fejlődésének lehetséges irányait.
Az előadás kitér a koncepció kapcsolatára a már széles körben elterjedt egyéb szabványokkal
(pl.: UML) és módszertanokkal.
Megvizsgáljuk az MDA koncepció előnyeit, hátrányait, példák segítségével illusztráljuk
használatát zöld mezős fejlesztés és integrációs probléma megoldása esetén.
Az előadás második részében bemutatunk egy, az MDA koncepcióhoz illeszkedő Java framework-öt.
Az IQSOFT Java Framework (IQJFW) egy Java-ra alapozott, több rétegű alkalmazás fejlesztést támogató
keretrendszer. Egyedi tulajdonsága, hogy "használata" már a modellezés során megkezdődik rögzített
ábrázolással (tervezési mintákkal). A konvencióknak megfelelő modellből kódgenerátorok segítségével
az alkalmazás szerver oldali osztályai, az adatbázist létrehozó és karbantartó script-ek és a
felhasználói felület generálhatóak. (Természetesen a framework generátor nélkül is használható).
Adatkezelő alkalmazások esetén a fejlesztendő kód magas százaléka generálással előállítható.
Ismertetjük a framework kialakításának motivációját, használatának előnyeit. Áttekintésre kerül
a framework szerkezete (szerver- és kliens framework), alapvető működési módja. Megvizsgáljuk
a framework kapcsolatát az MDA koncepcióval és annak lehetséges MDA alapú kiterjesztését.
Now, there are lots of people who feel that the Waterfall Model is old fashioned or simplistic,
having long ago outlived its usefulness - the very name seems wrong, since water cannot "fall" uphill to
accommodate the backward arrows. All sorts of new models have been depicted to better show how the
"real world" works, or how software can be developed faster, or how customers can become more engaged
in the process to improve functionality. The Spiral Model, the Evolutionary Rapid Prototyping Model,
the "V"-Shaped Model and others have emerged to solve one issue or another.
Today, most practitioners might agree that there are so many different types of projects, a one size
SLC cannot possible fit all. The modern viewpoint is that unique projects require unique models,
or combinations of models to succeed. We will discuss the choice of appropriate SLC models, or
modified versions of SLC models, the real baseline for beginning software engineering. We will describe
several of the more modern SLC's (e.g. eXtreme, RUP), and how a project manager can decide which one
to use.
We will also explain what the various bodies of knowledge (e.g. PMBOK, SWEBOK) map to our life cycles.
A szoftverfejlesztési tevékenységet végző szervezetek egyik legfontosabb célkitűzése manapság,
hogy fejlesztési folyamataikat szabványos módon, módszertanilag megalapozva és a szervezet
sajátosságainak megfeleltetve végezzék, mivel a szabványos és testre szabott fejlesztési folyamatok
követése biztosítja, hogy a megrendelőhöz jó minőségű termék kerüljön.
Miért van szükség módszertanra és szakmailag megalapozott folyamatokra?
A folyamatok meghonosításának és alkalmazásának buktatói.
Egy lehetséges megoldás: Select Process Director
A Select Process Director a szoftver életciklus folyamatainak részletes definiálására szolgál,
lehetővé téve az MSZ ISO/IEC 12207 vagy tetszőleges szabványnak, módszertannak való megfelelést.
Demonstráció keretében mutatjuk meg, hogyan tudjuk a Select Process Directorral a szoftverfejlesztési
módszertant teljes technológiai mélységében specifikálni, dokumentálni. Példát adunk arra,
hogyan lehetséges előre definiált szabványosított folyamatmintákkal fejlesztési fázisok létrehozása,
testreszabása, nyomonkövetése és projektbe foglalása.
Web services technology is all about distributed computing. There is no fundamentally
new base concept behind this and related technologies. What is really new is the reach of Web
services and its ubiquitous support by literally all major vendors. Most likely, heterogeneity
will soon no longer be an obstruction for distributed applications. As we will discuss, this will
have impact on application architectures, as well as the way in which people will think about
computing and businesses will use computing resources.
In this presentation we review Data Persistence from various aspects.
We present most of the frequently used methodologies as well as architectural and design patterns.
To help architects and developers, we collected real-life examples and typical use scenarios for each case.
In the second part, we do a similar comparison on a lower level: API's.
Most well known API's are explained, compared and, similary to the patterns,
illustrated with real-life application samples.
These comparisons, naturally, don't have absolute winners.
Instead they show that these techniques are all usefull if applied to the proper situations.
Topics involved are Data Access Objects (DAO), Java Data Objects (JDO),
Entity Enterprise Java Beans (EJB) with Container and Bean Managed Persistence (CMP and BMP, respectively),
Object-Relational Mapping, etc.
"Securing Computing Infrastructure with Chains of Trust"
The topic of this lecture is a new view of information security and
trust technology. Trust is also about dependability, privacy,
data integrity and authentication. Trust is a system-class concept
that cannot be adequately addressed by point technologies. Rather,
trust has to be stitched into its fabric of communications and
computing infrastructure. This talk will suggest a path for
achieving this.
One solution for addressing trust in today's world is to build a
chain of trust where each link is strong but also connects to its
neighbor by verifying its trustworthiness. In particular, beginning
with a priori grounding in a physically trustworthy base, each link
of the chain checks signature-based trust tokens of its neighbor
before the chain is allowed to carry any weight. Such a chain
begins with processors and extends to operating systems to
applications to interconnect protocols, and ultimately, to end
users.
Such an architecture supports security as a quality of service
guarantee, a concept that opens a new and potentially important
business model for secure services.
Az előadás röviden elemzi az informatikai jelen helyzetét, az informatikát alkalmazó
szervezetek információktól való függésének fokát. Ez olyan szintet ért el, amelyben az
informatikai szolgáltatások kiesése az üzleti folyamatok kritikus leállásával járhat,
ennek rendszerszintű kezelése fontos és nagyon időszerű feladat. Az előadás további
részében az információbiztonság legfontosabb elemeit mutatjuk be, amelyek a felmerülő
kockázatok elemzésével mutatnak rá a rendszerek gyenge pontjaira. A továbbiakban az
információbiztonság szabályozásának rendszerszintű elemeit mutatjuk be, majd a gyakorlati
megvalósításokra mutatunk be valós példákat. Az előadásban bemutatjuk a szükséges
nemzetközi és hazai szabványok és szabványos megoldások legfontosabb eszközeit.
A legfontosabb érintett témakörök: információbiztonság, kockázatelemzés, kockázatok
kezelése, üzletmenet folytonossági tervezés, vészhelyzetek kezelése, katasztrófa
utáni helyreállítás
Eiffel covers a method, a language, libraries and a development environment,
intended to foster reuse, productivity and quality through a set of principles
including Design by Contract, Seamless Development, Uniform Access,
Command-Query Separation and a few others. This presentation will review the more original parts
of the approach, discuss their effect on the process of writing and maintaining software,
present applications, and preview some of the current developments in the language and environment.
In a second part it will extend the concepts to describe ongoing work focused on "Trusted Components"
-- reusable software components with a guarantee of quality -- and present steps towards a
Component Quality Model.
A komponens egyike a szoftver-szakma jelenleg legnépszerűbb, leggyakrabban használt fogalmainak.
A komponensekből építkező szoftverfejlesztés jelentős hatékonyságjavulással kecsegtet,
ugyanakkor komplex komponensek beépítése/felhasználása éles alkalmazásokba veszélyekkel is jár.
Az előadás bevezető részében néhány alapkérdést vetünk fel:
mik a szoftver-komponensek, hol keressük őket,
milyen eredményeket várhatunk ettől a technológiától,
mi az ismert fejlesztési paradigmák viszonya a komponens-alapú fejlesztéshez,
melyek a hatékony felhasználás technika, szervezési és egyéb feltételei,
hogy áll a világ a komponens-alapú fejlesztés területén.
A továbbiakban a fejlődést mozgató két jelentős centrum irányvonalát mutatjuk be részletesebben:
a JAVA és a .NET világát.
A JAVA világban megmutatjuk a komponensek szerepét és helyét,
tárgyaljuk a J2EE-t a komponensek szempontjából, valamint a middleware - részletesebben a CORBA - szerepét a
komponens-technológiában.
A .NET világban ugyancsak megmutatjuk a komponensek helyét és szerepét,
bemutatjuk a távoli komponensek kommunikációját, az XML szerepét, a .NET XML alapú Web szolgáltatását,
az együttműködés lehetőségeit a .NET és J2EE komponensek között,
a portlet és webpart alapú portál-rendszereket, valamint az együttműködés érdekében kidolgozott
WSPR szabványt.
Every engineering discipline is based on science and engineering practices.
Engineering practices include evidence as to the circumstances under which such
practices are applicable. In software engineering we lack evidence regarding
the effects of available techniques, methods and tools.
As a consequence project successes cannot be repeated,
repeats of project failures cannot be prevented.
This presentation introduces a partial theory of "software engineering evidence"
as well as an empirical methodology to collect such evidence in the software domain.
It will be explained why in a human-based discipline like software engineering we need to
include a large variety of types of evidence, and how empirical studies have to be
adjusted to the specific characteristics of software development.
Using the example of software inspections, interesting research results will be
presented which have led to industrial breakthroughs in quality and productivity increases.
Some of the industrial success stories will be illustrated. Finally, an agenda for research,
technology transfer and teaching & training will be discussed.
Egyre több magyarországi cég jut arra a következtetésre, hogy szoftverfejlesztést
(alkalmazásfejlesztést) nem lehet gazdaságosan végezni, a szoftverfejlesztési projektek
általában ráfizetésesek. Mi lehet ennek az oka, és mit lehet ellene tenni?
Az előadás első részében összehasonlítjuk és értékeljük a nemzetközi és a hazai
szoftverfejlesztési projektek gyakorlatát és eredményeit. Elemezzük a látókörünkbe
került jelentős számú projekt adatait csokorba gyűjtve a szoftverfejlesztési projektek siker-
(illetve kudarc-) tényezőit. A jobb eredmény érdekében tanáccsal próbálunk szolgálni két
olyan fontos sikertényező esetében, mint a szoftverfejlesztési projektek belső és külső
kapcsolatrendszere, illetve a projektbecslés módszerei.
A szoftver fejlesztési projektek menedzselésének sajátosságai és módszertana kapcsán a
forró témává váló off-shore fejlesztés szempontjaival arra is választ keresünk,
hogy a magyar szoftverfejlesztési tudással, projektjeinkkel rajta vagyunk-e a
szoftver fejlesztés világtérképén, illetve hogyan kerülhetünk rá.
Developing software is a risky
business. Avoiding risk is a no-win proposition
because risk is usually an indicator of value;
when there is no risk there is no value. We need
to learn to run TOWARD risk, not run away from
it. But when you're running toward risk you also
need to take certain reasonable precautions.
Thus was born the discipline of risk management.
In this brief tutorial, Tom DeMarco lays out the
how-to's of risk management and makes the case
for including this new discipline in your
organization.
The life of a software project manager is full of compromises - a
balance needs to be struck between time-to-market and quality, cost and
manageability, reusability and deadlines etc. As the four main variables
in a development process are time, cost, features and quality, a typical
project plan contains specifications for all of them. The "only" problem
is that they often contradict each other. As the project moves through
the schedule, the pressure on the participants increases, priorities
often change and the project manager is forced to cut corners in the
development process to save time and energy for other "useful" tasks.
The presentation gives an insight into the major elements of the
software development process at ScanSoft Recognita Corp. with real-life
experiences and into the ways we try to manage the described situation.
The concept of a verifying compiler was proposed in 1969 as a solution
to the problem of programming error. It automatically checks at compile
time that a program meets its specification, not just once, but every
time it will ever be run.
Such a compiler is still far from a reality. But the state of the art
has made significant progress since 1969. I suggest that its
implementation and validation on realistic programs could now be
regarded as a Grand Challenge, comparable in scale and difficulty to the
recently completed challenge of decoding the human genome. Perhaps it
will require world-wide participation and take fifteen years.
Nowadays the embedded devices are becoming very popular. These systems
have a limited runtime memory and storage capacity, therefore compilers
should contain very effective code size reduction approaches.
In case of embedded systems the optimization of the code for low energy
consumption is very important aspect as well. In this presentation we give an
overview on our optimization work of GCC compiler for code size. Furthermore we present
an on-line benchmark tool (CSiBE) developed at the Department of Software
Engineering at the University of Szeged. This tool has been widely used by GCC developers
in their daily work to help keep the size of the generated code as small as possible.
Using illustrations from projects at Lockheed Martin and the UK National Health Service,
Allan Kennedy will show how the OMG's Model Driven Architecture supported by an executable
subset of the UML can transform software development into an industrial strength process in
which models are used to formalise both application knowledge and development knowledge and
from which entire implementations can be generated.
Software development is an expensive business. Exact and unambiguous system
description is key to successful software project. However the major part of
the budget is mostly spent on implementation activities. A precise system
description requires a solid and unambiguous description language. In the
model drive world system specifications are kept in models and the
description laguages are defined in meta-models.
The beginnig of our presentation will focus on OMG's (owner of the UML
specification) Model Driven Architecture (MDA) concept. We will show the main
parts of MDA's translation approach and its' industrial application through
the case study of an Ericsson product.
Models are capable to store any kind of hierarchical information. Hence MDA
does not scope only at software develpment but can give solution to other
issues of the business world.
It's clear that open source software has become mainstream, more widely
accepted, and unlikely to go away. But there still
remain large, important uncertainties. For example, when should
traditional information technology vendors modify their past software
development processes, to attempt to take advantage of this new
approach? And just how should new processes be undertaken? What roles
do other business functions have in such decision-taking and process
management? Also, what have the "early mover" software vendors been
trying, so far, and with what results? When and how should software
users and customers select free projects, rather than for-profit
suppliers? What recent changes in testing, intellectual property,
marketing, licensing, risk management, and other key activities have
occurred in the last few months by leading open source projects? Why,
and with what results? Should info. tech. professionals act to add open
source skills to their careers? If so, how best to do so? Will the
open source trend ever reach and deliver industry-specific ("vertical")
applications? Why or why not? A veteran U.S.-based open source
business consultant and lawyer, who has worked for 25 years in the
software industry, will addresses these changes, challenges, and
riddles, offering examples, action recommendations, predictions, and
hopefully some humor. (The speaker is an open source agnostic; this
session will neither advocate for or against open source.)"
Ingyenes-e a nyílt forráskód? Ha igen, akkor hogyan lehet rá bármilyen üzleti
modellt építeni? Ha nem, akkor miért mondják rá, hogy ingyenes? Egy újabb
hatékony marketingeszközről van szó vagy világmegváltó és korszakalkotó
"találmányról", ami megváltoztatja az informatikai életet? Kinek éri meg
egyáltalán nyílt forráskóddal foglalkozni? Az előadás a fenti kérdéseket
válaszolja meg, összpontosítva a nyílt forráskód professzionális
felhasználására, és a legnépszerűbb nyílt forráskódú szoftveregyüttes,
a Linux példáján világítja meg, hogy miért is előnyös a használata
nagyvállalatok, a kis- és középvállalati réteg, illetve a kormányzati,
önkormányzati szektor számára.
Az előadás célja a szabad szoftverek lehetséges előnyeinek bemutatása
a társadalmi érték megközelítésének szemszögéből. Az a társadalom működik
jól, ahol a 4 fő aktor - a kormányzat, a tudomány, a gazdaság és a civil
szféra - együttműködése minden irányból kielégítő és kölcsönös, azaz ezek
az elemek folyamatos interakcióban állnak egymással. Milyen szerepe lehet
a civil szervezeteknek és a nyílt forráskódú szoftvereknek a mindennapi
életet átszövő informatika világában a különböző - erősen eltérő összetételű
és szerkezetű - társadalmi rétegek informatikai írástudásának megteremtésében
és a digitális szakadék néven ismert jelenség csökkentésében, illetve
áthidalásában -, amikor a hátrányos rétegek társadalomtól való további
leszakadásának megakadályozása a cél?
A teoretikus áttekintés után sor kerül konkrét gyakorlati alkalmazás
ismertetésére a - civil szervezetek számára készített nyílt forráskódú
- Martus szoftver, illetve a közszféra és a civil szféra kapcsolódásának
bemutatására a kanadai GOSLING egyesület példáján keresztül.
Although most scientific and engineering disciplines view empiricism as a basic
aspect of their discipline, that view has not been the tradition in software
engineering. There is not the same symbiotic relationship between theory and
empirical study, each feeding the other for the evolution of the discipline.
This talk discusses of the role of empirical study plays in the understanding
and improvement of the software product and process. It offers an historical
perspective of the evolution of empirical methods and their application over
time and provides a wide ranging set of example application of empirical
methods to demonstrate various kinds of roles that empiricism can play. The
examples are taken from the author's own experience and include the use
empirical study to improve an organization's product quality and productivity
(NASA/Goddard), a series of experiments used to evolve a particular analytic
technique (software artifact inspection), and current work on evaluating the
effectiveness of various interventions for us in improving mission-critical
software, studying the relationship between development and performance of
high end computing systems, and the development of an empirically-based
repository of software practices.
Latest since 1979 we know the art of systematic approaches to testing software.
Luckily enough, in the safety relevant area professionals put the art of testing
into practice. The maturity in testing is very heterogeneous in the rest of the
software world. James Bach coined the term of "good enough software" and uses in
producing it the "good enough testing" framework. Unfortunately, most of the
companies in the real world have no criteria for consciously decide what is
"good enough testing".
In this talk I would like to point out major misinterpretations around testing
and discuss some principles valid for all testing in all application areas for
software. Principles, that shall guide managers of software development, software
developers and software testers likewise. Most of them you'll find in books and
articles, a few not. All together they provide a "good enough basis" for
organising and performing testing in a real world software company.
The evolution from coding to engineered software is reviewed. The most rapidly
growing area today is real-time and embedded applications. Here software is the
glue holding the pieces together but the pieces are often electro-mechanical
devices. This calls for the tight cooperation of engineers of virtually all
disciplines. Large and networked application systems cannot be designed and
installed without domain knowledge that is often beyond engineering expertise.
And in the case of small companies general business background is needed. Finally,
suggestions are discussed to align education with the above requirements.
Software evolution is the part of the software lifecycle in which
substantial new functionality is introduced into software. It plays
a prominent role in the software lifecycle, and the new development
techniques of incremental, agile, and extreme programming further
emphasize its role. The requirements volatility provides the
rationale for the increasing role of software evolution and these
new development techniques.
Software refactoring and incremental change comprise the core of
software evolution. While refactoring repairs the structure of the
evolving software, incremental change changes the functionality.
The mini-cycle of incremental change contains change request,
design, implementation, validation, and release. While incremental
change has been practiced since the beginning of software,
many interesting challenges are still open.
Napjainkban a nyílt forráskódú szoftverek egyre fontosabbakká válnak.
Sok nagy cég és hivatal támogat nyílt forráskódú projekteket, és sok
közülük használja is e szoftvereket a mindennapi munka során.
Következésképpen, ezek a projektek rohamosan fejlődnek és gyorsan nő
a méretük ezért a forráskód minőségét és megbízhatóságát tanulmányozni
és ellenőrizni kell. Különféle kódmérések igazán hasznosak lehetnek,
hogy többet megtudjunk a kód minőségéről és hibára való hajlamosságáról.
Az előadásban ismertetjük, hogyan számítottunk ki objektum orientált
metrikákat nagyméretű nyílt forráskódú szoftvereken (Mozilla, OpenOffice)
és bemutatjuk, hogy a metrikák alapján hogyan lehet előjelezni a forráskód
hibára való hajlamosságát.
This talk will provide a view of current software situation in
the Far East Asia, especially in Japan (and also China and Korea)
based upon speaker's more than 30 years experience in Japanese
software industry and international cooperation in the region.
At first, I will give an overview of the industry structure and the
relationship between industry, government and research community.
Then, I'll talk about current trends in several hot topic area such
as (1) software process improvement, (2) outsourcing, (3) embedded
system development, (4) open source software, (5) empirical software
engineering, etc. Also I'll introduce some of interesting R&D result
including the projects going on now at our laboratory.
Finally, I'll talk about the common social/cultural characteristics
of these Far East countries because software is a kind of cultural
product and deeply influenced by such a social factors.
The author will give an overview about his activity and IT project
experiences in China in the last 10 years. Main topic of this
presentation is to show, how certain IT solutions influence economical
and social development and which software solution could meet the
problems of the Chinese society and economy. This approach provides
an opportunity also for Hungarian companies to enter into the Chinese
software market.
Some application examples will be presented to demonstrate the differences
between European and Chinese requirements according to software solutions.
A szoftverfolyamat-fejlesztésnek egyik módja a modell alapú
szoftverfolyamat-fejlesztés, amely ismert, nemzetközileg kipróbált,
elfogadott és alkalmazott, irányított formát jelent.
Az előadáson, bevezetésképpen, a különböző folyamatfejlesztési
modellekről lesz szó, majd a világviszonylatban jelenleg egyre
nagyobb népszerűségnek örvendő CMMI (Capability Maturity Model
Integration) modell kerül részletes bemutatásra. Szó lesz a modell
elemeiről, a folyamatcsoportokról, egy adott érettségi szint
eléréséhez szükséges követelményekről.
A modell alapú szoftverfolyamat-fejlesztés és tanúsítás jelenleg egyre
inkább piaci szükségletté válik. Az európai, vagy a világ más táján levő
szoftvergyártók megkövetelik, hogy beszállítóik e modellek alapján szerzett
tanúsítással rendelkezzenek, ezért a magyarországi szoftvergyártóknak
létszükséglet e modellek ismerete. A CMMI alkalmazása Magyarországon csak
most van elterjedőben, s a hazai szoftvergyártóknak igen lényeges, hogy a
modell követelményeit megértsék, azokat saját környezetükben értelmezni
tudják, és tisztában legyenek egy CMMI alapján lefolytatott audit elemeivel.
Az előadás második felében a CMMI auditálásáról lesz szó. Bemutatásra kerül
egy, az önértékelést és hivatalos auditálást egyaránt támogató szoftver.
A szoftverek fejlesztésével foglalkozó szervezetek működésének javítására,
optimalizálására igen sokféle megközelítés ismeretes. Ezek jelentős része
különféle minőségirányítási rendszerekhez kapcsolódik (ISO, AQAP, CMMI).
Elterjedt megközelítés szerint a fenti rendszerek tanúsítása jelenthet
garanciát arra, hogy egy adott fejlesztéssel foglalkozó szervezet képes
egy adott minőség szintnek megfelelő termékek előállítására.
Ehhez a szervezetek általában formális szabályozásokat alkalmaznak.
A működés javításra vonatkozó megközelítések másik, napjainkban divatos
irányzata a formális szabályozások leépítését javasolja. Eszerint a
szoftverfejlesztés változó környezetben élő emberek együttműködésre
épülő kreatív tevékenysége, amely jellegénél fogva rosszul szabályozható.
Az előadás során bemutatjuk a kétféle megközelítés közti ellentmondások
látszólagosságát és példákat mutatunk a feloldásuk lehetőségeire.
Tapasztalati eredmények azt mutatják, hogy a szoftverkarbantartás
(szoftver továbbfejlesztés) költsége a teljes szoftver életciklusra
vett ráfordítás legjelentősebb tényezője. A gyakran több millió soros
rendszerek módosítása, új funkcionalitások hozzáadása, platform váltás
nagyon komoly kockázati tényezőt jelent a szoftver minősége szempontjából.
A rendszerek folyamatos tesztelése óriási költséget jelent és sok esetben nehéz
megbecsülni, hogy egy új verzió mikorra éri el azt a minőségi szintet, amikor
már átadható a felhasználóknak. A szoftverminőségi kutatások egyértelműen
igazolták, hogy szoros kapcsolat van a forráskódból származtatható minőségi
mutatók illetve a szoftverek karbantarthatósága, hibára való hajlamossága
között. Az előadás áttekintést nyújt a forráskódból származtatható szoftver
minőségi mutatókról, továbbá bemutatásra kerül egy olyan rendszer, ami alkalmas
nagy rendszerek minőségi mutatóinak folyamatos monitorozására.
Mobilhálózati eszközök fejlesztésekor a megbízhatóság az egyik
legfontosabb szempont. Ez kihat a teljes fejlesztési folyamatra
a követelmények kezelésétől a szoftverfejlesztésen keresztül a
tesztelési fázisokig. Az előadás áttekinti a Nokia budapesti R&D
központjában alkalmazott módszereket és eszközöket melyekkel olyan
hálózati elemeket fejlesztünk melyek évente átlagosan maximum 2
percet állnak szoftverhiba miatt.
Embedded sensors are now ubiquitous. They can be found in a diverse range of
appliances, from mobile phones to smoke alarms, from refrigerators to trucks.
Enabling these systems to communicate opens up new areas of applications:
smart buildings, industrial automation, healthcare, power distribution and
host of others. Some of the applications will result in a more efficient,
accurate or cost effective solution than previous ones. Others will be new,
previously unimagined or impossible. We are in the middle of a major
technological revolution that will affect many aspects of our lives, and
Europe is well placed to be at the forefront of exploiting this technology.
Moving to this exciting new technique in system development necessitates a
common language for all systems. Without this, we risk repeatedly
're-inventing the wheel' at a high cost in money and effort, and we
compromise the inter-operability of sensors between applications.
The RUNES project has a vision to enable the creation of large-scale, widely
distributed, heterogeneous networked embedded systems that interoperate and
adapt to their environments. The inherent complexity of such systems must be
simplified for programmers if the full potential for networked embedded
systems is to be realised. The widespread use of network embedded systems
requires a standardised architecture which allows self-organisation to
suit a changeable environment.
RUNES aims to provide an adaptive middleware platform, a common language
that will simplify the application creation process. This will allow for
a dramatic cut in the cost of new application development and a much faster
time to market, transforming applications which are already technically
possible into forms that are easy and straightforward for designers to use;
and enabling applications which were previously unattainable. The project
will also examine the potential uses and implications of the technology,
develop demonstrator systems and design training courses to aid in
dissemination of RUNES technology.
Elosztott komplex rendszerek fejlesztésekor, így a RUNES projekt kapcsán is,
előtérbe kerülnek a modell alapú fejlesztési módszerek. A sok szakterületet
átfogó rendszer specifikussága és az UML alapú fejlesztés általánossága
közötti ellentmondás meta-programozási architektúra alkalmazásával oldható
fel. Meta-modellezés alkalmazásával szakterület-specifikus nyelveket
készíthetünk, melyek meta-generátorok által támogatott fordítókprogramokkal
szakterület-specifikus platformokra képezhetőek le. Egy ipari környezetben
is többször alkalmazott meta-programozható eszköz a GME (Generic Modeling
Environment), melyet a RUNES projekt kapcsán elosztott hiba-tűrő komponens
alapú rendszerek tervezésére használunk. A RUNES komponens rendszer
reflexivitását és futási idejű újra konfigurálhatóságát kihasználva
garantálható, hogy az aktuális rendszerkonfiguráció mindig eleget tegyen a
meta-model szabályainak. Az általunk fejlesztett u.n. Deployment Tool
segítségével nagy megbizhatóságú rendszerek leállítás nélküli modell alapú
fejlesztése és karbantartása is biztosítható.
Service Oriented Architectures are an approach to implementing flexible
software that implements business functions, and composing individual
services into composite SOA solutions. Web service standards enable
interoperability between SOA applications, infrastructures and tools.
Most literature on SOA and Web services focuses on interoperability and
interfaces, and neglects guidance on the implementation of services.
This presentation will provide a short overview of SOA and Web services.
The focus will be on new concepts that differentiate SOA from previous
approaches to distributed computing. After setting the context, the
presentation will focus on the details of implementing services and
composing services.
The topics will include
An emerging component model for service implementations
The use of policy and declarative specification of requirements
for transactions, security, etc
Well-defined "styles" for implementing services
The emergence of patterns
We will close with a discussion of the relationship between SOA and
event driven architecture, and between SOA and business
process/performance management.
The dependability of in large-scale networked applications becomes to a
crucial factor due to rapidly increasing complexity of e-Business software
systems. On-line financial co-operation, production control and the control
of utility infrastructures are typical representatives of such applications
in which the risk of malfunctions or down times have to be reduced due to
their critical impact on the end users.
The dominant design paradigm for specifying and creating large scale
applications is recently MDA (Model Driven Architecture). As the design
process of MDA produces a precise model of the target application, a unique
chance is given to use mathematical techniques to prove the correctness of
the design. Moreover, they facilitate an analysis of the impacts of a large
set of anticipated faults in the operational environment and and/or the
run-time platforms. The main advantage of such an approach is that it can
perform an exhaustive analysis of all the different scenarios even prior to
the implementation and supports the reinforcement of the system in order to
improve its robustness.
The same principle can be reused for already existing applications.
Dependability consolidation is a novel solution that includes in-depth
analysis of business systems and their technology infrastructure for
identification of risk areas. Results include the generation of precise
metrics to quantify the risk and definition of solutions that minimize
risk. Through dependability consolidation customers can move from "good enough"
environments to levels where dependability is accurately quantified and risks
are lowered to levels established by the customer's objectives. Uncertainty is
eliminated and risks reduced based on formal ROI criteria.
Archivum:
18. Software Development and Service Outscourcing Tasks
In recent years offshoring in the software business has become a key
factor in competitiveness. Only by having excellent processes and the
ability to manage distributed projects can we reach our goals and
achieve high quality software with reasonable costs.
The presentation will deal with the emergence of PSE as a global
operating software service supplier and the structure of PSE as a
distributed organisation operating in more than 20 locations in 8
countries.
Software excellence is a basic prerequisite to be successful in the
software business; therefore, it is necessary to ensure it and to
continuously work on it. Excellence is always based on the achievements
of individuals. Achieving excellence throughout an entire organization
requires additional actions and facilities, which must add up to form
an end-to-end system. How this was established at PSE will be shown
with some examples.
Finally, the presentation will focus on some offshoring experiences,
especially in managing distributed software projects: trying to reduce
project costs by using resources from locations with lower labour costs
without lowering quality standards.
Results of a study made at PSE dealing with the correlation between
different collaboration models of project teams and the resulting
total project costs will be explained.
A new generation of general models referring either to IT or Internal Control
- like COBIT or COSO - is extended with an executive management perspective.
Practice shows, this opening solely is not enough to reach a breakthrough,
since models became so complicated that they could only be applied with
difficulties. The best catalysts of improvement programs are the mandatory
rules being issued, mainly from the financial reporting area. The
Sarbanes-Oxley Act for US SEC registrants and its affiliates and the 8th
Directive on company Law in the EU require strict internal control of
reporting processes. In this paper we concentrate on the successful
application of these rules in a situation where IT enabled services
have a major effect on the compliance of the user organisation. We
investigate the effects of high maturity level on compliance for both
the service and the user organisations. The paper refers to the
applicability of the well-known capability models CMM, eSCM and some
other sources like COSO, BSC and SAS 70. For presenting implementation
practices of the general risk based control model via key control
processes, effectiveness measurement and innovative technologies were
used, including the knowledge management platform created in former
Software Process Improvement experiments.
Complete Formal Verification of a Computer System is a way to measure,
whether 0 (in words: zero) design errors are left in a computer system:
one produces a machine readable proof that the design of the system meets
its specification, and one uses the computer to check, that
the proof has no gaps. Due to recent progress in the field of formal
verification (some of it in the German Verisoft project) it is today
believed, that the complete formal verification of medium sized
industrial software is possible with economically bearable effort. We
give an overview of what is possible today and what we expect to happen
during the next three years. We will focus on software closely related
to operating systems.
In the safety-critical application domain the importance of programs that
are proven correct is increasing. For example, applications that make use
of mobile code technologies are especially vulnerable against malicious or
accidentaly erroneous mobile software components. We have designed a model,
Certified Proved Property Carrying Code, to facilitate the verification of
the correctness of mobile components. This architecture enables the safe
transmission of provably correct mobile code.
We propose lightweight and heavyweight methods to address formal reasoning
about programs written in functional languages. A lightweight method is
applicable by average programmers, while a heavyweight method is intended for
experts. We also consider to realize these methods in mainstream languages
such as C++ and Java.
A szoftverfejlesztéskor alkalmazott paradigmák folyamatos fejlődését
tapasztalhattuk az elmúlt 50 évben, az automatikus programozástól az
objektumelvű programozáson át, a ma elterjedőben levő generatív
technikákig. Ugyanakkor egyes paradigmaváltások magukkal hozták az
éppen használatos szoftvermetrikák cseréjét is. Könnyen belátható
ugyanis, hogy az egyes paradigma-specifikus metrikák gyakran
torzítanak, ha új elvekre épülő szoftvertermékre alkalmazzák őket.
Az előadás során bemutatjuk az egyes paradigmák és metrikák
kapcsolatát, és felvázoljuk a lehetséges jövőbeni irányokat is.
Annak ellenére, hogy Tom DeMarco elhíresült mondata - "You can't
manage what you can't control, and you can't control what you don't
measure." - rámutatott a szoftverek, mint termékek mérésének
szükségességére, az iparban alkalmazott minőségbiztosítási
metodológiák a mái napig a teszteléseken alapulnak. Amellett, hogy
ezek az eljárások igen költségesek, a kód-minőséggel kapcsolatos
hibák utólagos kezelésére alkalmasak csupán. Ezzel szemben a
forráskód alapú metrikák használatának segítségével lehetőség nyílik
a rendszerben lapuló veszélyek korai feltárására és megelőzésére is,
ezáltal kézzelfogható karbantartási költségmegtakarítás érhető el. A
metrikák változásának folyamatos mérésével és monitorozásával a kód
egyes számszerűsített minőségi jellemzőjének időbeni változása
nyomonkövethető, az esetleges negatív tendenciák felfedhetők és a
megfelelő intézkedések foganatosíthatók. Az előadáson bemutatjuk,
hogy nagyméretű objektum-orientált rendszerek esetén milyen
kód-minőséggel kapcsolatos következtetésekre juthatunk forráskód
metrikák segítségével.
The market needs more and more systems having the high-availability characteristics.
The leading industrial players have launched several professional alliences for the
standardization of the high-availability architectures, like the Service Availability
Forum and the SCOPE-Allience. In the lecture I will highlight the motivations for
creating those societies. The so called 'carrier-grade' requirements (the term has
its origins in the telecommunications industry) form the base for the further
standardization of the high-availability architectures. Several examples from the
Ericsson will illustrate the concept. The SCOPE-Allience gives more emphasis to the
middleware aspect and also try to focus on the virtualization as a technology
supporting the fulfillment of the pressing requirements on the time-to-market and
cost of development. The achieved results and the open issues will be discussed finally.
Service Availability Forum (SAF) is a leading organization in publishing open
specifications for Highly Available (HA) systems. Its Application Interface
Specification (AIS) is a widely accepted standard for application developers.
Conformance to the standard is one of the most important quality metrics of AIS
implementations. Authors present their recent results on testing available AIS
products (e.g. OpenAIS). These results show that adequate level of conformance is
not always achieved, and thorough testing is very important. This is why it is
reasonable to create a supporting framework for investigating implementations
advertised as AIS-conform ones. Authors also present a TTCN3-based testing
environment which enables the developers to automatically test diverse AIS
implementations.
Every so often, a software development project is so exciting and rewarding that
the team members talk about it for years to come. Unfortunately, however, these
exciting and rewarding projects are the rare exception. All too often, our projects
turn into exhausting slogs through a seemingly endless swamp of test defects while
management keeps pushing us to accelerate the work. In this talk, Watts Humphrey
talks about ideal jobs and the characteristics projects must have to be viewed as
ideal. He also describes why such projects are rare and what can be done to turn
almost any project into an ideal one. Many organizations are now using the Software
Engineering Institute's Team Software Process (TSP)SM to transform their own working
environments and to achieve the greatly improved development performance that results
from ensuring that developers have projects that approach this ideal. In closing, he
briefly summarizes the steps required to achieve these results and what organizations
can do to learn about and to capitalize on these methods.
Hungarian software companies experience more and more the requirement of producing
"certified software", as a condition for staying in the market. ISO 9001:2000 is still
the most used quality approach, but product-oriented quality approaches are also
sometimes used, and CMMI® is starting to become a popular, "trusted" SPI model in
Hungary. However, companies face certain (typical) challenges while implementing
product-oriented approaches and CMMI®.
In the last years, Hungarian Government and EU founded at least 3 projects connected
entirely or partly to the subject of software quality, software certification. One
common goal of these projects was to make software quality concepts, models,
certification more popular in Hungary, and to establish and maintain the activity of
research and development centers, in order to ensure an ongoing cooperation between
software industry and academic sphere.
The presentation uses the results of the 3 mentioned R&D projects to point out the
actual experience of Hungarian software companies in SPI. Motivation, drivers and
benefits are shown, as well as the basic difficulties companies face. Regarding
CMMI®-usage, the presenter shows the PA's that are easily implemented by Hungarian
software companies, and the ones that cause difficulties in most cases.
There are several very successful software companies around the world creating different kinds
of software solutions. However, as they grow larger, the need for software process improvement
program will increase and sooner or later some actions will be taken to optimize their work.
Sometimes they do this based on their own ideas, sometimes they use a common, internationally
accepted reference model developed by many others, but even so, unfortunately the results are
not always as good as expected.
This presentation shows the introduction of CMMI at one of the biggest Hungarian software
company, how could they reach level 3 (SPA - Siemens Process Assessment), how did they set up
a project for this and how they executed it. The speaker talks about the risks and problems
during this project, summarizes the results and experiences and tries to show the most
important benefits of it. He also talks about the changes in project controlling, cost and
resource planning, and predictability at the company. Hopefully, this can help the others
to prepare for a similar challenging project at their organization.
Az egymagos processzor architektúráknak az órajel növekedésével drasztikusan nőtt az
energiafelvételük. Ez az utóbbi években átlépett egy olyan szintet (~150W), hogy a hűtési
költségük elviselhetetlenné kezdett válni, azaz a hagyományos úton való továbbfejlesztésük
megtorpant. A további fejlődést rövid távon a sokmagos architektúrák elterjedése jelenti
majd várhatóan, ami viszont mind hardveres, mind szoftveres szempontból gondolkodás mód váltást
igényel.
Előadásomban felvetem az egymagos processzorok energia felvételéi problémájának okait, bemutatom,
hogy miért szerencsésebb sokmagos processzrokat alkalmazni, illetve áttekintem a jelenlegi
sokmagos processzor architektúrákat, illetve felvázolom azok várható fejlődési trendjeit.
A modellezés a mérnöki diszciplínák egyik alapvető eszköze. Az objektumorientált programozás új
modellező nyelveket hozott magával, amelyek az Unified Modeling Language (UML) modellező nyelvben
mintegy összegzésként jelentek meg. Az UML megjelenése óta felhalmozott tapasztalatok új fejlődési
irányokat nyitnak a modellezés technikájában, amelyeknek legígéretesebb megközelítései az iparban
is egyre inkább alkalmazott szakterület-specifikus modellezőnyelvek (Domain-Specific Modeling
Languages, DSMLs).
Előadásomban bemutatom a szakterület-specifikus nyelvek jelentőségét, gyors létrehozásának
módszereit, és a feldolgozásuk lehetőségeit. Az ismertetés során különös hangsúllyal szerepelnek
az eszköztámogatás és az ipari alkalmazhatóság kérdései. Végül az új hardverarchitektúrákhoz való
alkalmazkodás és a várható fejlődési irányok bemutatása zárja az előadást.
In the first part of the talk, we motivate and describe abstract state machines.
Modeling plays fundamental role in sciences, and no science is possible without modeling.
Physics for example uses partial differential equations for modeling. What are the PDEs
of computer science? We offer abstract state machines for the role. The ASM theory tells
us that every computation, on any level of abstraction, can be step-for-step simulated by
an ASM. This makes ASMs appropriate for specifying software, which is supported by
experimentation. (The ASM theory was also used to solve some long-standing problems of
computation theory.) In the second part of the talk, we describe an ASM-based project
at Microsoft and how the social structure of Microsoft influenced the project. A number
of artifacts were developed in the course of the project. A specification language AsmL
and an AsmL-based tool AsmLT made writing good-sized specifications practical. Spec#
was conceived as a version of AsmL in the tradition of the C family of programming
languages but then branched off into a different direction. AsmLT evolved into a
more advanced SpecExplorer that eventually left Research and is used in Microsoft
for specification and model-based testing.
In a typical software development process of dependable embedded systems (such
automotive or avionics systems) a large variety of development tools from different
vendors are used in order to deliver a proven quality of service. These tools include
support for requirements capturing, system modeling, resource allocation, verification
and validation, etc. Due to this large variety, the integration cost of such tools are
comparable to the cost of the actual tools themselves.
Model transformations are primary means to efficiently drive and automate integration
between different tools. The internal representations of the tools are captured as
models, while the interrelation of such models are specified by some kind of model
transformation rules. In case of critical systems development, the model transformations
themselves need to be precisely defined. The VIATRA model transformation framework,
developed at the Budapest University of Technology and Economics, is an official part
of the Eclipse GMT subproject. It provides a well-founded language to build such bridges
between tools by combining the formal paradigms of abstract state machines and graph
transformation into an intuitive yet precise notation.
In my talk, I will provide a brief introduction to the transformation language of the
VIATRA framework, and present some success stories about applying VIATRA model
transformations in tool integration within the Eclipse framework.
Software engineers today have faced to a challenge of improving continuously their processes
in order to meet customer requirements and organization's business objectives by producing
high quality software product within expected schedule. After reviewing the software engineering
in Japan since 1980s, we describe the criteria for a "proper" process which software engineers
can use reliably and repeatedly allowing them with full fidelity. Now with many experience
reports made based on the PSP and TSP, developed at the SEI/CMU, they should be considered as
such proper processes. Particularly the PSP/TSP measurement frameworks are the basis of the
continuous improvement that software engineers need in planning, executing, and controlling
individual, project, and organizational levels of works, the quality of the works, the project
results at completion, and the associated business objectives in the integrated way. You will
find that the software engineers will be able to overcome the challenge. Justification of the
cost of the introduction and use of the PSP and TSP for your work is important and covered in
this talk. This depends on the performance of engineers who take the PSP education and training.
The actual performance data obtained from the classes of professional software engineers and
fresh engineers, just graduated from master engineering schools, show strong support for shorter
ROI period.
Finally, about future with using the PSP and TSP will be explored a little bit. Especially a
global project management is an interesting topic which activities are spread over many
individuals and at many locations. We will see that software engineers will get their human
lives back in their own hands respectively reasonably easily.
The commercial availability of multi-core, multi-threaded computer
architecture has spurred significant activity in software design,
development, and programming methodologies that can accommodate highly
parallel and distributed systems. Methodologies that aid in implementing,
testing, deploying and maintaining reliable, secure, and adaptable systems
are widely under investigation in the software community. In this talk, I
will explore advances in biologically inspired computing models. Although
these advances are not commercially available, they provide a basis for
highly parallel system with these characteristics. An interesting question
is, "Where is the software in such systems"?
Dezső Sima (Budapest Tech, John von Neumann Faculty of Informatics)
Abstract:
Transistor densities of ICs continue to double about every 24 month,
following Moore's more than 40 years old law. On the other hand, utilizing
surplus transistors for more complex superscalar cores or larger L2 or L3
caches lead to diminishing returns in performance. As a consequence, the
emergence of the era of multicores with steadily increasing number of cores
became inevitable.
Nevertheless, multicore processors evolve along many diferent paths, giving
birth to quite distinct classes of multi- and manycore architectures, such
as conventinal homogeneous multicore processors of Intel's flavour,
heterogeneous multicore processors, like IBM's Cell BE, manycore terascale
processors, like Intel's Larrabee or the Tiled processor or even GPUs with
hundreds of cores, like AMD/ATI's or Nvidia's newest processors. The talk
aims at giving an overview of all these different approaches to utilize
multiple cores in a processor.
Archives:
28. Application Development for Modern Mobile Devices
A mobil platformokra történő szoftverfejlesztés előtérbe került az utóbbi
5 évben. A BME Automatizálási és Alkalmazott Informatikai tanszékének mobil
csoportja az egyetemen kívül és belül számos fontos eredményt ért el. Az
előadás keretében alapvetően a mobil csoport az oktatási, fejlesztési és
kutatási tevékenységéről számol be, kihangsúlyozva az ipari kapcsolatok
fejlődésbeli szerepét. A 2004 évben indított BME Mobil Innovációs Központ
életében a csoport fontos szerepet játszik, amelyre az előadásomban
röviden kitérek.
A Java ME és a Google Android platformokban rejlő lehetőségek. Napjainkban
a mobil készülékek rendkívüli mértékben fejlődnek. A mai mobiltelefonok
tulajdonképpen kis számítógépek, melyek képesek akár összetett alkalmazások
futtatására is. Mobil készülékek esetében a platformfüggetlen
alkalmazásfejlesztés lehetősége még inkább fontosabb, hiszen ha egy
alkalmazást elkészítünk, akkor szeretnénk, hogy az a készülékek minél
szélesebb skáláját támogatja. Fontos kiemelni azonban, hogy alacsonyszintű,
készülékspeifikus funkciókat általában csak egyenként, az adott platformokra
tudunk megvalósítani.
Az előadásban beszélünk a platformfüggetlenséget biztosító Java ME platform
képességeiről, valamint bemutatjuk a Google Android platformot és
különlegességeit, mely egyike a legújabb mobil platformoknak. Az előadás
keretében több érdekes alkalmazást is bemutatunk az elhangzottak
alátámasztására. Többek között élő demóban megmutatjuk, hogyan használhatjuk
mobil telefonunkat mozgás- és hangérzékelésre, illetve miképpen vezérelhetünk
mobiltelefonunkkal kis robotokat, vagy akár egy szökőkutat is. Ezen kívül
megmutatjuk azt is hogyan használhatjuk a készülék helymeghatározásra alkalmas
eszközeit szociális hálókban. A demók az előadás után kipróbálhatóak!
Az okostelefonok a számítógépnél személyesebb eszköznek tekinthetőek, hisz
mindig a felhasználójuknál vannak, gyakran még éjszakára is bekapcsolva. A
készülékek képességeinek fejlődésével együtt ez a tény azt jelenti, hogy az
okostelefonok jelentik az ideális platformot a legkülönbözőbb szociális
hálóra épülő alkalmazások számára. Az előadás során bemutatunk több eltérő
szemléletű és célú, tipikusan mobil környezetbe szánt alkalmazást, amely a
szociális hálók koncepciója köré épül, és az utóbbi időkben elérhetővé vált
technológiákra épít.
A Peer-to-peer rendszerek már jó pár éve jelen vannak a számítógépes hálózatok
és szolgáltatások porondján, mobil megvalósításukról azonban csak az utóbbi
időben hallhattunk. A BME Automatizálási és Alkalmazott Informatika Tanszékének
mobil kutatással foglalkozó csoportja az utóbbi években élen járt a mobil P2P
kliensek megvalósítása terén: a világ első mobiltelefonokon futó Gnutella és
BitTorrent protokollt alkalmazó fájlcserélő klienseit itt fejlesztették. Az
előadás a P2P rendszerek rövid áttekintésén, mobil környezetben való
felhasználhatóságán kívül élőben is bemutatja az említett alkalmazásokat,
kitérve a technológiák jelenlegi előnyeire és korlátjaira. Mikor érdemes P2P
rendszereket használni? Van-e létjogosultsága a P2P rendszereknek mobil
környezetben? Pár kérdés azok közül, amelyekre az előadás megpróbál választ
adni. Mindezek mellett megpróbáljuk eloszlatni a P2P rendszerek körül kialakult
tévhiedelmeket (P2P = illegális fájlcserélés).
The main topic of this presentation will be requirements-based system testing.
It will be demonstrated how in different test projects test cases were extracted
from the requirements text in German and English, how a test design was made with
XML and how the test cases were transformed into live test data. Then, it will
be shown how the test results were verified. The test projects for testing a web
application at the Austrian chamber of commerce, testing the Web-portal of the
state of Saxony, and testing the web services of the BET&Win company will be
discussed. Finally, the experience from these projects will be reviewed, and the
costs and benefits of testing will be discussed.
A statikus analízis egyik fő feladata, hogy a kód futtatását, tesztelését megelőzően
olyan hibákat találjon a kódban, amelyeket a tesztelés során nem biztos, hogy meg
lehet találni, és amelyek komoly problémákat okozhatnak a későbbiekben. Ismert tény,
hogy a hibák korai fázisban való megtalálása rendkívül költséghatékony, ezért nem
véletlen, hogy egyre többen használnak statikus analizátorokat a fejlesztésben. A US
National Institute of Standards and Technology 2002-ben elvégzett felmérése szerint
a már használatban lévő szoftverben felfedett hibák javítási költsége
tízszerese-harmincszorosa a kódanalízis során felfedett hibák javítási költségének.
Korábban a statikus analizátorok csupán a kódolási szabályok betartatását segítették
elő. Napjainkban már lehetőség nyílt nagy szoftverekben lévő memória, nullpointer,
inicializálási, és sok más egyéb hiba, illetve probléma megtalálására. Szintén
lehetőség nyílt a szoftverhibák helyének gyorsabb megtalálására a statikus analízis
alkalmazásával.
Az előadás bemutatja a modern statikus analízis lehetőségeit, funkcionalitását,
kiértékelési lehetőségeit és kiválasztásuk szempontjait.
Az előadás bemutatja Szoftvertesztelés, mint szakma helyét a világban és a tesztelést,
mint önálló diszciplinát és karrirerlehetőséget. Szó lesz az ISTQB történetéről,
hátteréről, küldetéséről, a szervezet felépítéséről és működéséről, valamint a HTB
felépítéséről, működésének céljáról Magyarországon.
Archives:
30. Software and Services
Broadcast:
Content:
Szoftvertechnológiai Fórum következő alkalma a szokásoktól eltérően nem egy konkrét
szoftvertechnológia téma köré csoportosul, hanem "Szoftver és Szolgáltatások" címmel
szinte az egész szoftverfejlesztés folyamatát átfogó stratégia kutatási terv
ismertetésére és szakmai vitájára ad lehetőséget. Az érintett témák
(Folyamatmenedzsment, Interoperalibitás, Architektúrák, Szoftvertechnológia,
IT biztonság, Szoftverminőség) közül már több szerepelt a Fórum korábbi programjában,
azonban így együtt - áttekintve az adott területek fejlődési tendenciáit és megoldandó
problémáit - várhatólag egy különösen hasznos rendezvényt biztosít a résztvevők számára.
A rendezvény első részében két prezentációra kerül sor. Az első előadás a "Magyar
e-közigazgatás modernizációja az információtechnológia alkalmazásával" címmel az
alkalmazási terület szemszögéből, a második előadás a "Szoftver és Szolgáltatások
Nemzeti Technológiai Platform Stratégiai Kutatási Terve" címmel a technológia
szemszögéből foglalja össze a NESSI-Hungary szakmai elgondolásait. A rendezvény
második részében a Fórum résztvevőinek lehetősége nyílik arra, hogy a stratégiai
kutatási tervet kidolgozó Platform szakmai vezetőivel kerekasztal beszélgetés
formájában megvitassák az adott területek legizgalmasabb problémáit.
A Szoftver és Szolgáltatások Nemzeti technológiai Platform, (NESSI Hungary) 2007-ben
alakult azzal a céllal, hogy a szakterületen működő különféle szervezetek (ipar,
tudomány, felhasználók, szabályozók) közös érdekeit tükröző stratégiai kutatási
irányokat határozzon meg, és azokat támogató szakmapolitikai döntéseket katalizáljon.
A platformnak jelenleg mintegy 90 szervezet a tagja. 2008-ban a Nemzeti Kutatási és
Technológiai Hivatal (NKTH) által kiírt pályázaton a platform 35 MFt-os támogatást
nyert el egy kétéves program végrehajtására. Ennek során három alapdokumentumot
(Jövőkép, Stratégiai kutatási terv, Megvalósítási terv) dolgoz ki.
Az előadás rövid tartalma:
A NESSI-Hungary bemutatása
A Stratégiai kutatási terv kidolgozásának menete
A platform jövőképének fő megállapításai
Az IT szolgáltatásfejlesztési stratégia alapelvei, nyitott kérdések
Fő kutatási területek és feladatok a munkacsoportok elemzései alapján
Szeberényi Imre (Business Process Management) Kondorosi Károly (Interoperability) Török Tamás (Architectures) Charaf Hassan (Software Technology) Suba Ferenc (IT Security) Tibor Gyimóthy (Software Quality)
Abstract:
A Fórum résztvevőinek lehetősége nyílik arra, hogy a stratégiai
kutatási tervet kidolgozó Platform szakmai vezetőivel kerekasztal beszélgetés
formájában megvitassák az adott területek legizgalmasabb problémáit.
Before software can be designed one must have a firm grasp of its requirements - and
before requirements can be expressed one must have a firm grasp of the (application)
domain.
In this talk we show how to express such a firm understanding of domains and how to
"derive" major parts of requirements systematically from a domain description.
Our running domain example will be that of a transport net (whether of roads, rails,
air lanes (and airports) or sea lane (and harbours). We will show both English
narratives and formal specifications. We shall model such concepts as the intrinsic
of domains, their support technologies, rules and regulations, scripts, management
and organisation an human behaviours. In going on to requirements we shall illustrate
such domain requirements constructions as projections from domains, instantiations,
determinations and extensions of of domains, etc.
Domain descriptions shall help ensure that the customers get the right software:
software that meets their expectations by offering exactly the facilities they want and
only those. Systematically derived (also formally derivable) requirements prescriptions
- and from these formally derived software design help ensure that the software is right,
that is, correct.
In a few words at the end of the talk we shall mention how such project management
issues as CMM's process assessment and process improvement have strong bases in this
new approach to software engineering.
A formális módszerek matematikai alapokon nyugvó eszközök szoftver és hardver rendszerek
specifikációjára és fejlesztésére. A formális módszerek használata különösen terjedésnek
indult, a különböző biztonságkritikus és a bizonyíthatóan helyesen működő rendszerek
iránti igény növekedése miatt, mivel ezen eszközök használatával a rendszerek
megbízhatóságát, robusztusságát és biztonságosságát lehet matematikai eszközökkel
ellenőrizni és bizonyítani.
A B módszer egy szigorú értelembe vett formális módszer, amely szoftverkomponensek
specifikációjára, tervezésére és megvalósítására szolgál, használatával lehetséges
feladatokat absztrakt gépekként specifikálni, finomítani, implementálni majd futtatható
kódot generálni és a rendszer helyességét bizonyítani.
A B módszer használatát, fejlesztő és helyességbizonyító környezet segíti. A B módszert
több biztonságkritikus ipari alkalmazásban is felhasználták. Ismertebb alkalmazásai:
a párizsi 14-es vezető nélküli metrója, a Paris-Roissy repülőtér automatikus járművei,
valamint a chipkártyák.
Az eVITA Nemzeti Technológiai Platform életvitelt segítő infokommunikációs technológiák és alkalmazások kérdéseivel foglalkozik. Ezek közül a legfontosabbak az egészségtudatos életvitel elősegítése, valamint az egyedül élők önállóságának és biztonságának növelése.
A Platform Stratégiai Kutatási Terve (SKT) a következő négy területet jelöli meg: (1) otthoni és lakáson kívüli felügyelet, (2) terápiakövetés- és támogatás, (3) egészséghiányok, fogyatékok pótlása, (4) egészségmegőrzés és -fejlesztés. Ezeken a területeken infokommunikációs eszközök alkalmazásával javítható az egészség által befolyásolt életminőség és csökkenthetők az egészséghiányból eredő egyéni, családi és társadalmi terhek.
Az előadás bevezető részében ismertetjük az eVITA Platform eddigi eredményeit, köztük az SKT-ban megfogalmazott kutatás-fejlesztési és innovációs prioritásokat, majd összefoglaljuk azokat a rendszer- és szoftverfejlesztési tapasztalatainkat, amelyeket eddigi életviteli-informatikai projektjeink megvalósítása során szereztünk.
A vizsgált rendszerek fő funkciója a napi tevékenységekre jellemző, illetve a vitális adatok monitorozása és feldolgozása.
Az Emerge, a BelAmi és a Silvergate-112 projektekben a Java alapú OSGi keretrendszert alkalmaztuk a tipikusan soros adatátvitelt használó eszközöktől érkező adatok fogadására és előfeldolgozására. A CCE projektben a processzek közötti kommunikációt segítő D-Bus rendszert használjuk az alkalmazások közötti kapcsolatok megvalósítására. Életvitelt segítő rendszerekben különösen fontos az adatvédelem, amit virtuális magánhálózat (OpenVPN) kialakításával érünk el. Lényeges a rendszerelemek távfelügyelete is, amit elterjedt hálózatfelügyeleti és adatmegjelenítő eszközökkel (Nagios, Cacti) oldunk meg.
Említett projektjeinket a magyar Nemzeti Kutatási és Technológiai Hivatal, az európai AAL Közös Program, a német Szövetségi Oktatási és Kutatási Minisztérium, valamint az Európai Bizottság 7. k+f keretprogramja támogatta, illetve támogatja. Köszönet illeti a projektekben részt vevő külföldi és hazai partnereinket, akiknek az eredményeit az előadásunkban felhasználjuk.
Az egészségügy helyzete közismerten ellentmondásos, a szereplők általános megítélése szerint hatékonysága igencsak fejlesztendő. Korunk informatikai eszközei, elkészült fejlesztései messze-messze meghaladják az érzékelhető valóságot. Egyrészt találkozunk modern, távolról vezérelhető, mesterséges intelligenciával felszerelt képalkotó készülékkel, amelyek kialakításába hatalmas erőforrások vesznek részt, másrészt ismert probléma például, hogy a labor adataikért sokan akár kétszer, háromszor is több tíz kilométert utaznak, hogy kezelőorvosaiknak eljuttassák. Ez óriási probléma abban a korban, amikor gyakorlatilag bárhol az országban elérhető az internetes adathordozó közeg, az adatátviteli sebesség alkalmas akár arra is, hogy filmeket tudjunk a mobil eszközeinken megnézni.
Az informatikai kihívásra az ipar már nagyon régen tudja a megoldást, szállítja is a különböző fejlesztéseket. Manapság jutottunk el oda, hogy a célközönség (orvosok, egészségügyi intézmények, állami irányítás, de elsősorban a lakosság!) számára minden szempontból kielégítő megoldással szolgálhatunk és ezen végfelhasználók befogadóak ezen megoldásokra.
Előadásomban bemutatom, hogy az általunk fejlesztett MedComForm egészségügyi adatkommunikációs rendszer miként tud megfelelni egyszerre a végfelhasználók elvárásainak, a vonatkozó adatvédelmi és egészségügyi szabályzásnak és a modern felfogású, win-win helyzeteket teremtő üzleti kihívásoknak.
Mary Shaw Institute for Software Research, Carnegie Mellon University
Abstract:
The conventional wisdom of software engineering holds that software systems are developed by software professionals, that they have knowable (if evolving) requirements, that project managers control system configurations, that results can be computed directly, and that the systems can, at least in principle, be validated.
In fact, this conventional wisdom fails to account for much of the software that permeates everyday life. For example, the social and economic success of the Web arises from the proliferation, evolution, and interaction of applications, information, and services that have been independently created by diverse stakeholders -- especially by people who are not professional software developers.
We will explore the ways in which the conventional wisdom falls short and the corresponding new research opportunities this suggests for software engineering.
Az előadás bemutatja a Mobilitás és Multimédia Nemzeti Technológiai Platform 2009-ben készített stratégiai kutatási tervét, amely a mobil- és új média technológiákkal kapcsolatos területek kutatás-fejlesztési és innovációs potenciáljának erősítésére tesz javaslatokat. A stratégiai kutatási terv a szegmens helyzetelemzése alapján középtávú -- a következő évtizedre vonatkozó -- jövőképet vázol föl, azonosítva azokat a K+F+I területeket, strukturális feltételeket és szakpolitikai programokat, amelyek együttesen növelhetik a szegmens üzleti eredményességét és tőkevonzó képességét.